WSDL in the news

I got quoted in a little article on WSDL 2.0, promoting the recent interop event and some minor speculating on the future of WSDL 2.0.

The good ship WS-Addressing

Well, at long last WS-Addressing has reached Recommendation status!  (At least, the Core and SOAP Binding have.)  I count this effort as quite successful.  The Working Group navigated some difficult and contentious issues, resulting in a specification that should traverse the shoals of interoperability safely.

This Working Group was an experiment in "fast track", with an aggressive schedule and a correspondingly higher bar for interop testing.  How did we do?  Here are the actual and projected milestones for WS-Addressing:

As you can see we didn’t quite live up to our expectations, missing our projected delivery date by about 60%.  The largest lag was in CR testing, which IMO we started fairly promptly after issuing CR, worked on diligently, and completed about as rapidly as we could.  The only way to avoid this delay would have been to start interop testing way back in Last Call, but that is always a hard sell to implementers as the spec is still churning.

Anyway, I am quite pleased that we’re done.  Especially since this was the last chance to lock down the namespace to deliver WS-Addressing 1.0 support in Windows Communication Foundation 1.0.  We caught the boat!

Submission frenzy

Following on the heels of the submissions from Microsoft, IBM, et. al. of WS-Transfer, WS-Eventing, and WS-Enumeration, the W3C has acknowledged the submission of the WSDL 1.1 Binding Extension for SOAP 1.2 and the SOAP 1.1 Binding for MTOM 1.0, which I co-authored and published last month.  Are there more submissions in the works?  Stay tuned!

The submission process accomplishes several goals:

  • Signals the author’s intention that the specs are finished and stable.
  • Puts the specs under the W3C document license, to aid adoption and reuse of the specifications.
  • A tiny bit of the W3C brand equity rubs off on the specs since they now have www.w3.org urls.
  • Simplifies the politics of reusing of these specs in profiles.

For me, it’s final confirmation that this project is complete.  Satisfying!

WS-Addressing advances to PR

WS-Addressing prayer closeupI know you’re probably tired of me touting each step of progress in WS-Addressing’s end game, but we toil through design by committee for months and sometimes years to reach the point where we can see the visible results. Toward the end the milestones accelerate infrequency and importance.  We need to shout a bit when we get there for our own self-worth.

So… today WS-Addressing was published as a Proposed Recommendation.  This means that the Working Group is done (as represented by Last Call), the larger community is done (as represented by Candidate Recommendation), and now implementers have done their due diligence (as represented by Proposed Recommendation).  The Proposed Recommendation is placed before the W3C membership in the form of the Advisory Committee, who may provide advice and comments to the Director who will determine whether there is any doubt about the quality, utility, harmlessness, and general benefit of the specifications.   If not, they will be issued as a W3C Recommendation.

I expect my final tout will appear in about 6 weeks so you’re safe from Addressing milestone reports till then :-).

[Photo shows a prayer shingle offered by our former chair MNot's prayer during the WS-Addressing FTF meeting in Yokohama last November.  I think we're well on track to beat that date!]

Green Tide

WS-Addressing 1.0 passed the last two predictable hurdles in the last week in it’s march towards completion.  Last Tuesday, the required interop matrix filled up, allowing the WG to declare the spec sufficient to enable interop between vendors.  But the push for interop didn’t end there!  We needed four implementations interoperating, and we have 5 at 100%, with a sixth awfully close.  Optional features also over-acheived.  I put together a little rollup in the test results to show our progress and the minimum we’d need to declare victory. I think it shows we blew past our requirements.  This is a significant milestone in Web Services, as the energy throughout the stack seems to be shifting dramatically towards proving interop rather than writing specs.

And then another milestone yesterday, with the Working Group accepting the test results and the specs as complete, and referring them to the Director, who, with the advice of the Advisory Committee, should move them to final Recommendation in the coming weeks, hopefully without any fuss.  Congratulations to all those contributing to this effort!

W3C Tech Plenary Photos

