The idea of using XML over HTTP to call component over the
Internet has been explored and implemented by others. For example
XML-RPC (www.XML-RPC.com) is one of such specifications and several
vendors offer implementations for COM, Java, Perl and other
technologies.
Another similar specification is the current Internet-draft Simple
Object Access Protocol (SOAP). The SOAP spec is very similar to
XML-RPC in its objectives and general approach, in fact Dave Winer is
a co-author of both specifications. XML-RPC, SOAP and XIR all share
the common objective of enabling object invocation using XML over
standard HTTP, however SOAP is currently an Internet-draft and may
soon become a standard.
So, did we just make our own SOAP? Yes and no. As I mentioned
earlier, SOAP is a specification indicating how client/server
interaction should occur using XML. It is all about the format of XML
documents going back and forth. Therefore, SOAP is not intended to
know anything about specific technologies such as COM or ADO
Recordsets, it is a low-level specification that covers simple as
well as compound data types in a generic manner. Part of SOAP's
strength is its applicability to different component models such as
Java Beans, CORBA and COM. You can think of XIR as a similar system
that was designed and implemented specifically for COM and with
support for the data types most commonly used in COM applications. So
should you use SOAP or XIR? That depends on your needs. If you have
heterogeneous component systems (e.g. COM and CORBA), SOAP is the
ideal "glue" for you. However, if you are simply calling COM
components over the Internet you can use XIR and customize it to meet
your needs or get an implementation of SOAP (several vendors are
starting to provide implementations for COM and other
technologies).
Using XIR would allow you to customize it to meet your exact needs
while keeping it as efficient as possible. As it turns out, it does
not matter which specific system you use now, the point is: future
object invocation technologies will rely on XML over HTTP and you
should be prepared for that. Expect to see future development tools
using XML over HTTP for component communications by default instead
of current protocols such as DCOM. Eventually, you will be creating a
server component and calling it from the client without knowing -or
caring- the exact form of XML over HTTP it is using.
DevXpert Corporation is a developer training and consulting
company specializing in XML, COM+ and .NET. DevXpert offers the
popular XML Workshop course for hard-core developers eager to learn
XML and build XML applications.
For more information visit
http://www.devXpert.com.