Monday, May 30, 2005

Web services are a relatively new technology that have received wide acceptance as an important implementation of service-oriented architecture. This is because Web services provides a distributed computing approach for integrating extremely heterogeneous applications over the Internet. The Web service specifications are completely independent of programming language, operating system, and hardware to promote loose coupling between the service consumer and provider. The technology is based on open technologies such as:

  • eXtensible Markup Language (XML)
  • Simple Object Access Protocol (SOAP)
  • Universal Description, Discovery and Integration (UDDI)
  • Web Services Description Language (WSDL)
  • Using open standards provides broad interoperability among different vendor solutions. These principles mean that companies can implement Web services without having any knowledge of the service consumers, and vice versa. This facilitates just-in-time integration and allows businesses to establish new partnership easily and dynamically.
  • What Web services are
    The W3C's Web Services Architecture Working Group has jointly come to agreement on the following working definition of a Web service: "A Web service is a software application identified by a URI, whose interfaces and bindings are capable of being defined, described, and discovered as XML artifacts. A Web service supports direct interactions with other software agents using XML-based messages exchanged via Internet-based protocols."

Basic Web services combine the power of two ubiquitous technologies: XML, the universal data description language; and the HTTP transport protocol widely supported by browser and Web servers.

  • Web services = XML + transport protocol (such as HTTP)

Some of the key features of Web services are the following:

  1. Web services are self-contained.
    On the client side, no additional software is required. A programming language with XML and HTTP client support, for example, is enough to get you started. On the server side, merely a Web server and a servlet engine are required. It is possible to Web service enable an existing application without writing a single line of code.
  2. Web services are self-describing.
    Neither the client nor the server knows or cares about anything besides the format and content of request and response messages (loosely coupled application integration).
    The definition of the message format travels with the message. No external metadata repositories or code generation tools are required.
  3. Web services are modular.
    Web services are a technology for deploying and providing access to business functions over the Web; J2EE, CORBA, and other standards are technologies for implementing these Web services.
  4. Web services can be published, located, and invoked across the Web.
    The standards required to do so are:
    Simple Object Access Protocol (SOAP), also known as service-oriented architecture protocol, an XML-based RPC and messaging protocol
    Web Service Description Language (WSDL), a descriptive interface and protocol binding language

    Universal Description, Discovery, and Integration (UDDI), a registry mechanism that can be used to look up Web service descriptions
  5. Web services are language independent and interoperable.
    The interaction between a service provider and a service requester is designed to be completely platform and language independent. This interaction requires a WSDL document to define the interface and describe the service, along with a network protocol (usually HTTP). Because the service provider and the service requester have no idea what platforms or languages the other is using, interoperability is a given.
    Web services are inherently open and standards based.
    XML and HTTP are the technical foundation for Web services. A large part of the Web service technology has been built using open source projects. Therefore, vendor independence and interoperability are realistic goals.
  6. Web services are dynamic.
    Dynamic e-business can become a reality using Web services because, with UDDI and WSDL, the Web service description and discovery can be automated.
    Web services are composable.
    Simple Web services can be aggregated to more complex ones, either using workflow techniques or by calling lower-layer Web services from a Web service implementation.
  7. Web services are composable.
    Simple Web services can be aggregated to more complex ones, either using workflow techniques or by calling lower-layer Web services from a Web service implementation.