A little late getting photos posted, but the week before last I spent in the South of France at the 2006 W3C Technical Plenary. Mostly I was stuck in the hotel in meetings or feverishly working online, rewarded in the end by successfully completing several milestones:

  • WS-Addressing Candidate Recommendation completion.  The final issues were closed and dealt with and the interop work approached (but didn’t quite reach) completion.
  • The WSDL Working Group held it’s (probably) last full face to face meeting, as it enters it’s fifth year.  It now goes into a bit of slow motion waiting for implementations to catch up.
  • Put the finishing touches on the two "binding" specifications I co-authored with IBM, Oracle, and SAP.
  • Delivered a hopefully amusing lightning talk at the Tech Plenary, with Paul Downey, on the Chad voting bot and how Single Transferrable Voting can make getting to consensus, well, just a lot more fun.

In between I had some excellent company, excellent food, including a 9-course truffle menu at La Bastide Saint Antoine, and even toward the end of the week a couple of refreshing outings to find geocaches.

Photos are available in the Cannes set.  Check it out!

WS-Mortar

Between the major building blocks of the Web Services infrastructure there is naturally a little mortar to hold the whole building up.  I had the opportunity to help bring two of these small pieces of mortar out into public view.  They were published yesterday on MSDN and other partner’s web sites.

WSDL 1.1 Binding Extension for SOAP 1.2

This specification describes how to indicate in a WSDL 1.1 document that a service uses SOAP 1.2.

SOAP 1.1 Binding for MTOM 1.0

This specification describes the application of the MTOM attachment mechanism, originally defined for SOAP 1.2, to SOAP 1.1 envelopes.

Basically, these two specs provide the tiny pieces of missing specese to allow technologies in the "1.1" space to work with the final W3C versions.  This helps bridge the gap between the old and the new, and facilitates implementations (like ours) which support both versions of SOAP with some degree of parity.  Tiny specs, but useful, representing a certain level of completion within the stack.

And, though I had the pleasure of co-authoring primarily with Chris Ferris of IBM, this is the first time Microsoft and Oracle have co-authored a document together.  I’ve worked for years with Oracle representatives, sometimes towards different technical agendas, and I hope this represents the beginning of better alignment between our views of Web Services standards, and leads to more direct cooperation between our companies both within and outside the standards fora.

The Principle of Least Power

Just read an interesting draft TAG finding called The Principle of Least Power. I find the idea very appealing that one should use the simplest possible tool for the job - in many cases using declarative languages rather than procedural, or data rather than objects.

This is a primary issue we’ve faced in the design of XML and especially XSLT.  There was a lot of customer pressure to add more power, especially recursive processing of the output.  Now that XSLT is being baked into hardware, we’ll find out if we went too far.

I’ve always felt frustrated when forced to use a tool too powerful for the job (like JavaScript to apply a different XSLT in the browser), and thanks to the TAG I can now name (with a URI no less ;-) my frustration.

Vancouver

Just got back from Vancouver BC, where I attended the W3C Web Services Addressing Working Group meeting and interoperability event.  Two days of implementers sitting quietly in a conference room banging on each other’s implementations got us much closer to proving that the spec is ready for prime time.  Paul and I had a great time designing the most complicated perl pipeline of XSLT on the planet to aggregate the results and display them.  It really helped build the excitement to see how green squares spreading slowly through the matrix!

Vancouver was quite delightful too.  The residents seemed to be celebrating the depression caused by the twin blows of having 28 straight days of rain, and then narrowly missing the record set in 1953 of 29 days.  But having pouring rain for only half my stay was fortunate for me.  Upon arriving, I found a hungry pair of English blokes (Paul and Marc) at the hotel, and joined them in cracking the shells off a succulent Spicy Black Bean Dungeness Crab and other Chinese delicacies.

During lunch a few days later Paul and I took a tiny rainbow-colored Aquabus over to Granville Island, which is a trendy artist colony with a great market, food court, and lots of art studios and galleries.  I acquired a tiffin (essentially an Indian lunch box) full of savory Indian delicacies — worth returning for another the next day on our way to biking the seawall path around Stanley Park on the west end of the island. We even tried for a couple of geocaches but only the one nearest the hotel succumbed to our investigations.

Pictures snapped during my explorations are now posted on Flickr.

I’m famous! Or at least someone is…

My announcement of the WSDL 2.0 CR to the SOA Web Services Journal, where it became a news flash complete with my picture!  Or, actually, someone’s picture.  Looks like Noah Mendelsohn of IBM to me…

