previous | start | next

Future RPC: Web Services with SOAP & XML-RPC

The XML data model is rich enough to represent virtually any data object. Initially, a group working at Microsoft came up with the idea of doing Remote Procedure Calls using XML as the "serializing" technology. Their original work has spun off to become the "XML-RPC" project, which has the aim of "...remote procedure calling using HTTP as the transport and XML as the encoding. XML-RPC is designed to be as simple as possible, while allowing complex data structures to be transmitted, processed and returned.". XML-RPC is based on HTTP's POST request for the "procedure call" and an ordinary HTTP response to return the results.
 
A separate project team, at Microsoft, decided to extend the basic idea of XML-based RPC to a much more elaborate protocol, calling it the "Simple Object Access Protocol (SOAP)". It has been submitted to W3C as a proposed standard. It can run over HTTP or SMTP (?), and allows arbitrary objects to be encoded (or serialized). SOAP has the backing of several influential companies (Microsoft, IBM, etc).
 
The (recently invented) expression "Web Services" is based on SOAP, and describes a range of proposed "Business-to-Business" XML-based services running over HTTP (port 80). Perhaps the most significant aspect of SOAP-based Web Services is that both the protocol (usually HTTP) and the core language (XML) are public standards, and are well understood. Even more significant is that SOAP builds on the knowledge gained from a decade of "The Web", and from this perspective alone is likely to succeed.
 
Lecture 24: Data Formats and Encoding -- A Philosophy Lecture Copyright © 2005 P.Scott, La Trobe University Bendigo.


previous | start | next