By Stephen Bucaro
Try to find an article on the Web that explains, in plain
English, what a “Web Service” is and you’ll be going around
in rhetorical circles with no simple explanation, and no
examples. Most articles start out with some ambiguous
explanation like: “Web services identified with WSDL and
UDDI protocols make functionality available over the
Internet using SOAP encapsulated in XML envelopes” and
then the articles start spewing out programming code.
Examples of programming code don’t help if you don’t have
an overview of what a Web Service is.
David Berlind in his article “What are Web services
anyway?” for ZDNet.com says, “At last fall’s Gartner
Symposium I asked several attendees — presumably C-level
technology executives — if they could give me a
definition of Web services … No one knew. Before the
session’s end, over half the attendees had left because
they were expecting a discussion about something else.”
When you do find examples of Web Services, they are
applications like; retrieving a stock quote, finding the
best price for a product, saving an appointment to a
calendar, or validating a credit card number. These are
all things that we have been doing on the Web for years.
So, what’s the big deal about Web Services?
Web services can be thought of as an evolution of the
software components concept. For example, say you have
several different word processors on your computer, or on
your network. In the early days of software, each
application needed to contain it’s own separate spell
checking code. With components, the spell checking
function is programmed into a separate module that can be
shared by several different word processor programs. Every
programmer doesn’t have to write their own spell checking
code, they can license the use of a spell checking module
from a components vender.
The same thing is possible over the internet using DCOM,
CORBA, JavaBeans, etc. But these technologies were all
created by different organizations. The components find it
difficult to communicate with each other. It requires a
lot of information sharing and pre-planning to make these
components work together. “Web Services” is a set of
vendor-neutral specifications and protocols developed by
standards organizations such as OASIS and the W3C.