Update 2006-08-16 Version 1.1 of the Web Services Metadata Exchange (WS-MetadataExchange) specification was released in August 2006. It "adds the ability to 'push' metadata along with an Endpoint Reference (of either version), replaces its locally-defined 'Get' request-reply message pair with the one from WS-Transfer, brings in WS-Addressing 1.0 Core, updates examples," etc.
Update 2004-09-21: A second public version of Web Services Metadata Exchange (WSMetadataExchange) has been released, adding new functionality and broader industry support. Using WS-Addressing, WSMetadataExchange defines a bootstrap mechanism for metadata-driven message exchange, supporting especially XML Schema, WSDL, and WS-Policy. The request messages are now generalized ('Get Metadata' and 'Get') to provide more flexible endpoint metadata access and to support versioning. See "Revised WS-MetadataExchange Specification Supported by CA, Sun, and webMethods."
[March 31, 2004] On March 30, 2004 the Web Services Addressing (WS-Addressing) and Web Services Metadata Exchange (WS-MetadataExchange) specifications were published with revisions.
The WS-MetadataExchange specification from BEA, IBM, Microsoft, and SAP was initially published on the BEA web site with a date of February 2004. The new March 30, 2004 version assigns a new XML Namespace URI and normatively references the March 2004 version of WS-Addressing.
Web services "use metadata to describe what other endpoints need to know to interact with them. The WS-MetadataExchange specification defines messages to retrieve specific types of metadata associated with an endpoint." Specifically, it defines three request-response message pairs to retrieve three types of metadata, in order to bootstrap communication with a Web service. One message pair "retrieves the WS-Policy associated with the receiving endpoint or with a given target namespace; another retrieves either the WSDL associated with the receiving endpoint or with a given target namespace; a third message pair retrieves the XML Schema with a given target namespace. Together these messages allow efficient, incremental retrieval of a Web service's metadata."
According to a published annotation from SAP, the Web Services Metadata Exchange specification "fits into the core Web service architecture since it is built on top of XML, XML Schema, WSDL, and WS-Policy." Microsoft has reckoned WS-Addressing among the Web Services "Metadata Specifications" together with WSDL, UDDI, WS-Policy, WS-PolicyAssertions, WS-PolicyAttachment, WS-SecurityPolicy, and WS-Discovery.
The WS-Addressing specification released by BEA, IBM, and Microsoft in about May 2003 has now been published in an improved version "based on community feedback and multi-vendor implementation experience. Changes include an improved definition of request-reply and a new WSDL binding and fault codes."
The WS-Addressing specification "provides transport-neutral mechanisms to address Web services and messages. Specifically, it defines XML elements to identify Web service endpoints and to secure end-to-end endpoint identification in messages. The specification enables messaging systems to support message transmission through networks that include processing nodes such as endpoint managers, firewalls, and gateways in a transport-neutral manner." The WS-Addressing specification makes normative use of WS-Policy; as of March 2004, several other (WS-*) specifications made (normative) reference to WS-Addressing. In Microsoft's classification scheme, WS-Addressing is assigned to the "Messaging Specifications" group along with SOAP, MTOM (Attachments), and WS-Eventing.
Web Services Metadata Exchange (WS-MetadataExchange). Edited by Francisco Curbera (IBM) and Jeffrey Schlimmer (Microsoft). Authors: Keith Ballinger (Microsoft), Don Box (Microsoft), Francisco Curbera (Editor, IBM), Steve Graham (IBM), Canyang Kevin Liu (SAP), Brad Lovering (Microsoft), Anthony Nadalin (IBM), Mark Nottingham (BEA Systems), David Orchard (BEA Systems), Claus von Riegen (SAP), Jeffrey Schlimmer (Editor, Microsoft), John Shewchuk (Microsoft), Greg Truty (IBM), and Sanjiva Weerawarana (IBM). March 2004. 28 pages. XML Namespace URI: http://schemas.xmlsoap.org/ws/2004/03/mex. Copyright (c) 2004 BEA Systems Inc., International Business Machines Corporation, Microsoft Corporation, Inc, and SAP AG.
Acknowledgements: "This specification has been developed as a result of joint work with many individuals and teams, including: Luis Felipe Cabrera (Microsoft), Erik Christensen (Microsoft), Timm Falter (SAP), Don Ferguson (IBM), Jeffrey Frey (IBM), Maryann Hondo (IBM), Chris Kaler (Microsoft), Dave Langworthy (Microsoft), Frank Leymann (IBM), Brad Lovering (Microsoft), Steve Millet (Microsoft), Sanjay Patil (SAP), Chris Sharp (IBM), Eugene Sindambiwe (SAP), Tony Storey (IBM), Sara Wong (Microsoft)."
From the copyright statement: "...Except for the copyright license granted above, the authors do not grant, either expressly or impliedly, a license to any intellectual property, including patents, they own or control..." and status statement: "This specification is an initial public draft release and is provided for review and evaluation only. The authors hope to solicit your contributions and suggestions in the near future. The authors make no warrantees or representations regarding the specifications in any manner whatsoever..."
Web Services Addressing (WS-Addressing). Edited by Don Box (Microsoft) and Francisco Curbera (IBM). Authors: Adam Bosworth (BEA), Don Box (Microsoft, Editor), Erik Christensen (Microsoft), Francisco Curbera (IBM, Editor), Donald Ferguson (IBM), Jeffrey Frey (IBM), Chris Kaler (Microsoft), David Langworthy (Microsoft), Frank Leymann (IBM), Brad Lovering (Microsoft), Steve Lucco (Microsoft), Steve Millet (Microsoft), Nirmal Mukhi (IBM), Mark Nottingham (BEA), David Orchard (BEA), John Shewchuk (Microsoft), Tony Storey (IBM), Sanjiva Weerawarana (IBM). March [30,] 2004. 19 pages. Copyright (c) 2004 BEA Systems Inc., International Business Machines Corporation, and Microsoft Corporation, Inc. XML namespace URI: http://schemas.xmlsoap.org/ws/2004/03/addressing.
Acknowledgements: Keith Ballinger, Microsoft; Michael Coulson, Microsoft; Giovanni Della-Libera, Microsoft; Christopher Ferris, IBM; Tom Freund, IBM; Steve Graham, IBM; Maryann Hondo, IBM; Efim Hudis, Microsoft; John Ibbotson, IBM; Gopal Kakivaya, Microsoft; Al Lee, Microsoft; Anthony Nadalin, IBM; Bill Nagy, IBM; Martin Nally, IBM; Henrik Frystyk Nielsen, Microsoft; Jeffrey Schlimmer, Microsoft; Chris Sharp, IBM; Keith Stobie, Microsoft; Hervey Wilson, Microsoft.
From the copyright statement: "... BEA Systems, IBM and Microsoft (collectively, the "Authors") each agree to grant you a royalty-free license, under commercially reasonable terms and conditions, to their respective patents that they deem necessary to implement the WS-Addressing Specification..." and status statement: "WS-Addressing and related specifications are provided as-is and for review and evaluation only. BEA, IBM, and Microsoft hope to solicit your contributions and suggestions in the near future. BEA, IBM, and Microsoft make no warrantees or representations regarding the specifications in any manner whatsoever..."
The WS-Addressing update cleans up some minor problems with the previous version — adding explicit support for SOAP 1.1 and refactoring the message information headers so they map better to message exchange patterns such as request/response, for example — but its main purpose seems to be associating actions with WSDL operations. These actions are used by the WS-MetadataExchange specification essentially to define message types for obtaining policy and interface information from a Web service provider. Therefore it seems reasonable to assume that the main reason for updating WS-Addressing was to support the WS-MetadataExchange specification.
However, the updated WS-Addressing also includes a Fault definition section, which is also new.
The WS-MetadataExchange specification basically defines SOAP message types for obtaining XML files that include Web services metadata, especially WS-Policy and WSDL. This approach would seem to be dangerously close to a REST-ish view of the world (i.e., "GETting" XML files over the network over HTTP by default) and seeming at first glance like a collection of standard message "types" that seem to beg the question about the relative merits of fixed interfaces. But of course the WS-MetadataExchance specification, like all other WS-* specifications, is designed to support multiple protocols, not just HTTP.
The addressing issue remains one of the biggest in front of us, and with the recent death of the proposed extensions to WSDL 2.0 it is starting to look more and more like WS-Addressing will become the adopted standard. WS-Addressing is referenced in WS-Notification, WS-Coordination, WS-BPEL, WS-Eventing, WS-ResourceFramework, and other proposed specifications. Addressing is an open issue for WS-CAF as well.
Perhaps we will see a WS-Addressing feedback workshop now that the "secret" of WS-MetadataExchange is out. In any case, a growing combination of private and public specifications depend upon settling the addressing issue, and a speedy resolution therefore would seem to be in the industry's larger interests.
The WS-MetadataExchange specification is not only dependent upon the recent extensions to WS-Addressing, however, but also strongly dependent upon WS-Policy, another specification that covers territory across private and public specifications.
It is also worth noting that while the specifications are provided under "royalty free" terms and conditions, they also include statements that make it clear that patent rights are not being given away.
- References for WS-MetadataExchange:
- "Web Services Metadata Exchange (WS-MetadataExchange) for Service Endpoints." News story 2004-03-05.
- References from SAP [March 30, 2004]:
- References from IBM (March 2004):
- Web Services Metadata Exchange (WS-MetadataExchange). March 2004. PDF format.
- XML Schema
- WSDL file
- References from Microsoft (March 2004):
- Microsoft's version note: "WS-MetadataExchange was published as a public specification on 30-March-2004. This is the first joint BEA/IBM/Microsoft/SAP publication of the specification."
- Web Services Metadata Exchange (WS-MetadataExchange). March 2004. HTML format.
- XML Schema
- WSDL file
- Metadata Specifications Index Page
- References for WS-Addressing:
- "The Growing Importance of Web Services Addressing (WS-Addressing)." News story 2004-03-22.
- Web Services Addressing (WS-Addressing)
- Web Services Addressing (WS-Addressing). 2004-03-30.
- WS-Addressing XML Schema. 2004-03-30.