A Fresh Beginning
Stepping into the demilitarized zone between COM and Corba, I'd like to briefly touch on one concept that has the potential to obviate most other forms of remote communication: the Simple Object Access Protocol (SOAP). The goal of SOAP is to create a standards-based method of data transfer that slices its way through firewalls without regard for the platform at the receiving end. The only protocols capable of meeting these goals are XML and HTTP. Put them together for complete RPC. Swing your partner and do-si-do.
The best way to examine the importance of this development is to look at a sample SOAP envelope:
<SOAP:Envelope xmlns:SOAP="urn:schemas-xmlsoap-org:soap.v1"> <SOAP:Body> <addRow> <rowData> <cellData>One</cellData> <cellData>Two</cellData> <cellData>Three</cellData> </rowData> </addRow> </SOAP:Body> </SOAP:Envelope>
NOTE
Click here to download a zip file containing the source files for this article.
So we've added a clever namespace named SOAPit's still just an XML document. Anyoneman or machinethat can "read" XML can discern the basic intent of this packet. Marketing would certainly frown upon this as a final message to a customer, but that's why we've created the HTMLDataGrid described in my previous articles.
Before I launch headlong into the practical application of this technique, I'll admit to skipping over some other important detailsnot the least of which is a new class of services that will be used to essentially seal and open SOAP envelopes at the endpoints of the communication path. For our purposes, it's sufficient to treat an envelope as just another XML namespace that's removed. It's also good to plan ahead for the time when proxies will be in use.