home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam    

Book HomeJava and XSLTSearch this book

Chapter 14. SOAP

XML's openness allows it to be implemented on any platform. Between the clear nature of XML and the ease at which you can deliver content over the Web, you can easily use XML to distribute content to a wide audience.

Imagine an order-entry system for a company with a heterogenous computing environment in locations all over the world. While you could write client software for every platform that you support, a preferable solution might be to deliver XML content over the Web and have an order-entry client that parses the XML, displays the results, and posts any changes back to the server via XML.

If you think that such an idea might be a workable one, but fear writing such a thing for yourself from scratch, you might consider trying SOAP or Frontier (XML-RPC2).

14.1. What Is SOAP?

SOAP (Simple Object Access Protocol) is a protocol that allows you to invoke methods on remote objects. SOAP was originally drafted in 1998 by Dave Winer, Microsoft, and DevelopMentor.

SOAP is not tied to any specific programming language. You can find similar SOAP implementations under Perl, Python, C, and Java. It is merely a protocol, one that is simple enough to function under HTTP.

SOAP implements its own XML vocabulary that represents methods, return values, and exceptions. By implementing its own set of HTTP headers, SOAP also allows you to handle SOAP packets at your firewall/proxy server.

There are two components to SOAP: RPC and EDI. RPC, or remote procedure call, is what you'd use to get a data response (in pairs) from another host, such as a set of items and prices from an order-entry system. EDI is the interface component of SOAP, returning content such as an order entry form, but leaving the actual data processing to RPC.

Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.