WSDL (Web Services Description Language) 2.0 Call for Implementations

As I’ve just spent some time broadcasting the WDSL 2.0 Call for Implementations announcement to every place I can thing of, I’ll put a copy of it here too.

The WSDL 2.0 specification [1,2,3] is now officially a W3C Candidate Recommendation (CR), the phase during which the Web Services Description Working Group [4] verifies the implementability of the spec and tests the interoperability between implementations from different vendors.

The CR phase is designed to flush out any remaining inconsistencies, edge cases, and ambiguities in the spec that arise from implementing the spec in a variety of different environments. During this phase, the Working Group provides evidence that the spec is and will have independent implementations. After successful completion, the specifications move to final W3C Recommendation status.

Accordingly, the Working Group is very interested in hearing about any implementations of the specification, and invites implementers to contact the Working Group to identify industry implementations.

The Working Group also invites implementers to try out their implementations against, and contribute to, the small but growing WSDL 2.0 Test Suite [5]. An interoperability event will be held as the implementations and test suite mature, which will be open to all implementers of the specification.

[1] http://www.w3.org/TR/2006/CR-wsdl20-primer-20060106/
[2] http://www.w3.org/TR/2006/CR-wsdl20-20060106
[3] http://www.w3.org/TR/2006/CR-wsdl20-adjuncts-20060106
[4] http://www.w3.org/2002/ws/desc
[5] http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/test-suite/index.html

WSDL 2.0 goes CR!

A few days shy of four years after the effort kicked off, the W3C Web Services Description Working Group released WSDL 2.0 as Candidate Recommendation!  This is a major milestone, representing the disposition of all issues raised by the members of the Working Group, and comments from the public.  Here’s a combined graph of our public comments that resembles a cross-section of the Himalayas.

Candidate Recommendation means that we’ve summited, and we need to do now is hope there are no sudden storms on our way back to base camp…

Everything on a Waffle

I’ve been reading Polly Horvath’s Everything on a Waffle to my daughter, and we ROFL when we got to this part (she’s had to sit through some meetings with me):

The meeting dragged on and on because as usual there were three people who loved to hear themselves talk and wouldn’t shut up and it took the moderator a long time to figure out that none of them had anything to say.

I’ll admit after spending lots of time in meetings I’ll admit that one of those three people is probably me - but that still means you might be one of the other two ;-).

Happy birthday xml:id!

At long last, the W3C has completed its process and put the "Recommendation" imprimatur on xml:id Version 1.0.  xml:id addresses a long-standing problem in XML - that identification of elements (subresources) within an XML document requires a separate description (DTD, XML Schema, at least fragmentary) of the content model.  While description is often useful, one of the primary advantages of XML over its predecessors is that no description is necessary to parse an XML document, and consequently few processes do.

As a result, the common case of pointing into an XML document (see XPointer) has required the uncommon step of finding and processing the documents description.  People have been working around this problem for years in various hacky ways.  xml:id provides a convention, and associated processing semantics, which solves this problem.

It will take a while for xml:id to be adopted widely, but getting its "Rec" stamp is an important milestone in that journey, and should give confidence to users that this mechanism is worth considering, and to vendors that this mechanism is stable and thoroughly peer reviewed.

My part in the xml:id story is rather modest, despite my credit as an author - I was part of the XML Core Working Group when xml:id was conceived, helping write the requirements and an initial draft.  As Microsoft dropped its membership in the group I wasn’t active in the long and tedious process of moving the specification to its conclusion, and full credit must go to Norm Walsh and Paul Grosso (co-chairs) and the rest of the Working Group in their patience and diligence.

Here’s hoping for a long and bright future for xml:id!

WS-August

Ironically, the W3C Web Services Activity appears most productive when it’s on holiday ;-).  An impressive list of deliverables from the Web Services Description and Web Services Addressing Working Groups has appeared this month, while the Working Groups take their August break.  Maybe we should take holidays more often!  Or were we just so motivated to start our vacations that we actually came to agreement over the hard issues represented in these publications?

In any case, congratulations to all my fellow WS-Desc and WS-Addr members on a productive summer!  This marks a significant jump in the level of stability of each of these documents, and shows that there may indeed be a light at the end of these tunnels.