So What is a Web service Anyway?
“An evolutionary technology that allows businesses to
integrate their internal computer systems, leverage legacy systems, and automate
communication with their business partners in ways never before possible.”
By Bob Brauer
A “Web service” is a specific term created by the industry to describe a
function provided by one software system or application and available for access
by another software system or application over the Internet (or any
network).
Primarily, this communication is achieved using a standardized mechanism such
as text-based XML, eliminating the need for the communicating software
applications to be running on the same hardware and software platforms. For
example, a software system utilizing Windows .NET can communicate with a system
built in Java on a Unix platform via a ‘Web service'.
So, while performing a search on Google might be considered to be a ‘service
on the Web' in one context, it is not what is meant by the industry term ‘Web
service.'
A Metaphor
A great metaphor to use to describe the value of Web services is the
evolution of email. When email first arrived on the scene many, many years ago,
people could only send email to people who were on the same email system, such
as Lotus's cc:Mail, IBM Profs, or Eudora. Naturally, people wanted to send email
to people who were on other email systems, so the industry responded by creating
a series of email standards, such as SMTP (Simple Mail Transfer Protocol), that
enabled this to happen.
Since email was primarily text-based, SMTP enabled email to be sent and
received by people with completely different hardware/software platforms. That
meant that suddenly, anyone could send and receive email to and from anyone else
in the world. This became the driving force behind the Internet boom. Everyone
wanted email and needed to get on the Internet in order to have it.
So, in the same way that email enabled people to communicate over the
Internet, Web services enables machines to communicate over the Internet (kind
of like Instant Messaging for machines). By using a standard, such as SOAP (XML
for Web services), every machine will be able to communicate with every other
machine in the world. As you can imagine, this is pretty powerful.
What this means is that the Internet will transform itself from being a
static informational entity that is accessed via a Web browser, to a dynamic
executable entity that will truly become an information superhighway, passing
data back and forth and performing actions between terminal points on the
Web.
Some Examples
Again, a “Web service” refers to a self-describing black-box like function
that is callable via its URL address (just like a website or a .gif image) that
will provide output data in response to input data provided to it.
A simple example is a temperature Web service, where the current temperature
will be returned if one calls the Web service via its URL with a zip code or
postal code as input data. This Web service can't be accessed via a browser
(without help, anyway), but instead can only be sent data, at which point it
will do something with that data and send back results.
What this essentially means is that a website, a software application, a
wireless device, or anything else that has access to the Internet can make use
of that particular function call as part of a larger application or process. The
types of underlying hardware or software platforms of the “provider” of the Web
service and the “consumer” of the Web service are irrelevant. Again, this is
because all Web services use XML as the standard for passing data back and forth
(there are of course exceptions, but for the purposes of this discussion anyway,
we will assume this is true, and maybe someday will be).
Other examples of how Web services can be used include:
- A spreadsheet updating itself with live values reflecting a current stock
portfolio.
- An ecommerce website making use of Web services to obtain current sales
tax rates, to verify addresses in real-time, and to validate credit cards
before a transaction takes place.
- An inventory system making use of real-time weather data to adjust
geographic inventory levels.
- A purchasing system using Web services to automate the price comparison
and purchasing of various goods.
- A way to enable multiple systems within an organization to communicate
with one another.
- And there are many, many more…
Why are Web Services becoming so Pervasive?
- Allows I.T. departments to grow organically by hooking in to functionality
of other software systems rather than having to build their own.
- Web services standards allow greater communication between systems that
would benefit from more automation, whether internal or external.
- Dramatically reduces the #1 cost to I.T. organizations: application
integration.
- Allows access to real-time, current data without having to worry about
maintaining and managing that data.
- Allows for better testing because parallel testing clients can be built.
Feedback
We would love to hear what you thought of this article. Send your feedback to
feedback@strikeiron.com.