Not too long ago, a few XML-based standards for passing information over the Internet
were brought together and began to be touted as the Next Big Thing. In a way, they are,
although Web Services have undoubtedly received more than their fair share of hype. So,
what's all the fuss about? The basic premise behind Web Services is that a piece of code is
made available to remote machines, using specific protocols, over the Internet. The Service
part of Web Services relates to the idea of providing access to functionality without having
to download or install the code, and the Web part refers to the means through which the
functionality is accessed.
The three component standards of Web Services are the Simple Object Access Protocol
(SOAP), Universal Description, Discovery and Integration (UDDI), and Web Services
Description Language (WSDL.)
SOAP provides the first piece of the puzzle: a means for one piece of code to communicate
with another piece of code. The important thing about SOAP is that it enables communication
across all languages (from Java to Visual Basic, say), and doesn't come in different versions for
connecting different pairs of languages. The same SOAP message should work as well
between Java and Visual Basic as it does between C++ and Perl. This language independence
means that a Web Service implemented in one language can be accessed by several languages
through one interface.
UDDI describes a registry in which Web Services can be advertised. The initial idea was that
the details of a required Web Service would be discovered dynamically, shortly before it was
to be used. Although technically possible, this remains an unlikely situation for a number of
reasons, including the speed of the discovery process, the need for trust, and the quality of the
data in the UDDI registry. What is more likely to happen is that a potential subscriber to a
Web Service would find details of interesting Web Services in the UDDI registry, and then
contact the providers of those services in a more conventional way before attempting to use
any service. Once a relationship has been established between the subscriber and the
provider, business would continue as normal.
WSDL is the XML-based format in which a publisher describes their Web Service. An entry
in a UDDI registry would point to a WSDL file, which would supply important details about
the service. These details would include the name of the service, any parameters that must be
passed to it, and what form the response will take.
(More about WSDL can be found from HERE )
Do They Mean Business?
So much for the technology behind Web Services, but what is the business perspective? Web
Services can be pictured as a relationship between a service provider and a service consumer,
or publisher and subscriber. The service provided can be either functionality (all manner of
calculations), or data access (providing a regulated view of any repository of data). The
provider and consumer could well be within the same company, since Web Services
potentially enable a rapid application development solution to integration problems.
Alternatively, Web Services could be used to integrate systems between trusted partner
Web Services are a way to drive down costs by reducing data and functionality duplication
within an organization. Rather than having three departments running three different
packages to do the same job because they're all using different systems, the functionality can
be centralized and accessed as Web Services, regardless of the platform each department uses
for its own needs. Web Services are also a way to drive up income, by allowing an
organization to market their previously purely internal functionality to a wider audience. If
part of your system does a good job of providing a certain type of valuable information in a
timely manner, it could be a candidate for exposure as a Web Service so that it can be
marketed as a service to other companies.
Why Web Services Are Important
As we've seen, Web Services are many things to different people, and because of these varied
applications they are important in several ways. There are three areas in which Web Services
can become important to an organization, as follows:
❑ Financial Imperatives.
❑ Strategic Imperatives.
❑ Structural Imperatives.
The importance of money is something that is not lost on most people, although we all wish we
had more to spare. Web Services have the potential to free up money within an organization, by
driving down integration costs, reducing expensive functionality duplication, and providing new
revenue streams from existing functionality or data. At least, that's what people say, but how
accurate is this rosy picture of Web Services, and how far away is its realization?
As with all new technologies, people make bold claims about Web Services in an effort to get
them adopted more quickly. The hope is that reality will be brought into line with the vision,
so that the vision is proved right. This means that for the early adopters of Web Services the
results may not be as dramatic as the vision would claim. As implementations of the
technology catch up with the vision, so will the cost reductions. Even so, Web Services are
being adopted by large organizations, such as French institutional and corporate bank CDC
(Caisse des Depots et Consignations, http://www.caissedesdepots.fr/). According to an article
on Line56.com (http://www.line56.com/articles/default.asp?ArticleID=3702), CDC are an
advanced client of Mercator (http://www.mercator.com/) for integration using Web Services.
The reasons behind the need for integration are common amongst growing organizations,
namely several business units using different systems.
Web Services are also being adopted to provide new revenue. Lloyds TSB Commercial Finance
(http://www.ltsbcf.co.uk/) have exposed their credit rating facilities as Web Services, another
move reported by Line56.com (http://www.line56.com/articles/default.asp?NewsID=3360).
This Web Service, which replaces the old manually requested version, is largely made possible
through use of Microsoft's BizTalk Server. As well as improving the number of requests they can
handle (only exceptions are dealt with manually), the service is a product in its own right, and is
frequently used by other divisions of the company.
As well as improving the financial position of an organization by reducing costs and
increasing revenue, Web Services can have a beneficial impact on strategy. Web Services
could provide smaller organizations with an affordable means to access functionality or data
in a form more readily useable by their internal systems. This means that, as the costs
involved would be less than those of attempting to acquire the same functionality using
proprietary means, it is more reasonable for an organization to incorporate the functionality
into its own systems. The reduction in costs, both financial and time, allows the company to
focus on other issues.
On the other side of the coin, organizations publishing Web Services have an increased range
of services they can sell, to an increased range of potential customers. By exposing the
information in a standard manner, there is no restriction on the customer to use a particular
system, allowing the publisher to sell to smaller organizations. As well as being able to sell
more functionality to more people, Web Services provides a cheaper and more efficient
distribution channel, increasing the attractiveness of the proposition.
Finally, because Web Services make it easier to subscribe to functionality provided by
external agencies, outsourcing that functionality and data management to expert companies
becomes much more viable for the smaller business. Having externally provided functionality
and data management further allows the organization to focus on strategy.
Hand in hand with reshaping strategy is realigning structure, and the adoption of Web
Services may increase the desirability – if not the necessity – of restructuring. For example, if
we consolidate financial reporting to a head-office-based Web Service, this may well imply the
need for a reorganization of the company's finance departments. Since this restructuring could
mean a reduction in staff, the system would become more efficient by giving the same results
with fewer resources. This streamlining of departments, by centralizing functionality without
reducing its accessibility, means that an organization can become leaner and more flexible
through increased access to functionality and data.
Using Web Services to provide functionality from a central location would also allow work to
become less location-dependent. If the principal functionality a worker depends on to do their
job is accessible over the Internet, then the work can be carried out wherever the Internet can
be accessed from (almost anywhere, these days). Equally, it means that the work can be
consolidated into fewer locations, further streamlining the organization.
Links to know more about Web Services:
Web Service Architecture
Implementing J2EE Webservice
I've got 2 quick questions for you…
1. What are the current challenges in your organization that you want Web Services to solve?
2. What are the current issues you have been facing while implementing Web Services ?
I would be more than happy to share my knowledge & read your comments.