Web Services: Difference between revisions

From DataFlex Wiki
Jump to navigationJump to search
Adding more...
(Adding more...)
Line 1: Line 1:
==Definition==
==Definition==
'''Web Services''' are usually defined as "''A standard means of interoperating between different software applications, running on a variety of platforms and/or frameworks''" [http://www.w3.org/2002/ws/Activity].  While many possible mechanisms could be found to satisfy this definition, in practice Web Services today (Nov 2007) are commonly implemented using two [[XML]] protcols: [[SOAP]] - the actual message formatting protocol - and [[WSDL]] - the service definition protocol.  Again, many low-level transmission mechanisms might be employed to facilitate the message exchange, but in practice almost all common implementations utilise the [[HTTP]] protocol and it's [[HTTP POST|POST]] request.
'''Web Services''' are usually defined as "''A standard means of interoperating between different software applications, running on a variety of platforms and/or frameworks''" [http://www.w3.org/2002/ws/Activity].  While many possible mechanisms could be found to satisfy this definition, in practice Web Services today (Nov 2007) are commonly implemented using two [[XML]] protcols: [[SOAP]] - the actual message formatting protocol - and [[WSDL]] - the service definition protocol.  Again, many low-level transmission mechanisms ''might'' be employed to facilitate the message exchange, but in practice almost all common implementations utilise the [http://tools.ietf.org/html/rfc2616 HTTP] protocol and it's [http://tools.ietf.org/html/rfc2616#section-9.5 POST] request.


==VDF Implementation==
==VDF Implementation==
Within Visual DataFlex Web Services are implemented through two mechanisms: one for creating services and the other for creating clients.
Within Visual DataFlex Web Services are implemented through two mechanisms: one for creating '''services''' and the other for creating '''clients'''.


===VDF Web Services===
===VDF Web Services===
Visual DataFlex's Web Service mechanism relies on having Microsoft's [http://www.microsoft.com/windowsserver2003/iis/default.mspx IIS] (Internet Information Services) running on the "''server''" machine.  A service is developed by first [[Web_Service_Basics#Creating_a_WebApp_Project|creating]] a [[WebApp]] project (program) within the [[Workspace]] (if one does not already exist - it is always named "WebApp" and there can be only one such in any Workspace), then [[Web_Service_Basics#Creating_a_Web_Service_Object|creating]] a Web Service object which will be deployed wihin it.
Visual DataFlex's Web Service mechanism relies on having Microsoft's [http://www.microsoft.com/windowsserver2003/iis/default.mspx IIS] (Internet Information Services) running on the "''server''" machine.  A service is developed by first [[Web_Service_Basics#Creating_a_WebApp_Project|creating a WebApp project]] (program) within the [[Workspace]] (if one does not already exist - it is always named "WebApp" and there can be only one such in any Workspace), then [[Web_Service_Basics#Creating_a_Web_Service_Object|creating a Web Service object]] which will be deployed within it.


In the Web Service Object (which will have a source file extension of ".wo") you then create methods ([[Functions]] and/or [[Procedures]]), which you will subsequently [[Web_Service_Basics#Publishing_a_Method|publish]].
In the Web Service Object (which will have a source file extension of ".wo") you then create methods ([[Function]]s and/or [[Procedure]]s), which you will subsequently [[Web_Service_Basics#Publishing_an_Operation|publish]] as your services '''''operations'''''.
 
By default [[Visual DataFlex]] publishes [http://www.ibm.com/developerworks/webservices/library/ws-docstyle.html Document Style] web services and unless you have a pressing reason to use the alternative ([http://en.wikipedia.org/wiki/Remote_procedure_call RPC] Style) you should adhere to this.  This means that, except in the simplest cases (such as the much-cited example of serving up a stock price), you will need to [[Web_Service_Basics#Defining_XML_Documents|define the documents]] which are to be passed to and from the service's operations.




Navigation menu