Web Services Overview


If you haven't heard about Web services, you probably haven't been on the planet for long. All the major vendors and industry analysts are promoting Web services as the "next big thing." Let's examine what has created all the attention and attraction. (Web services concepts are discussed in more detail in Chapter 11, "Web Services Explained.")

Web Services Defined

A Web service is a collection of functions packaged and published to a network for use by other programs and users. Web services result from software components being assembled and discovered by service providers and service consumers. However, the discovery process is not as dynamic as P2P. It typically involves a well-known address or directory service. The intent of Web services is to provide a level of integration standardization in making products and services available worldwide. The definition takes on more substance when combined with the technologies defining it.

Web services promote the following standards:

  • SOAP (Simple Object Access Protocol) A standard message exchange protocol

  • WSDL (Web Service Definition Language) A standard service definition protocol

  • UDDI (Universal Description, Discovery and Integration) A standard service discovery protocol

The W3C (www.w3c.org) and members of key organizations such as IBM and Microsoft envision an end-to-end view to Web service definition. This can be demonstrated as three complementary architectural stacks, seen in Figure 4.1. The wire stack provides the "on-the-wire" view of the supporting message exchange. The description stack enables business requirements to be mapped to technical specifications. The discovery stack provides the advertisement and categorization services necessary for business entities to publish and find service definitions.

Figure 4.1. The architectural stacks of Web services.

graphics/04fig01.gif

Simple Object Access Protocol

SOAP is used to enable interoperability between vendor implementations. SOAP is a lightweight protocol that uses XML to encode remote procedure calls between distributed systems. This XML-based protocol consists of three parts:

  • The SOAP envelope in effect defines the SOAP message. It contains an optional SOAP header and a mandatory SOAP body.

  • The SOAP header may contain additional processing instructions used to process the body of the message and information relevant to intermediaries.

  • The SOAP body is the actual information needed by the recipient of the request to process and return a response.

SOAP can use HTTP as a transport protocol. By using HTTP, SOAP has access to most Web-based implementations today. This enables access to a vast array of resources, even through firewalls, if the Web-based implementation is SOAP-compliant.

SOAP provides a standard protocol for distributed communication. P2P applications have not defined this level of interoperability. As you will see, JXTA is attempting to provide a standard XML-based protocol to fill that gap. It is likely that bridges between SOAP- and P2P-based protocols will be developed to promote interoperability. This will be required for P2P to gain popularity in business environments using Web services.

Web Service Definition Language

WSDL is an XML language for describing Web services. Fundamental to the definition are network endpoints (ports), messages, and the operations that are performed on those messages.

It is important to recognize that Web services are being defined to support different technology platforms, operating systems, and programming languages. Thus, the Microsoft .NET initiative using non-Java-based implementations should integrate with IBM Java-based implementations.

Information about Web services, including URLs and WSDL documents, is published and therefore found in a registry such as the one provided by UDDI, which will be discussed in a moment. So, unlike P2P, which might require broadcast techniques to discover services, the UDDI registries will be available at well known locations.

Universal Description, Discovery, and Integration

UDDI provides a mechanism for publishing and finding service descriptions that support both business and technical information. Although the service information contained in UDDI complements the WSDL information, UDDI does not mandate WSDL. UDDI is attempting to be more generic in supporting any number of service description mechanisms.

The UDDI defines three primary components:

  • A registry for service providers to publish services and products offered

  • A service broker that maintains the registry

  • A service requestor that uses the broker to find products and services

The service provider implements the Web service. This is typically the owner of the business process.

The service requestor is the entity invoking or initiating interaction with a Web service.

Service requestors can search by industry code, products and services offered, and geographic location.

The service registry is where the service descriptions are published by service providers and then discovered by service requestors. Service descriptions are used by service requestors during service development and during execution.

It is projected that public and private UDDI nodes will be defined. Several companies, including Hewlett-Packard, IBM, and Microsoft, operate replicated registeries that form the public nodes of the UDDI network.

Private nodes between partner systems and within large corporations might also surface. For example, e-marketplace UDDI nodes for finding Web services and for doing business within a particular e-marketplace or industry; portal UDDI nodes supporting transactional Web presence and for restricting access and monitoring usage; internal integration nodes to bridge Web presence with back end service delivery.

The overall architecture is still in flux, and the pace of change presents a challenge to early adopters. There are divisions even within the Web services architecture, as competitors try to differentiate their tools and solutions.

P2P Applicability

Web services have created a standard way of describing a service through WSDL. Web services also utilize SOAP as a standard way to exchange messages in an object-oriented fashion. As P2P systems mature and interoperability becomes more important, standards for describing and interfacing with P2P services will be needed. Web services present a viable and complementary platform.

There appears to be some synergy between Web services and P2P. Web services might leverage the decentralized techniques of P2P to introduce more network resilience, whereas peers can mature their service descriptions using XML-defined Web service definitions.



JavaT P2P Unleashed
JavaT P2P Unleashed
ISBN: N/A
EAN: N/A
Year: 2002
Pages: 209

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net