Web Services – Protocols.

Communications between the web service components is based on messaging. XML formatted messages are exchanged between components. Typically, delivery is by HTTP but other protocols may be used. SOAP allows methods to be invoked remotely. UDDI includes the procedures for updating and searching service registries. WSDL is a language for describing client/server interfaces. Communications between client and server is application dependent but based on SOAP.

HTTP

The Hypertext Transfer Protocol (HTTP) is the protocol used by web browsers to access pages on the worldwide web. HTTP is also used to transfer messages between clients and servers in web service environments.

HTTP is a client/server protocol. Web services are based on the client/server model. Web services make use of the following HTTP messages:

1. HTTP GET messages to download files from servers.
2. HTTP POST messages are used by the client to cause particular application code to be executed on the server.

Web service clients operate as clients to the registry servers as well as to the web services. Clients request services using HTTP POST messages; they download service descriptions in WSDL files using HTTP GET messages.

HTTP is a good choice as a transport mechanism for web service data. The protocol is widely understood, widely available and stable. HTTP messages are permitted by most firewalls so there should be few set-up problems.

The web service standards allow other transport mechanism to be used. File transfer and email mechanisms such as FTP and SMTP could be used. There are questions over the efficiency of HTTP. To address these concerns a new protocol, the Blocks Extensible Exchange Protocol (BEEP) is being developed.

XML

The basis of web services is messaging. Clients send messages to servers, the servers respond with messages. Web service messages are encoded using the Extensible Markup Language (XML). The content of XML messages is independent of the participating hardware, operating systems and protocols.

XML defines syntax for marking up data in a human readable form. The language is extensible, XML based languages can be defined for particular application areas. The extensibility of XML is made use of by the higher web-services protocols.

SOAP

The Simple Object Access Protocol (SOAP) is a protocol for Remote Procedure Calls (RPCs). As it is an extension of XML it is independent of the operating system, programming language and protocols used.

A client invokes a procedure (or method) on a remote server by transmitting a SOAP message to the server. The message identifies the remote method and carries the method arguments as objects. When HTTP is used as the underlying transport, the HTTP POST message is sent by the client to initiate the processing of the SOAP messages.

UDDI

The Universal Description, Discovery and Integration (UDDI) service is the specification to which web service registries conform. UDDI consists of a data model and an application program interface (API).

The UDDI data model describes four core object types.

1.The businessEntity objects describe individual businesses that provide web services. These objects carry information such as the business address and contact information.

2.The businessService objects describe available web services. Information carried in these objects includes a service name and description as well as bindingTemplate objects.

3.The bindingTemplate objects describe where a particular object is located and how it should be accessed. This includes the access point of the service and details of the protocol to use (e.g. FTP or HTTP).

4.The tModel describes the technical model of the interface. This describes the interface. The tModel includes pointers to the WSDL files that describe the interface.

The UDDI API is an extension of SOAP, it provides an RPC interface to the registry database. The methods provided by the UDDI API allow registry data to be published or searched.

The publishing interface to UDDI is used by service provider to advertise the availability of their services. The API includes save_binding, save_business, save_service, save_tModel, delete_binding, delete_business and delete_tModel methods for creating the UDDI objects. It also includes getAuthToken and discard_authToken methods, these ensure that the UDDI data is only modified by those users who are authorised to do so.

The search interface to UDDI is used by potential clients looking for service details. The API includes find_binding, find_business, find_service and find_tModel methods to find UDDI objects matching particular criteria. It also includes getBindingDetail, getBusinessDetail, getServiceDetail and get_tModelDetail to obtain details of particular UDDI objects.

Next ›

Leave a Reply

Your email address will not be published. Required fields are marked *

eighteen + ten =