As I was looking into the Web Services Interoperability Organization and the WS-I Basic Profile they publish, I was struck by complex relationship between this high level standard and a variety of other standards published by other organizations. The WS-I basic profile version 1.1 dated April 10, 2006 has a convenient appendix giving links to 15 different specifications included "by reference."
Digging into each of these standards revealed that some were very stable and well recognized while others were evolving as new needs and problems became apparent. In this article I am going to attempt to summarize the status of these standards and the organizations that publish them in the hope you will appreciate how complex the industry's standard setting effort is.
I thought about using the WS-I Basic Profile version 1.2, now in "Board Approval Draft" stage, but it cites 43 specifications so lets keep this simple by sticking to version 1.1 Where practical I have listed links to the most current version of the applicable standards which may have changed considerably from the one cited in WS-I Basic Profile version 1.1. Dates of publication are abbreviated in mm-dd-yyyy format.
For each organization publishing a standard, I am listing the internal hierarchy in terms of activities, followed by the standards which that activity publishes.
World Wide Web Consortium (W3C)
The W3C is the main organization for creation of internationally recognized standards for the World Wide Web. It is a consortium whose member organizations assign staff for cooperative development of standards. Proposed standards proceed through a series of public drafts to reach final W3C Recommendation status. In many cases, standards are cited befor they become final recommendations, and the process of revision continues. For this reason the W3C keeps early drafts online.
There are 10 different XML related standardization groups in the W3C listed under this activity. Here are the standards cited in the WS-I Basic Profile plus some more recent versions:
- Extensible Markup Language (XML) 1.0 (Second Edition) dated 10-06-2000 - The second edition of XML 1.0 has been superseded by the fourth edition, dated 08-10-2006, and there is parallel development of XML 1.1, which removes certain dependencies.
- Namespaces in XML 1.0 dated 01-14-1999 - XML namespaces qualify element and attribute names by associating them with namespaces. This is the first version, superseded by a second edition, dated 08-10-2006, and there is a parallel standard for XML 1.2.
- XML Schema Part 1: Structures dated 05-02-2001 - This part of the XML Schema language provides for describing the structure of XML 1.0 documents. Cited by the WS-I Basic Profile, but superseded.
- XML Schema Part 1: Structures Second Edition dated 10-28-2006 - This part of the XML Schema language provides for describing the structure of XML 1.0 documents. This is the current specification.
- XML Schema Part 2: Datatypes dated 05-02-2001 - This part of the XML Schema language provides for describing the datatypes to be used in XML schema. Cited by the WS-I Basic Profile, but not the current version.
- XML Schema Part 2: Datatypes Second Edition dated 10-28-2004 - This part of the XML Schema language provides for describing the datatypes to be used in XML schema. This is the current version of the standard.
There are a number of Web services related standardization groups in the W3C listed under this activity. Internal organization of "working groups" and "coordination groups" changes frequently. Here are the standards cited in the WS-I Basic Profile plus related more recent standards:
- Simple Object Access Protocol (SOAP) 1.1 dated 05-08-2000 - "SOAP is a lightweight protocol for exchange of information in a decentralized, distributed environment." This is a W3C Note, not a standard as such, and preceded the creation of the Web Services Activity. Superceded by SOAP 1.2 as a Recommendation in April 2007.
- Web Services Description Language (WSDL) 1.1 dated 03-15-2001 - WSDL documents describe network services in terms of endpoints acting on messages. This document, which is a W3C Note, not a specification, refers to SOAP 1.1. It has been superseded by WSDL version 2.0.
- SOAP Version 1.2 Part 0: Primer (Second Edition) dated 04-27-2007 - SOAP is a lightweight protocol for exchange of information in a decentralized, distributed environment. Now a W3C Recommendation split into multiple parts. This part is intended to serve as a tutorial. Note that the use of "Simple Object Access Protocol" has been dropped since everybody recognizes that the protocol is not that simple and does not require objects.
- Web Services Description Language (WSDL) Version 2.0 Part 0: Primer dated 04-27-2007 - WSDL is now a W3C Recommendation in multiple documents. This part is intended to serve as a less technical introduction to the full standard.
Organization for the Advancement of Structured Information Standards (OASIS)
OASIS is a not-for-profit consortium founded in 1993. It serves as host for a large number of XML and web service related standardization efforts and portals.
The UDDI protocol is intended to provide a standard interoperable system that lets companies and applications dynamically locate web services. Version 3.0 of the protocol became an OASIS standard on 3 Feb 2005. Note that WS-I Basic Profile version 1.1 cites version 2.04.
- UDDI Version 2.04 API Specification dated 07-09-2002 - This standard defines the programming interface and behavior of Web-based registries of Web services.
- UDDI Version 2.03 Data Structure Reference dated 07-19-2002 - Defines the SOAP messages used for dealing with a UDDI compliant registry.
- UDDI Version 2 XML Schema dated 01-01-2002 - A schema file that defines all names and allowed usages for UDDI version 2.
The Internet Engineering Task Force (IETF)
IETF is a large open international community of network designers, operators, vendors, and researchers concerned with the evolution of the Internet architecture and the smooth operation of the Internet.
Internet standards are published as RFC (Request For Comment) statements with a unique number, for example RFC2616 for the Hypertext Transfer Protocol.
- RFC2616 - Hypertext Transfer Protocol -- HTTP/1.1 dated 06-01-1999 - The basic request-response protocol for moving data on the Internet.
- RFC2965 - HTTP State Management Mechanism dated 10-01-2000 - The definition of "cookies" used to maintain state information between client and server.
- RFC2818 - HTTP Over TLS dated 05-01-2000 - Describes how to use TLS, the successor to SSL, to create secure HTTP connections.
- RFC2246 - The TLS Protocol Version 1.0 dated 01-01-1999 - TLS stands for the Transport Layer Security protocol, which sits on top of the TCP protocol to provide encrypted data communication.
- RFC2459 - Internet X.509 Public Key Infrastructure Certificate and CRL Profile dated 01-01-1999 - Defines data structures and algorithms for use with X.509 certificates for authentication.
Internet-Drafts are working documents of the Internet Engineering Task Force
- The SSL Protocol Version 3.02 Draft dated 11-18-1996 - Internet-Drafts nominally have a maximum life of 6 months, but this one continues to be cited, for example, by the WS-I Basic Profile, so it had to be posted on the Netscape site. See RFC2246 Transport Layer Security (TLS) for further development.