|
Simple Object Access Protocol (SOAP)
Highlighting Web Interoperability
The Electronic Business XML (ebXML) standards body announced
in March that it would incorporate Simple Object Access Protocol
(SOAP) into its messaging specifications. According to Gartner,
this move points to a clearer choice for enterprises that
have been pondering whether to embrace SOAP or MIME for messaging
specifications.
SOAP is used primarily for making remote procedure calls across
machine and network boundaries. SOAP has these primary advantages:
- Posting data over the HTTP protocol means not only that
the delivery mechanism is widely available but also that
SOAP is able to get past firewalls that pose problems for
other methods.
- SOAP uses the open standard of XML to format data, which
makes it easily extendable and well supported.
- Also because SOAP is a wire protocol based on XML and
HTTP, it is possibly the most widely interoperable protocol
to date.
SOAP will change the way we design systems, making it easier
to take advantage of third-party software via Web services.
SOAP primarily uses the standard HTTP request/response model.
The client wraps a method call in SOAP/XML, which is then
posted over HTTP to the server. The XML request is parsed
to read the method name and parameters passed and delegated
for processing. The XML response is then sent back to the
client, containing the return value-or fault data-of the method
call. Finally, the client may parse the response XML to make
use of the return value.
The server uses a 'listener' to process SOAP requests. The
listener is simply the server code at the specified URL for
parsing the XML request, making the procedure call, and wrapping
the result in XML to send as the response.
SOAP achieves interoperability by providing an XML format
that can be transferred as simple text over HTTP or any other
protocol capable of transferring XML text. The widespread
support of HTTP and XML makes SOAP available as the remoting
protocol for nearly any solution. SOAP has considerable momentum
over similar solutions, like XML/RPC, and is quickly becoming
the standard for remoting.
SOAP is fueling the rapid rise of 'Web services', which have
the potential to change the face of Internet application development.
Web services are Internet-based modules that perform a specific
business task. The service publishes the interface used to
interact with it in Web Service Description Language (WSDL),
and other applications can invoke the service by making SOAP
calls.
Web services are analogous to ActiveX controls or objects,
but Web services are available to anyone who can make the
SOAP call to them. Projects such as Universal Description,
Discovery and Integration (UDDI) are attempting to create
a catalog of services available on the Web.
SOAP does not attempt to handle some issues that other remoting
protocols tackle (e.g., garbage collection and marshalling
by reference). These features are left to the implementer,
if required, since not all clients and servers support them.
|