Wednesday, September 4, 2013

Web Services architecture


Web Services architecture

The Web Services architecture is based upon the interactions between three roles:
  1. service provider
  2. service registry
  3. service requestor.
    The interactions involve the publish, find and bind operations.



1. Service provider -
This is the provider of the web service.

2. Service requestor -
This is any consumer of the web service.
The requestor utilizes an existing web service by opening a network connection and sending an XML request.

3. Service registry -
This is a logically centralized directory of services. The registry provides a central place where developers can publish new services or find existing ones.

Web Service Protocol Stack
This is having four main layers. 
1. Service transport -
This layer is responsible for transporting messages between applications.

Currently, this layer includes :
        hypertext transfer protocol (HTTP)
        Simple Mail Transfer Protocol (SMTP)
        file transfer protocol (FTP)
        Blocks Extensible Exchange Protocol (BEEP).

2. XML messaging
This layer is responsible for encoding messages in a common XML format so that messages can be understood at either end.

Currently, this layer includes :
        XML-RPC
        SOAP.
3. Service description
This layer is responsible for describing the public interface to a specific web service.

Currently, service description is handled via the Web Service Description Language (WSDL).

4. Service discovery
This layer is responsible for centralizing services into a common registry, and providing easy publish/find functionality.

Currently, service discovery is handled via Universal Description, Discovery, and Integration (UDDI).


Service Transport
The bottom of the web service protocol stack is service transport. This layer is responsible for actually transporting XML messages between two computers.
Currently, HTTP is the most popular option for service transport.
SOAP is not tied to any specific transport protocol. In fact, you can use SOAP via HTTP, SMTP, or FTP. One promising idea is therefore to use SOAP over BEEP.