Web Service Architecture: Web Services are a mode of communication between the client and the server applications on the World Wide Web.
The Web Service Architecture describes how to instantiate the elements and implement the operations in an interoperable manner.
The architecture of web service consists of three roles: service provider, service requester, and service registry. The interaction consists of three operations: publish, find, and bind. These operations and roles act upon the artifacts of web services. The web service artifacts are the software modules of web service and their description.
The service provider also has a network-associable module that defines a service description for the web service and then publishes it to the service requestor or service registry. The service requestor uses the find operation to retrieve the service description either locally or from the service registry. It also uses the service description to bind with the service provider and invoke the web service implementation.
Roles in a Web Service Architecture:
There are three roles of web service architecture:
- Service Provider: It is the platform that hosts the services. It creates web service and makes it available to client applications who want to use it.
- Service Requestor: It is the application that is looking for and invoking or initiating an interaction with a service. Here, the browser plays the requester role, driven by a consumer or a program without a user interface. In short, the client application that needs to contact a web service is Service Requestor. The client application can be a .Net application, a Java application, or any other language-based application that looks for some sort of functionality.
- Service Registry: Service requestors find the service and obtain binding information for services during development. It is the application that provides access to the UDDI. The UDDI enables the client application to locate the web service.
Operations in a Web Service Architecture:
The three operations that place in a web service are:
- Publication of service descriptions (Publish): In this operation, a service description must be published so that a service requester can find the service.
- Finding services descriptions (Find): In this operation, the service requestor directly retrieves the service description. It is involved in two different lifecycle phases:
At the design time, to retrieve the service’s interface description for program development.
Second, at the runtime to retrieve the service’s binding and the location description for invocation.
- Invoking service descriptions (Bind): In this operation, the service requestor calls or initiates an interaction with the service at runtime only using the binding details available in the service description to locate, contact, and call the service.
Web Service Stack (Web Service Protocol Stack):
To perform the three operations: publish, find, and bind in an interoperable manner, you need a web service stack.
In the given figure, the top most layers build the capabilities provided by the lower layers. The three vertical towers denote the requirements that are applied at every level of the stack. The text on the right denotes technologies that are applied at that layer of the stack. A web service protocol stack typically contains four protocols:
- Transport Protocol
- Messaging Protocol
- Description Protocol
- Discovery Protocol
(Service) Transport Protocol: The network layer, also known as the foundation of the web service stack, is responsible for transporting a message between the network applications. HTTP is the network protocol available for internet web services. It also provides other network protocols such as SMTP, FTP, and BEEP (Block Extensible Exchange Protocol).
(XML) Messaging Protocol: This protocol is responsible for encoding the messages in a common XML format so that they are understood at either end of a network connection. SOAP is the XML messaging protocol because it supports all the three operations: publish, find, and bind operation.
(Service) Description Protocol: This protocol is used for describing the public interface to a specific web service. WSDL is the standard used for the XML-based service description. WSDL describes the interface and the mechanics of service interaction. The description is essential to specify the business context, quality of service, and service-to-service relationship.
(Service) Discovery Protocol: This protocol is a centralized service in a common registry so that network Web services can publish their location as well as the description, and it becomes easy to find those services that are available on the network.
The first three layers in the stack are needed to provide or use any web service. The simplest stack consists of HTTP for the network layer, SOAP protocol for the XML-based messaging, and WSDL for the service description layer. This three-layer provides interoperability and enables the web service to control the existing internet infrastructure. It also creates a low cost of entry to a global environment.
The bottom three layers of the stack identify technologies for compliance and interoperability; the next two layers – Service Publication and Service Discovery are implemented with a range of solutions.