W3C Takes Big Steps to Finalize SOAP, XML Standards
Just prior to year's end, the W3C was busily taking significant steps forward to give web services developers some needed core standards for protocols and language use.
Most notably, the W3C issued a formal"Candidate Recommendation" to adopt SOAP 1.2 as a formal W3C specification. The announcement puts SOAP 1.2 on a very fast track to adoption, with final comments on the final version due in just two weeks (January 24). At the completion of this step, SOAP 1.2 becomes a final "Proposed Recommendation."
This phase of the SOAP 1.2 adoption process has two important aspects, the W3C said:
- Implementation experience has been gathered to demonstrate that SOAP processors based on the specification are implementable and have compatible behavior; and
- An implementation report shows that there are at least two different and interoperable implementations of every mandatory and optional feature. (The W3C's evidence for this report is currently being summarized and available here.)
SOAP 1.2's standing as a W3C standard has been under a cloud since late last year, when WebMethods suggested that it might maintain rights to some of its technology that led to the development of SOAP. (See earlier IDN coverage of SOAP.) This conflict could have complicated the W3C adoption of SOAP, as the organization is poised to adopt a royalty-free approach to standards adoption, in place of its RAND (Reasonable, Non-Discriminatory) licensing that would allow companies to impose fees for technology use.
Tuning XML for Complex Web Services
The W3C also pushed its Namespaces in XMLproposal (Version 1.1) as a Candidate Recommendation. Namespaces qualify element and attribute names in XML documents. Version 1.1 incorporates errata corrections and provides a mechanism to undeclare prefixes.
The W3C's Namespaces in XML plan looks to address the use of complex documents (such as purchase orders or inventory catalogues) in web services/XML environments. "Such documents, containing multiple markup vocabularies, pose problems of recognition and collision," the W3C said. "Software modules need to be able to recognize the elements and attributes which they are designed to process, even in the face of 'collisions' occurring when markup intended for some other software package uses the same element name or attribute name."
In addition, the W3C noted that these considerations "require that document constructs should have names constructed so as to avoid clashes between names from different markup vocabularies. This specification describes a mechanism, XML namespaces, which accomplishes this by assigning expanded names to elements and attributes."
Among the inducements for using XHTML 1.0, W3C lists the following benefits to developers:
- XHTML documents are XML conforming. As such, they are readily viewed, edited and validated with standard XML tools.
- XHTML documents can be written to operate as well or better than they did before in existing HTML 4-conforming user agents as well as in new, XHTML 1.0-conforming user agents.
- XHTML documents can utilize applications (e.g., scripts and applets) that rely upon either the HTML Document Object Model or the XML Document Object Model.
- As the XHTML family evolves, documents conforming to XHTML 1.0 will be more likely to interoperate within and among various XHTML environments.
Other notable W3C work items completed by year's end include:
Publication of Working Draft of
Web Services Internationalization Usage Scenarios
This first-draft usage scenarios document will be used to generate requirements for web services internationalization as well as best practices for implementers. Most importantly, this final draft W3C document will define how Java and ASP (ASP.NET) software developers should build web services that will interoperate with other systems.
The W3C further explains why it needs to build on its maturing web services work to create a foundation for international standards and terminology: "Web services provide a worldwide distributed environment that uses XML-based messaging for access to distributed objects, application integration, data/information exchange, presentation aggregation and other rich machine-to-machine interaction. The Internet's global reach requires support for the international creation, publication and discovery of web services."
The W3C adds that although the technologies and protocols used in web services (such as HTTP and XML, XML Schema and so forth) are generally quite mature as "international-ready" technologies, web services may require additional perspective in order to provide the best internationalized performance, because they represent a way of accessing distributed logic via a URI.
Publication of Working Draft of
Quality Assurance (QA) Test Guidelines
The QA Test Guidelines document defines a set of common guidelines for conformance test materials for W3C specifications. This document looks to define the best choice among existing test suites and test frameworks that will help developers, sysadmins and vendors best test for conformance and interoperability issues when using new XML and web services standards.
W3C poses the scope of this document this way:
"Whether developing a new test suite or looking for one to reuse, these questions need to be answered," the group said, listing four (4) key considerations:
- Test strategy. What does the test suite verify a compliance with?
- Test tactics/automation. How does the test suite verify conformance?
- Test Completion Criteria. How do we know the test suite is complete? and
- Test Criteria. How do we know the implementation passes the test suite?
The proposal looks to address these questions.
Publication of Second Working Draft of
MathML (Mathematical Markup Language) 2.0
The W3C's Math Working Group has released its working draft of the Mathematical Markup Language (MathML) Version 2.0 (2nd Edition). MathML 2.0 is an XML application that allows mathematical notation and content to be served, received and processed on the Web. In specific, MathML is an XML application for describing mathematical notation and capturing both its structure and content. MathML's goal is to enable mathematics to be served, received and processed on the World Wide Web, just as HTML has enabled this functionality for text.
While MathML is human-readable, it is anticipated that, in all but the simplest cases, authors will use equation editors, conversion programs and other specialized software tools to generate the language. Several early versions of such MathML tools already exist, and a number of others, both freely available software and commercial products, are under development. A current list of changes from the most recent prior MathML 2.0 version is available here.