What is a Web Service?
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.
Using these standard protocols, Web sites can share Web applications in a manner
similar to how a spell checking component can be shared between word processor
programs. Every Web site does not have to write it's own program code to retrieve a
stock quote, find a best price, saving an appointment to a calendar, or validate a
credit card number. They can license the use of these functions from Web Service
From the human Web users point of view, the Web still appears to work the same. There
is nothing new. That is why it's so difficult to find a simple explanation of "Web
Services". The new technology of Web Services is what goes on under the hood. That's
why most articles about the subject jump right into the programming code. Many "Web
Service" articles are just articles about XML.