What Is SOAP and Why Is it Important?

Team-Fly    

 
XML, Web Services, and the Data Revolution
By Frank  P.  Coyle
Table of Contents
Chapter 4.   SOAP


SOAP is an XML-based protocol for exchanging information in a decentralized, distributed environment. It was literally made for the Web, a combination of XML and HTTP that opens up new options for distributed data exchange and interaction in a loosely coupled Web environment. As Figure 4.1 shows, SOAP is a technology that allows XML to move easily over the Web. SOAP does this by defining an XML envelope for delivering XML content and specifying a set of rules for servers to follow when they receive a SOAP message.

Figure 4.1. SOAP has opened opportunities for extending the enterprise.

graphics/04fig01.jpg

The fundamental change brought about by SOAP has been the ability to move data anywhere across the Web. Figure 4.2 illustrates that until SOAP there were only two main options for moving data between partners. One was to build a wide area network spanning a broad geographic region and let partners plug into it. This was the approach taken by Electronic Data Interchange (EDI), which defined messages and protocols for data transfer but left the network details up to the partners. The result was a collection of networks that pretty much locked the partners in and made it difficult and expensive to reach out to other EDI networks and costly to bring in new partners. The second approach for moving data between partners was to build a distributed object infrastructure than ran over the Internet. This was the approach taken by Common Object Request Broker Architecture (CORBA), Remote Method Invocation (RMI), and Distributed Component Object Model (DCOM). The problem was that each had to decide on a protocol that could sit on top of TCP/IP and handle interobject communication. CORBA chose Internet Inter-ORB Protocol (IIOP), DCOM chose Object Remote Procedure Call (ORPC), and RMI chose Java Remote Method Protocol (JRMP). While this approach reduced the need to share the same underlying network, the drawback was that CORBA could talk to CORBA, RMI to RMI, and DCOM to DCOM, but they could not talk to each other nor directly to the Web except through special sockets that required adding extra layers to an already complex architecture.

Figure 4.2. SOAP is one of several options for moving data across the Web.

graphics/04fig02.jpg

SOAP, the third option shown in Figure 4.2, combines the data capabilities of XML with the transport capability of HTTP, thereby overcoming the drawbacks of both EDI and tightly coupled distributed object systems such as CORBA, RMI, and DCOM. It does this by breaking the dependence between data and transport and in doing so opens up a new era of loosely coupled distributed data exchange.

Dave Winer, one of the authors of XML-RPC and a contributor to SOAP, describes the implications of working in this new loosely coupled space centered around XML.

[A]ll of a sudden you're not locked in. If you want to switch from Java to Python, for example, you can do it gradually, one component at a time. This kind of fluidity allows developers more choices, and relieves platform developers of the responsibility of being all things to all people....Viewed another way XML-RPC turns the Internet itself into a scripting environment, much as Visual Basic turned Windows into a scripting environment, or AppleScript turned the Macintosh OS into one. It makes our worlds come together, makes the bigger world smaller and more approachable. And it's inclusive, no one need be left out. [1]

[1] Dave Winer, foreword to Programming Web Services with XML-RPC by Simon St. Laurent, Edd Dumbill, and Joe Johnston (San Sebastopol, CA: O'Reilly, 2001). Also available at http://www.xmlrpc.com/stories/storyReader$1726.

Although Winer is talking about XML-RPC, a precursor to SOAP, his observation is applicable to the environment in which we now find ourselves , one where scripting languages are becoming important tools for assembling components and services. In the few short years since its inception in 1998, SOAP has gained wide acceptance across the software industry. Its impact is evident from the following observations:

  • Web services frameworks use SOAP as the transport technology for delivering data and XML-RPC messages across distributed networks.

  • Microsoft is committed to SOAP as part of its .NET initiative.

  • Sun is using SOAP in its Sun Open Net Environment (Sun ONE) Web services framework.

  • IBM, which has played a major role in the SOAP specification, has numerous SOAP support tools, including a SOAP toolkit for Java programmers. IBM has donated the toolkit to Apache Software Foundation's XML Project, which has published an Apache-SOAP implementation based on the toolkit.

  • CORBA Object Request Broker (ORB) vendors such as Iona are actively supporting SOAP in the form of CORBA-to-SOAP bridges.

To understand SOAP's impact and how it has so quickly found a place in so many different software initiatives, from Web services to .NET to Java 2 Enterprise Edition (J2EE), it's instructive to look at how it evolved from a confluence of forces.


Team-Fly    
Top


XML, Web Services, and the Data Revolution
XML, Web Services, and the Data Revolution
ISBN: 0201776413
EAN: 2147483647
Year: 2002
Pages: 106
Authors: Frank Coyle

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net