XML Protocol Technology Reference
by Edd Dumbill
November 01, 2000
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.
- Status: Single-vendor proposal, software deployed.
- Read more: ADS Announcement
- Read more: ADS White Paper
- Read more: IBM's Web Services architecture
- Write code: IBM Web Services toolkit
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.
- Status: In development, software deployed.
- Web site: BXXP.org
- Read more: BXXP at 30,000 feet
- Read the specs: IETF Internet Drafts
- Write code: BXXP projects page
- Community: BXXP WG mailing list, BXXP.org community
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.
- Status: Early stage, request for proposals.
- Read more: OMG RFP
- CORBA/SOAP
Announcement
- Community: XMLPC-CORBA mailing list.
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.
- Status: In development.
- Web site: ebXML.org
- Read the spec: Messaging Service Specification (PDF format, draft as of 16 October 2000)
- Community: Working Group mailing list
NASSL
Network-Accessible Service
Specification Language
An XML interface description language for SOAP services,
devised by IBM. Now obsoleted by WDSL.
- Status: Obsolete.
- Read more: IBM's Web Services architecture overview
- Write code: IBM Web Services toolkit
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.
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.
- Status: At version 1.1, submitted as input to the
W3C's XML Protocol activity, software deployed (but see W3C XML Protocol)
- Read more: Web Services and the Simple Object Access Protocol (Microsoft)
- Read the spec: W3C
NOTE: SOAP 1.1
- Write code: Perl, Java, Windows, Python.
- Community: SOAP mailing list.
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.
- Status: In development, initial specs issued.
- Web site: UDDI.org
- Read
more: Technical
White Paper
- Read the spec: Specifications in
Word and PDF
- Write code: jUDDI is a Java-base open source
implementation of a UDDI registry and client code, spearheaded by
James Tauber of BowStreet.
- Community: General
and technical
newsgroups.
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.
- Status: In development.
- Web site: W3C
XML Protocol Activity
- Read more: XML Protocol Activity Statement
- Read more: XML Protocol Working Group Charter
- Community: W3C xml-dist-app mailing list
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.
- Status: In development.
- Read the spec: WSDL 1.0
- Write code: IBM Web Services toolkit
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).
- Status: Stable, deployed since 1998.
- Web site: XMLRPC.com
- Read more: XML-RPC for Newbies (UserLand)
- Read the spec: XML-RPC Specification
- Write code:
Perl, Java, PHP, other implementations.
- Community: XML-RPC mailing list.
|