5.1 Background


Where CORBA and COM+ followed RPC, SOAP and XML-RPC are more like its contemporaries. While SOAP was going through a very thorough process of requirements gathering and design analysis, XML-RPC was spun off from an early draft of SOAP.

The time spent in design and planning was far from squandered. The resulting specification from the working group is very flexible and leaves a considerable amount of room for expansion of the protocol. Expansion and extension of the protocol may come from added XML applications bundled into the encoding layer, in either (or both) of the message header and body. Beyond this, the protocol itself is kept by version and maintained as a W3C Technical Recommendation , the term used by the W3C for standards that have been adopted.

At the time of this writing, the Technical Recommendation (TR) of the specification is at Version 1.1, with Version 1.2 currently very close to acceptance as the new current TR. By virtue of the clear definitions of versions and capabilities of the specification, an application (usually at the server end) can tell almost immediately whether it can handle a given request well before reading the entire message.

As this chapter outlines the elements and structure of SOAP communications, there will occasionally be the need to highlight a significant difference between the two versions of the protocol. Look for such differences in paragraphs like this.

SOAP offers a lot more capability and expressiveness than XML-RPC. In addition to enabling remote procedure calls, it also supports a document model in which messages are more free-form and not as strictly defined in terms of a more typical call/response pattern. While it doesn't inherently do features such as security, authentication, transactions, etc., it allows these concepts to be layered over the basic SOAP elements.

SOAP allows for conversations to be designed around more than one server, or node , as they are often called in the specification. SOAP uses the concepts of actors (called roles in SOAP 1.2) and metadata to fine-tune the transition of messages through all stages of a conversation. Like XML-RPC, SOAP can express all the relevant data (method names , data, and parameters) as XML within the messages. Unlike XML-RPC, SOAP allows for more choice and flexibility in how encoding takes place, by allowing messages to specify the encoding rules they use. These topics are explored in greater detail in later sections.



Programming Web Services with Perl
Programming Web Services with Perl
ISBN: 0596002068
EAN: 2147483647
Year: 2000
Pages: 123

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