Why is SOAP Causing Such a Lather?
November 6, 2000
While XML coders have plenty of reasons to be excited about SOAP,
to the non-programmer it may seem just another in an endless
stream of standards, guidelines, and frameworks of geekish
interest only. Indeed, the relationship among SOAP, CORBA, XML
schemas, BizTalk et al is rather arcane. But SOAP is a
significant step, and the implications are profound for both the
technical and the business spheres.
The acceptance of SOAP and its friends shows us that XML has
"come of age," or "reached critical mass," to choose two of many
possible clichés. It's now apparent that the combination of XML
and HTTP will be the tool of choice for enabling applications to
communicate with each other over the Internet. Companies that
have invested in other, more proprietary ways of doing things
will soon find themselves at a disadvantage.
The society debut of SOAP will make it easier to create server-
based and/or distributed applications, adding more fuel to the
current hosted applications fire. In fact, SOAP could herald a
new era of truly distributed computing, in which not just
applications, but pieces of the same application, talk to each
other over the Internet.
Our concept of what constitutes an application is evolving. A
software application used to be thought of as a discrete package
of code running on a single computer. Other computers might
exchange data with the application over a network, but the app
itself sat there in a neat, discrete chunk. Current trends point
to a future in which applications run not on a machine, but on
entire networks. A three-tier client/server system, in which an
application runs on an application server, and data is stored on
separate file servers, is one step in this direction. A hosted
(or server-based) application takes the concept a step further.
A
distributed application can run different parts of the same
software program (objects, methods, services, etc.) on different
computers, and SOAP provides a theoretical means to do this.
There are various possible reasons to do so, from harnessing idle
time on some machines to balance the load across a network, to
simply creating a super-application by combining the power of
many CPUs.
Someone coined the phrase "The network is the computer" a long
time ago, but it's only now beginning to come true in a real way.
The fewer the barriers to exchanging data among different
computing devices, the closer we'll come to the day when the
Internet is like one huge computer, the sum of humanity's
information processing technology, available anywhere in the
Solar System at any time. SOAP and its related technologies are a
significant step along the way.
Development Tools for SOAP
Aaron Skonnard has developed a generic SOAP client for IE 5.0.
You type in the endpoint and method you want to call, and it
whips up the XML for you. It's a handy tool to help you learn the
SOAP protocol.
http://www.skonnard.com/soap
Microsoft offers a SOAP Toolkit for Visual Studio® 6.0, which
includes "infrastructure necessary to expose SOAP Web Services on
Windows operating systems and to consume them." Yum yum! It also
includes the Remote Object Proxy Engine (ROPE), a code generation
wizard which allows you to make (and presumably consume) SOAP on
a ROPE! Just click here if you don't believe me:
http://msdn.microsoft.com/library/periodic/period00/webservice.htm
Further Reading
WDVL's XML Resources
The SOAP 1.1 Spec
xml.com's guide to SOAP
A good in-depth technical description of SOAP, from MSDN
MSDN Search Form – searching for SOAP will generate lots of foam.
Companies Prepare to Clean Up
SOAP, the Simple Object Access Protocol
|