Web Services Primer

an brief introduction of Web Services 

 What is Web Services?

    “Web services is a technology that allows applications to communicate with each other in a platform- and programming language-independent manner. A Web service is a software interface that describes a collection of operations that can be accessed over the network through standardized XML messaging. It uses protocols based on the XML language to describe an operation to execute or data to exchange with another Web service. A group of Web services interacting together in this manner defines a particular Web service application in a Service-Oriented Architecture (SOA).”

-----  IBM developerWorks                               

    “A Web service is a software system identified by a URI, whose public interfaces and bindings are defined and described using XML. Its definition can be discovered by other software systems. These systems may then interact with the Web service in a manner prescribed by its definition, using XML based messages conveyed by internet protocols”

-----  W3C Web Services Architecture      

    Essentially, a Web service makes software application resources available over the networks in a standardized fashion. Other technologies have done the same thing, such as Internet browsers, which make web pages available using standard Internet technologies such as HTTP and HTML. However, these technologies are generally used as a way for human users to view data on a web server and, on their own, are not well suited to enabling application-to-application communication and integration. What is new and exciting about Web service technology is its ability to allow software applications to talk to one another and utilize each other's resource. Using Web service technology, one application can call on another to perform simple or complex tasks, even if the two applications are running on different operating systems and are written in different languages. In other words, a Web service makes its resources available in such a way that any client application, regardless of its internal implementation, can operate and draw on the resources provided by the Web service.

 Basic Architecture

    The basic architecture includes Web services technologies capable of:

  • Exchanging messages (SOAP)
  • Describing Web services (WSDL)
  • Publishing and discovering Web service descriptions (UDDI)

    The programming Stack is showed in the following figure.

    HTTP: To make it accessible to other applications across networks, such as the Internet and in-house intranets, Web services receive requests and send responses using widely used protocols such as HTTP (HyperText Transfer Protocol) and JMS (Java Message Service).

    XML/SOAP: XML messages provide the common language by which different applications can talk to one another over a network. To operate a Web service a user sends an XML message containing a request for the Web service to perform some operation; in response the Web service sends back another XML message containing the results of the operation. Typically these XML messages are formatted according to SOAP syntax. SOAP, an acronym for Simple Object Access Protocol, specifies a standard format for applications to call each other's methods and pass data to one another.

    WSDL: A WSDL file provides a description (written in Web Service Description Language) of how the Web service is operated and how other software applications can interface with the Web service.

    UDDI: UDDI (Universal Description, Discovery, and Integration) is the global look up base for locating the services.

 Interaction in Web Servcies Environment

    The interaction contains three roles and three operations. The three roles are the service provider, the service requester, and the service registry. The objects acted upon are the service and the service description, and the operations performed by the actors on these objects are publish, find, and bind.

    A service provider creates a Web service and its service definition and then publishes the service with a service registry based on a standard called the Universal Description, Discovery, and Integration (UDDI) specification. Once a Web service is published, a service requester may find the service via the UDDI interface. The UDDI registry provides the service requester with a WSDL service description and a URL (uniform resource locator) pointing to the service itself. The service requester may then use this information to directly bind to the service and invoke it.