|

SOAP
is Posted as a Note to W3C
On, 8 May 2000, Simple Object Access
Protocol (SOAP) 1.1
was posted as at Note to the W3C. This document
was submitted to the W3C to propose the formation
of a working group in the area of XML-based protocols.
At this point in time, W3C has had no editorial
control over the preparation of SOAP 1.1. It is a work in progress and may be updated,
replaced, or rendered obsolete by other documents at
any time.
The authors of SOAP
include Don Box, DevelopMentor,
David Ehnebuske, IBM,
Gopal Kakivaya, Microsoft,
Andrew Layman, Microsoft,
Noah Mendelsohn, Lotus
Development Corp., Henrik Frystyk Nielsen, Microsoft,
Satish Thatte, Microsoft,
and Dave Winer, UserLand Software, Inc.
While many of the participants are from Microsoft, it
is interesting to note the participation by the usual
Microsoft rival, IBM/Lotus.
SOAP provides a lightweight XML-based protocol for exchange of information in a
decentralized, distributed environment. The SOAP protocol consists of three parts:
the "SOAP envelope" that defines a framework for describing
what is in a message and how to process it, a set of "SOAP encoding rules" for
expressing instances of application-defined datatypes, and a convention for
representing remote procedure calls and responses called "SOAP RPC. "
Although these parts are described together as
SOAP, they are functionally orthogonal. In particular, the envelope and the
encoding rules are defined in different namespaces in order to promote
simplicity through modularity. In addition to the SOAP envelope, the SOAP encoding rules
and the SOAP RPC conventions, this specification defines two protocol bindings
that describe how a SOAP message can be carried in HTTP either with or without the HTTP Extension Framework. SOAP messages are fundamentally one-way
transmissions from a sender to a receiver. SOAP messages can be combined
to implement patterns such as request/response.
SOAP enables
applications to communicate with each other in a rich
way over the Web's infrastructure. Today, the bulk of
Web traffic consists of browsers connecting to servers
and retrieving HTML pages for the human user to view.
SOAP extends the capability of the Web by enabling
applications to communicate with other applications,
and it provides a framework for connecting Web sites
and applications to create Web services.
SOAP provides an
underlying mechanism for each Web service to
expose its features and communicate with other
services. Imagine an
application that links together directions you get
from an online mapping site with real-time traffic
data from a Department of Transportation site and with
information about when you're supposed to be at your
destination retrieved from your calendar. The result
could be an application that reminds you to leave 15
minutes early to get to your destination, and
re-routes you around a traffic accident. With SOAP, you can link these services
together as components and build this kind of
application very quickly. SOAP enables homogenous or
heterogeneous components to communicate over the
Internet as well as coarse-grained, service-to-service
communication and component-to-service communication.
Today, you might invoke remote objects using some
kind of binary protocol such as DCOM, RMI, or CORBA IIOP. This means that client
applications are designed to communicate with specific server applications. It
also means that if you want to run applications that are outside your firewall,
you need to "punch holes" in your firewall in order for a client and
server to talk to each other. SOAP fixes both of these problems by enabling
applications to more easily discover each other's capabilities and to run
seamlessly over the Web. SOAP provides
a way to use the Web infrastructure to enable applications to
communicate directly with each other without being unintentionally blocked by
firewalls.
Return
to TOC
|