Note
Only element descriptions are provided in this section. Concepts relating to WS-MetadataExchange are covered in Chapter 7.
WS-MetadataExchange provides a standardized means by which service description documents can be requested and supplied. This specification establishes a set of features that supports important SOA characteristics, such as interoperability and quality of service (Figure 17.4).
Figure 17.4. How WS-MetadataExchange relates to the other WS-* specifications discussed in this chapter.
The scope of the WS-MetadataExchange language is fairly small in comparison to other WS-* specifications. As we established in Chapter 7, the following two forms of metadata requests are standardized:
The descriptions that follow discuss the primary elements used to compose these two types of request messages.
17.4.1. The GetMetadata element
This element can be placed on its own in the Body area of a SOAP message, or it can be turned into a construct that hosts child Dialect and Identifier elements (explained next).
17.4.2. The Dialect element
This element specifies the type and version of the metadata specification requested. The use of the Dialect element guarantees that the metadata returned to the service requesting it will be understood.
Dialect> http://www.w3.org/2001/XMLSchema Dialect>
17.4.3. The Identifier element
While the Dialect element specifies the type of metadata being requested, this element further narrows the criteria by asking for a specific part of the metadata.
http://www.w3.org/2001/XMLSchema Identifier> http://www.www.xmltc.com/tls/schemas/ap1/schemas Identifier>
17.4.4. The Metadata, MetadataSection, and MetadataReference elements
These three elements are used to organize the content of the message sent in response to a GetMetadata request. The parent Metadata construct resides in the SOAP message Body area and houses one or more child MetadataSection constructs that each represent a part of the returned metadata.
If the contents of the metadata document are returned, they are placed within the MetadataSection construct. However, if only a pointer to the document is returned, its location is found in the MetadataReference construct (further qualified by a regular WS-Addressing Address element).
Note that the MetadataSection element can contain Dialect and Identifier attributes that correspond to the Dialect and Identifier elements explained previously.
17.4.5. The Get message
As previously mentioned, the response to a GetMetadata request message can include a MetadataReference construct that contains the location of metadata documents not returned in this initial message. To explicitly request one of these documents, a separate Get message is issued.
While this message does not contain a specific Get element, it does adhere to a standardized SOAP header format, as follows.
SUMMARY OF KEY POINTS |
---|
|
Introduction
Case Studies
Part I: SOA and Web Services Fundamentals
Introducing SOA
The Evolution of SOA
Web Services and Primitive SOA
Part II: SOA and WS-* Extensions
Web Services and Contemporary SOA (Part I: Activity Management and Composition)
Web Services and Contemporary SOA (Part II: Advanced Messaging, Metadata, and Security)
Part III: SOA and Service-Orientation
Principles of Service-Orientation
Service Layers
Part IV: Building SOA (Planning and Analysis)
SOA Delivery Strategies
Service-Oriented Analysis (Part I: Introduction)
Service-Oriented Analysis (Part II: Service Modeling)
Part V: Building SOA (Technology and Design)
Service-Oriented Design (Part I: Introduction)
Service-Oriented Design (Part II: SOA Composition Guidelines)
Service-Oriented Design (Part III: Service Design)
Service-Oriented Design (Part IV: Business Process Design)
Fundamental WS-* Extensions
SOA Platforms
Appendix A. Case Studies: Conclusion