All in a lather about SOAP!
By Ed Tittel
Having now coffee'd the many and obvious Java puns into a jittery oblivion, writers like myself are delighted at the waxing importance and increasing appearances of the XML-based Simple Object Access Protocol (a.k.a. SOAP) on the distributed computing scene. Simply put, SOAP provides a mechanism whereby applications can send messages to one another using explicit XML-data definition tools and techniques that makes it easier than ever before for networks to ferry data and instructions among various distributed application components. At least, that's the theory that's driving this exercise...
SOAP is the brainchild of not only IBM and Microsoft, but also DevelopMentor and Userland Software (both vendors of advanced software development tools). Despite being XML-based it's been submitted to the IETF and has taken on the status of an official recommendation. Even though Microsoft's been involved in SOAP since the get-go, the specification has retained a decidedly open look and feel, which explains its broad appeal to developers inside and outside various development "camps."
Basically SOAP uses HTTP as its transport protocol and XML to define message payloads, which lets it travel seamlessly over existing networks, yet use a rigorous and self-describing meta-language to describe and capture message contents. SOAP also differs from other messaging protocols in that it does not require a session-level connection between sender and receiver, or pairs of communication partners, using the inherently stateless behavior of HTTP to good effect, and in supplying explicit message payload definitions in the form of XML DTDs or schemas.
Recently, public interest and enthusiasm for SOAP are up in the wake of some interesting market developments:
- Microsoft has indicated that SOAP will be an essential messaging mechanism in its .NET distributed computing initiative.
- Not to be outdone, both Sun's Enterprise Java and IBM's WebSphere initiatives also include special (and we hope very clean) places for SOAP.
- The W3C is launching research and development into an XML-based general messaging protocol called XP (for XML Protocol) that bases itself entirely on SOAP.
- The Apache Cocoon initiative--which provides powerful content management and delivery capabilities--makes interesting use of SOAP in its architecture, too.
Thus, it seems possible, or perhaps even likely, that we'll all soon be up to our ears in SOAP messages. But those messages will be coming from multiple platforms and initiatives, and servicing a variety of goals and objectives along the way. Does this mean that SOAP is worth your attention, particularly for distributed applications that probably involve various kinds of middleware?
You bet it does! This is true for at least two reasons:
- There's considerable ferment in the SOAP world right now, particularly as a new set of specifications goes into frantic development. More vocal involvement from experienced distributed application developers should help the IETF get things right.
- As developers start using this technology, they're beginning to discover areas of friction or difficulty as they put SOAP's claims of interoperability to the test (namely the notion that the platforms and languages used to create SOAP messages shouldn't matter). The development community needs to weigh in heavily on the side that SOAP should be (ahem!) as clean as possible in its abilities to permit arbitrary groups of message-emitters and message-receivers to exchange messages freely and easily.
Finally, I think SOAP is a worthwhile effort that is bound to have a strong impact on middleware because of the impact that XML's explicit and extensible markup can have on SOAP-based applications. If implemented properly and cleanly, SOAP should make it easier to interconnect multi-tiered and distributed application components than ever before, and to do it in all kinds of interesting ways. And if you think getting Windows 2000 to talk to Solaris 8 is hard, wait until you try getting a wireless phone to send a message to your microwave oven. SOAP may indeed be able to come to the rescue!
Send an e-mail to etittel@lanw.com if you have questions on this or other XML topics. Please see http://www.c-sharpcorner.com/ for more interesting coverage of SOAP and XML topics, and Robin Cover's excellent review of this topic at http://xml.coverpages.org/soap.html for more places to start learning about SOAP.
Ed Tittel is a principal at LANWrights, Inc., a wholly owned subsidiary of LeapIt.com. LANWrights offers training, writing, and consulting services on Internet, networking, and Web topics (including XML and XHTML), plus various IT certifications (Microsoft, Sun/Java, and Prosoft/CIW).
Related Book
Understanding SOAP
Author : Kennard Scribner
Publisher : SAMS Publishing
Published : Jun 2000
Summary:
Understanding SOAP begins with a discussion of distributed object computing, reviewing the current technologies. It then discusses the realities that make distributed object computing so difficult. Given these realities, the book provides a case study of a current technology to show why it is so difficult to distribute objects and why a protocol, such as SOAP, is such an important topic.