December 20, 2000
This week the XML-Deviant reports on a promising discussion concerning potential convergence between several XML protocol activities.
ebXML and SOAP
During his recent XML 2000 keynote, Jon Bosak outlined a vision of the future of web services, which was summarized by Eric van der Vlist as
- XML as a core technology
- UDDI to find the services we need
- SOAP to perform the simple ones
- ebXML for the most complex ones
For readers not familiar with the projects Bosak cites, some pointers might be useful.
Universal Description, Discovery and Integration, UDDI is a discovery mechanism for finding e-commerce businesses and their services. ebXML is an e-commerce framework, describing protocols and processes for conducting electronic transactions. The ebXML framework consists of several components, notably a messaging layer (Transport, Routing and Protocol) and a Registry and Repository system. The relationship of ebXML to UDDI was discussed in a recent XML.org feature, "Understanding ebXML, UDDI and XML/edi".
SOAP is the XML messaging protocol, grown out of XML-RPC, and was one impetus for formation of the W3C Protocol Activity, known as "XP." For those wanting additional information, a useful comparison article on developerWorks summarizes current XML Messaging projects.
Wanting to explore Bosak's vision further, Michael Champion invited comment from members of the W3C xml-dist-app mailing list.
I'm wondering if participants here agree with the notion that SOAP is for simple services and ebXML for mission critical transactions. If so, what about ebXML makes it more suitable for mission critical work? (Transaction processing support, maybe?)
What about the objectives of the XML Protocols activity? I don't see anything in the Activity Statement or Charter one way or the other that would reflect on this issue.
Agreeing that discussion of the relative roles of SOAP and ebXML is important, David Burdett attempted to highlight the requirements behind the ebXML messaging layer.
So what's the problem space that ebXML messaging is addressing. To sum up I would say that the goal of ebXML was to enable "the secure, reliable delivery of any data over any network".
Burdett noted that many aspects of ebXML messaging are optional, allowing it to be used for "[in]secure, unreliable sending of messages" also. Burdett further contrasted the focus of ebXML's design from that of SOAP and XP.
So really ebXML's approach is to start with a larger (for want of a better word) problem than SOAP/XP and provide option[s] so that all the features do not need to be used unless they are required. By comparison, XP seems to be adopting more of a minimalist approach on which addtional functionality such as security and reliability can be layered.
Either approach is viable although you could argue that a minimalist approach might provide a better "layering" of the protocols.
James Snell suggested that SOAP is frequently undervalued as a messaging system and could be extended to fulfill a role similar to ebXML.
There is, however, a tendency to minim[ize] SOAP into nothing more than a simple XML RPC mechanism that gives the appearance that, while the architecture is indeed simple, that it is not a suitable mechanism for mission critical, complex business applications. On the contrary, it is SOAP's fundamental simplicity and extensibility that gives it [its] strength.
While ebXML is primarily geared towards business-to-business communication, SOAP is capable of bending towards many different purposes, including those that ebXML is exclusively designed to address. As far as I can see, the only real difference between ebXML and SOAP is that ebXML has more features cooked into the architecture than does SOAP. Whereas the ebXML specification includes MIME support, the SOAP specification is flexible enough to allow for it. Whereas the ebXML specification includes reliable messaging, the SOAP specification can support the definition of reliable messaging requirements through it's extensible header structure.
There's no doubt that Bosak was considering more than just messaging when outlining his vision for web services. However the XML Protocol community seems to agree that convergence is required at the lowest level. (Jon Ibbotson described it as a "no-brainer" ). David Cleary was among several contributors who voiced support, while drawing parallels with BizTalk.
I agree with the notion that ebXML is not appropriate for every uses case, and that SOAP is a better choice for many applications. What I do not agree with is that SOAP can not be the base upon which something such as ebXML could be built. A perfect example of this is BizTalk. It has the same requirements as ebXML, but is built on top of SOAP.
So [...] my point is that XP can be used for mission critical work if you build the required services on top of it.
Satish Thatte also contrasted the relationship between BizTalk/SOAP and ebXML/XP:
Although early versions of BizTalk Framework were designed from scratch without reference to SOAP, in the 2.0 version we were able to rebase the framework completely to build on SOAP. In so far as XP plans to provide an extensible protocol framework in the SOAP tradition, there is absolutely no reason why we cannot use XP to build a protocol that fulfills the set of requirements ebXML's transport/routing/packaging work is based on.
Thatte later observed that the layered approach that XP is adopting enables a greater degree of flexibility.
...XP is approaching the layering problem the right way, by building an enabling protocol framework with a general model for extensibility, composition, intermediaries, and so on, rather than a closed protocol for a fixed requirement set.
Brian Eisenberg described the prospect of convergence between messaging applications as a welcome turning point in the process.
It's great to finally be working towards convergence. I truly believe that we can accomplish this within the XP activity. The key to interoperability, as John mentioned[,] is to architect an XP that is extensible and able to support the needs of both communities. I think we've finally reached a critical turning point in the overall XML messaging game. I've been waiting for this to happen for a while now, and I'd just like to say that it's through discussions like this that we are able to come to a common understanding and work together to move things forward.
Making It Happen
Convergence, and its consequent simplifications, is something of a happy prospect considering the risk of proliferation of competing standards. So how and when will convergence take place? Krishna Sankar said that XP may replace the ebXML Transport, Routing and Protocol (TRP) layer, but not until Phase 2 of the ebXML process.
As XP is extensible, nothing stops us from implementing the ebXML TRP over XP. And we can use the rest of the ebXML stack ... I think the XP deliverable and the Phase II of ebXML might coincide and there is a chance for synergy.
ebXML Phase 1 is due for delivery around May 2001, while the XP process is not likely to bear fruit until 2002, hence the cautious estimate. As Sankar noted, attempting to converge earlier would involve a great deal of effort.
In short, at a pragmatic level, we can look for alignment and cross-pollination now ... and a possible convergence somewhere in the middle of next year. For anything else, we would need to overcome huge inertia - including promised deliverables by the various groups.
Dick Brooks believed it is important to avoid impeding the progress of either effort.
I don't believe XP [or] ebXML should cease working toward their deadlines/milestones. Convergence efforts will have to work in parallel with the main efforts of each group.
Timing seems to be the critical factor: there is a great deal of industry pressure behind the delivery of both XML messaging as well as the ebXML and BizTalk frameworks, both of which initially rejected SOAP as a messaging layer due to its perceived immaturity. However, BizTalk now uses a SOAP-based framework, and ebXML appears to be looking towards its probable successor as a future foundation. This kind of leap-frogging is a good way to boot-strap into a framework so long as change control, interoperability, and standardization are well-managed. There is already a good degree of cross-pollination of people and ideas between the projects, avoiding needless reinvention of ideas, and achieving broad understanding of requirements.
The last word on the discussion should go to Chris Ferris, the ebXML Vice Chair, who welcomed feedback from others on the ebXML effort.
It is heartening to see that the ebXML TR&P requirements are being seriously considered by the XP WG. This will certainly help to further the likelihood that we might achieve convergence once the XP WG has delivered its specification as a W3C Recommendation.
...ebXML is a big effort involving hundreds of participants across five continents, operating under international rules. TR&P is just one of the activities. A convergence solution should respect the prerogatives as well as the hard work of both organizations...Those of us working on ebXML would gladly invite the members of the XP WG to review, provide feedback and/or contributions to our work. I believe that there is much which we can learn from each other.