Chapter 9. Web Services Metadata Exchange


Metadata plays a fundamental role in Service-Oriented Architectures. The term metadata refers to explicit information about a service that is encoded in a machine-readable format. Explicit metadata encodes in an unambiguous way details about the interaction contract between service requesters and providers. Technical capabilities and requirements of service endpoints are encoded using XML Schema, Web Services Description Language (WSDL), and WS-Policy definitions. Service requesters are developed and configured to comply with these metadata specifications; service providers are selected according to the metadata that a requester expects. Explicit metadata is the key feature of SOAs that enables loose coupling between requesters and providers. As such, metadata is required in multiple steps of the application lifecycle (development, deployment, runtime) and in different scenarios. The central registry model, which is exemplified by the UDDI standard, covers one important set of scenarios. These scenarios and use cases were already discussed in Chapter 8, "UDDI."

Another set of scenarios is not completely addressed by the central repository model. These are dynamic scenarios in which requesters discover service endpoints at runtime, and the properties of the interaction are customized to fit a particular requester. These scenarios are served by the process of bootstrapping the interaction. In bootstrapping, the interacting endpoints exchange their service definition and configuration metadata prior to the actual interaction. Then they use the retrieved metadata to dynamically configure the endpoints' capabilities.

The bootstrapping approach allows much more flexible configuration of the interacting endpoints. You can customize the interaction to its specific conditions: the identity of the requester endpoint, the date and time, and any relevant business or technical conditions. You obtain the corresponding endpoint metadata just in time to refresh possibly stale cached copies and to update the endpoint's configuration.

The bootstrap works best when you can assume a direct, nonmediated interaction between requesters and providers. The service requester directly queries the service endpoint for its metadata and the requester gets a fresh, customized copy of it. However, to support this model, you have to assume that every endpoint supports a metadata retrieval interface in addition to its business interface. How this function is actually provided is essentially irrelevant. An endpoint might redirect requests for metadata to another endpoint or a URL providing the metadata on its behalf. Whether the endpoint supports the metadata exchange or the runtime environment transparently provides it is an implementation detail. The key point is the ability of the service requester to directly request from its target endpoint updated, customized metadata.

The Web Services Metadata Exchange specification (WS-MetadataExchange) defines a simple yet flexible interface to allow service endpoints to provide metadata information to requesters and support the bootstrapping of Web service interactions. The WS-MetadataExchange interface is flexible and could be used to retrieve general information from the endpoint, not necessarily constrained to metadata. However, the specification clearly states that the operations should be used only to retrieve metadata (that is, endpoint description) information, and that this information applies exclusively to the service endpoint or its associated resources. This limitation is important to maintain clear and distinct semantics of the bootstrap process.



    Web Services Platform Architecture(c) SOAP, WSDL, WS-Policy, WS-Addressing, WS-BP[.  .. ] More
    Web Services Platform Architecture(c) SOAP, WSDL, WS-Policy, WS-Addressing, WS-BP[. .. ] More
    ISBN: N/A
    EAN: N/A
    Year: 2005
    Pages: 176

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