Menu

XML Protocol Technology Reference

November 1, 2000

Edd Dumbill

XML Protocol Technology Reference

The use of XML for loosely-coupled application integration has become a high profile topic, crucial as it is for the future conduct of electronic business transactions. This area has seen a proliferation of activity from both consortia and individual vendors.

This article gives an overview and essential information about the most important technologies and initiatives in the XML protocol area. Most of these technologies are being developed under the auspices of either a multi-vendor consortium or standards body.

Contents

The XML protocol technologies are presented in alphabetical order in this article. They may also be divided into the following specialist areas.

Protocols and Messaging

SOAP, XML-RPC, BXXP, ebXML Messaging, W3C XML Protocol.

Interface Description

WSDL, UDDI, (obsolete: SCL, NASSL).

Service Discovery

UDDI, ADS, DISCO.

Interoperability

CORBA/SOAP integration.


ADS

Advertisement and Discovery of Services

ADS is a proposal from IBM to allow web service providers to advertise the availability of their services. It allows for aggregation of this service information at a well-known location, and it provides ways of linking content and services.

ADS complements a registry-based approaches like UDDI as it provides an alternative, decentralized, service-announcement mechanism. It follows the same lines as, and is more advanced than, Microsoft's DISCO idea.

BXXP

Blocks eXtensible eXchange Protocol

BXXP offers a slightly different approach to protocols like XML-RPC and SOAP. Instead of building on top of HTTP, BXXP is layered directly on TCP. It's been designed from the start for protocols. It supports authentication, transport security, and data communication. IMXP, a protocol for instant messaging that uses BXXP, has been created by BXXP's originators.

Standardization of BXXP is now being pursued through the IETF.

CORBA/SOAP

Integrating XML, CORBA and HTTP

The OMG, custodian of the CORBA distributed object architecture, has issued a request for proposals to support CORBA semantics over SOAP and to enable SOAP clients to access CORBA services. This would bridge the vast world of deployed CORBA application services to the emerging world of XML/SOAP web services.

DISCO

Discovery of Web Services

DISCO "represents the current thinking" (as of July 2000) within Microsoft about discovery of SOAP/web services. It proposes a way that information about web services might be embedded in documents and recovered by a user agent.

It has similarities with IBM's ADS.

  • Status: Thinking out loud.
  • Read more: DISCO.

ebXML Messaging

Electronic Business XML Initiative: Transport/Routing and Packaging -- Messaging Service

ebXML is a project hosted by the United Nations body for Trade Facilitation and Electronic Business (UN/CEFACT) and OASIS to create an XML infrastructure for conducting electronic business. As part of that initiative, the ebXML Transport/Routing and Packaging group has devised a protocol for sending XML messages.

The ebXML messaging draft differs from some other efforts in this area (e.g. SOAP) in that it uses MIME to package up the parts of a message rather than a 100% XML solution.

NASSL

Network-Accessible Service Specification Language

An XML interface description language for SOAP services, devised by IBM. Now obsoleted by WDSL.

SCL

SOAP Contract Language

SCL is an XML language created by Microsoft for describing SOAP interfaces. It has been superseded by WSDL, as has an earlier proposal, SDL.

  • Status: Obsolete.

SOAP

Simple Object Access Protocol

SOAP is a lightweight protocol for the exchange of XML-encoded information. It has three parts: an XML-envelope to carry the messages, rules for encoding program objects into XML, and a convention for performing remote procedure calls (RPC).

Created by Microsoft, IBM, DevelopMentor, Lotus, and UserLand, SOAP has been in development for a long time. Borne out of work that originally generated XML-RPC, SOAP has been through three major iterations (0.9, 1.0 and 1.1), and is now the most practical XML/HTTP messaging and RPC combination.

UDDI

Universal Description, Discovery and Integration of Business for the Web

The UDDI group was started in July this year by Microsoft, IBM and Ariba. Most other leading B2B companies have joined the effort.

UDDI provides a framework for the description and discovery of business services on the web. It does this by using distributed Web-based registries of services, and conventions for accessing that registry using SOAP.

W3C XML Protocol Activity

In response to the growing interest in the use of XML for distributed peer-level communication, the W3C has created an XML Protocol Activity. The aim of the activity is to develop solutions that "allow a layered architecture on top of an extensible and simple messaging format, which provides robustness, simplicity, reusability and interoperability."

The first working group to be chartered within the activity is the XML Protocol Working Group. Broadly speaking, this WG is chartered with producing a SOAP-like protocol for XML messaging comprising an envelope, object serialization conventions, an HTTP transport binding and conventions for conducting remote procedure call.

SOAP is likely to be superseded at least in part by the introduction of the result of this working group, but this won't be until the end of 2001 at the earliest.

WSDL

Web Services Description Language

Released by Microsoft, IBM and Ariba (the three initiators of UDDI), WSDL is an XML language for describing network services or endpoints. WSDL 1.0 includes bindings of service descriptions for the SOAP protocol, and also for simple HTTP GET and POST requests.

WSDL supersedes IBM's NASSL and Microsoft's SCL efforts, and it's complementary to the UDDI initiative.

XML-RPC

A predecessor of SOAP, created by members of the early SOAP team UserLand, Microsoft and Developmentor, XML-RPC has gained a lot of software support. XML-RPC provides a simple protocol for remote procedure call that utilizes XML and HTTP. Some interesting implementations have been created using XML-RPC, from embedded devices through web browers (Mozilla) to application servers (Zope).