Many technologies have been introduced in the web service world, and probably many more will be created, but the following are the most commonly used technologies for the current web services:
The HyperText Transfer Protocol or HTTP is a protocol for collaborative, distributed information system and it is used at the application-level. It has been the base for data communication in the World Wide Web (WWW) since the 90’s.
The HTTP communication is usually over TCP/IP connections. The HTTP protocol is based on the interaction of request/responses messages. It is initiated by a client sending a request method to the server with an URI and a protocol version, followed by a MIME-like message containing additional information like client information, or some content. Once received, the server responds with a response message containing a status line, which includes the message protocol version and a status code, followed by a MIME-like message that contains additional server information.
The Simple Object Access Protocol is standard protocol that provides a definition for XML-based information exchange by means of XML messages. The SOAP version 1.2 defines how structured and typed information can be exchanged between peers in a distributed, decentralized environment.
SOAP provides a paradigm for allowing different programs running in different or the same operative system to communicate with each other using a transport protocol (mainly HTTP) and XML based structures.
SOAP is a lightweight protocol that provides a message exchange pattern for structured information in a decentralized, distributed environment; it defines an extensible messaging framework based on XML to provide a message construct (SOAP messages) which can be exchanged over different underlying protocols. This framework is independent of any programming model and other implementation semantics.
WSDL stands for Web Service Description Language, and it is used for describing the interface of any web service this interface describes how your application can call the existing web service, which parameters are required, which are optional, and it also defines how your application should process the responses it receives from a web service. We will be focusing at WSDL 2.0 standard.
WSDL files are XML files that describe the interface of a web service. It contains the following elements:
- description: this element is the root of any WSDL 2.0 file, any other WSDL element will be nested within this element
- types: this element contains an specification of the data types that are to be exchanged between the provider of the service and the consumer.
- interface: this element describes the operations available in the web service and what messages should be exchanged between the provider and the consumer for each operation (request / response). This element is also used for describing any possible fault message.
- binding: this element describes how you can access the service over the network. This is usually binding the web service to the HTTP protocol.
- service: this element describes where the service can be accessed over the network, it usually contains an URL leading to the service.
- documentation: this element is optional and provides a humanly readable description of the web service.
- import: this element is optional. It is used for importing XML schemas or even other WSDL files.
The function of the Universal Distribution, Discovery and Interoperability (UDDI) registry is to allow the publication of web services, and to allow anyone to find web services someone else may be offering and you may want to use.
UDDI is very much like yellow pages for web services, it is a directory of Web Services. The service providers register themselves in UDDI proving contact details (name, phone, fax, etc), geographic information (where in the world they services could be used). Any service provider or service requestor could search in UDDI to find other service providers, which could also include a link to the WSDL that the service provider is offering.
The service providers can use SOAP messages for registering themselves, or for discovering others.
The information in UDDI could be divided in three categories:
- White pages: business name and address, contact information, etc.
- Yellow pages: type of business, location, industry type, etc.
- Green pages: technical information, link to the WSDL file or information how to connect with the services.