Advertisment

Web Services architecture

author-image
CIOL Bureau
Updated On
New Update

Introduction

Advertisment

We will explain here the basic architecture of Web Services. We have already discussed in our previous article that the three basic operations in any Web Service are Service Publication, Service Finding and Binding. Web Service Stack, is the software architecture to implement those operations using standard technologies such as SOAP, WSDL and UDDI in various layers. There already exists the vendor specific Web Services implementation from the leading vendors such as IBM, Microsoft and Sun MicroSystems. W3C workshop led by IBM and Microsoft is currently pursuing on the draft to find a common industrial standard for Web Services Stack.



We will discuss here the Web Service stack suggested by W3C. We will also look at the vendor specific architectures in the subsequent vendor specific implementation sections.



 

Web Services Stack

Advertisment

The stack includes both basic as well as the higher level layers of business process communication in a Web Service process.



The three components of the stack are



1. Wire



Service Provider and Service Requestor exchange information on the wire using the standards included in Transport Layer of Wire Stack. SOAP is currently the standard to be used in Wire Stack.



SOAP(Simple Object Access Protocol) is a standard XML messaging protocol used to exchange information between two applications. W3C defines SOAP as a XML based lightweight protocol that has three parts.



1. An envelope that defines a framework for describing what is in a message and how to process it.



2. A set of encoding rules for expressing instances of application-defined datatypes.



3. A convention for representing remote procedure calls and responses.



We will discuss more about SOAP in Section 3.1



IBM, Microsoft and others have submitted SOAP to W3C and it will come out as XML Protocol later in the year.



The wire stack tells us that Web Service applications will communicate with each other using SOAP protocol , that will work as an envelope for XML messages. This XML messages can be routed in the internet using internet protocols such as HTTP, HTTP-R(Reliable HTTP), SMTP, FTP, BEEP etc in the transport layer.



The wire stack shows that whenever SOAP is used, its header will also contain information about Security, Caching, Routing and Management etc.



  1. Description


  2. Description is the interface of the web service provided by the Service Provider. Each Web Service Provider can declare its service through an interface either directly to the Service Requestor(Intranet applications) or to a public repository(Internet applications). This interface will be declared through WSDL(Web Services Description Language).



    WSDL provides an XML grammar to describe the public interface of the service that will include information about all publicly available functions, XML message data types, binding information about the specific transport protocol to be used, and address information for locating specified application service.



    We will explain more about WSDL in section 3.2.



    Description stack also contains XML schema definition of types, Choreography or Business Process Orchestration and workflow that will explain the ordering of messages between 2 oe more parties and Service characsteritics that will provide static information about a service, such as reliability, availability and privacy policies.



    IBM and Microsoft have submitted WSFL(Web Services Flow Language) and MS XLANG respectively to W3C last year as the tools for Business Process Orchestration Layer.



  3. Discovery
  4. The Discovery stack contains information about discovering a service registered by the Service Provider.



    It has two layers.



    1. Inspection



    This is about retrieval of information about a Service or Organization from that Service or Organization. IBM and Microsoft have agreed on WS-Inspection (Web Services Inspection Language) to use in Inspection Layer.



    WS-Inspection specification provides an XML format for assisting in the inspection of a site for available services and a set of rules for how inspection related information should be made available for consumption.



    2. Registry



    UDDI is the most commonly used protocol in the Registry layer.



    UDDI (Universal Description, Discovery and Integration) protocol is an industry initiative that is working to enable businesses to quickly, easily, and dynamically find and transact with one another.



    UDDI enables a business to



    1. Describe its business and its services.



    2. Discover other businesses that offer desired services.



    3. Integrate with these other businesses.



    We will discuss more about UDDI in Section 3.3.



     

    Advertisment

    Goals of Web Service Architecture

    W3C has proposed the following goals for the Web Service Architecture specification.



    1. Interoperability


    The Web Services Architecture should provide a reference platform for the development of interoperable Web Services across a wide array of environments.


    2. Reliability


    The Web Services Architecture must be reliable and stable over time.


    3. Web-friendly


    The Web Services Architecture must be consistent with the current and future evolution of the World Wide Web.


    4. Security


    The Web Services Architecture must provide a secure environment for online processes.


    5. Scalability and Extensibility


    The Web Services Architecture must be scalable and extensible.


    6. Team Goals


    The Web Services Architecture Working Group will work to ensure that the Architecture will meet the needs of the user community.

    Conclusion

    Advertisment

    W3C Stack is not entirely consistent with other leading vendor’s Web Service Stack like position of SOAP/XML in the stack etc., but it has many similarities with leading vendors such as IBM, Microsoft etc. Next time, we will discuss the various Java Web Services APIs from Sun MicroSystems such as JAXP(Java API for XML Processing) , JAXB(Java API for XML Binding), JAXM(Java API for XML Messaging), JAXR(Java API for XML Registries) and JAX/RPC(Java APIs for XML based RPC) etc.



     



    References:



    1. Web Services Conceptual Architecture by Heather Kreger, IBM


    2. Web Services Architecture by Judith M. Myerson


    3. Web Service Architecture, W3C


    4. Advancing Web Services Stack by Judith M. Myerson


    5. SOAP Specification


    6. WSDL Specification


    7. UDDI Specification


    8. WS-Inspection Specification


    9.  

      (The authors are senior developers at MindTree Consulting. They can be reached at avijeetd@mindtree.com and satyabrata_dash@mindtree.com).



      tech-news