Web Services: Difference between revisions

m
Added new section "Articles" listing pages in the web services category.
m (Added to Web Applications category)
m (Added new section "Articles" listing pages in the web services category.)
Line 1: Line 1:
'''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 (April 2008) 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.
'''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 (April 2008) 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.
==Articles==
This section lists all pages in the 'Web Services' category.
<categorytree mode=pages depth="0">Web Services</categorytree>


==Web Service Protocols==
==Web Service Protocols==
Line 10: Line 17:


Don't worry if you have missed the latest emerging web service standard - there will be another one along in a minute!
Don't worry if you have missed the latest emerging web service standard - there will be another one along in a minute!


==VDF Implementation==
==VDF Implementation==
Line 15: Line 23:


Within Visual DataFlex, Web Services are implemented through two mechanisms: one for creating '''services''' and the other for creating '''clients''' of existing services.
Within Visual DataFlex, Web Services are implemented through two mechanisms: one for creating '''services''' and the other for creating '''clients''' of existing services.


===VDF Web Services===
===VDF Web Services===
Line 22: Line 31:


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 (it can however be changed by setting ''pbDocumentStyle'' to ''False'').  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.  These are defined as extended data-types - structs and arrays - which can be combined to produce documents of arbitrary complexity.
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 (it can however be changed by setting ''pbDocumentStyle'' to ''False'').  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.  These are defined as extended data-types - structs and arrays - which can be combined to produce documents of arbitrary complexity.


===VDF Web Service Clients===
===VDF Web Service Clients===
Web Service Clients are created in Visual DataFlex by creating a new class (''New'' -> ''Class'' -> ''Client Web Service Class'') and inserting the [[URL]] of the [[WSDL]] of the target service (which might be an Internet URl, or a file on your local machine or network).  A class is then generated which acts as a ''Proxy'' (or ''Stub'') for the service.  Dragging an object of this class (usually from the ''Web Services'' section of the [[Class Palette]]) onto the component you are working on in the Designer view creates a object of the class, and through the class package defines all of the data types needed to interact with it.  The service can then be invoked by calling the methods (functions and procedures) of the object as though it were the service itself (hence the ''Proxy'' terminology).
Web Service Clients are created in Visual DataFlex by creating a new class (''New'' -> ''Class'' -> ''Client Web Service Class'') and inserting the [[URL]] of the [[WSDL]] of the target service (which might be an Internet URl, or a file on your local machine or network).  A class is then generated which acts as a ''Proxy'' (or ''Stub'') for the service.  Dragging an object of this class (usually from the ''Web Services'' section of the [[Class Palette]]) onto the component you are working on in the Designer view creates a object of the class, and through the class package defines all of the data types needed to interact with it.  The service can then be invoked by calling the methods (functions and procedures) of the object as though it were the service itself (hence the ''Proxy'' terminology).


==Further Topics==
==Further Topics==