|
Web Services: Revolutionising application integration
Web services—self-contained business functions
that operate over the Internet—are growing in importance. VidyaSagar
has more on the technology and its working
Web services are pieces of functional code
that can be shared across the Internet using industry standard protocols.
What XML did to the problem of data exchange across multiple platforms,
Web services promise to achieve for sharing function across the
Internet. It has been portrayed as a new programming model to overcome
the difficulties in application integration—across multiple platforms
and using multiple languages.
This technology is expected
to revolutionise the application integration process leading to
enormous business benefits in terms of legacy re-use, flexible and
dynamic design and aggregation of best-of-breed services to cope
with changes in the business environment, improved business efficiencies
and business process integration across vendors and partners. Amazon
and Google are among the vendors who are using this technology to
share the functionality implemented as a part of their websites.
Several financial institutions have adopted the technology, including
Merryl and Llyods TSB.
How does it work?
The technology has been modelled
after a real-life business way of working. If you want to build
a house, you would get an architect to design the house, a builder
to build it and an electrical contractor to do the wiring and so
on. The choice of these service providers is likely to depend on
several factors—some of which could be specialisation in the type
of house we want to build, cost and timelines. You would do a bit
of shopping around using the telephone directory, get a quotation,
check references and then decide which way to go.
In the Web services model,
building an application works in a similar way. When you need a
particular service (e.g: credit verification), you look up a directory
of published Web services, choose the one that fits your requirements,
look up the interface (what needs to go in and what comes out for
each function you want to use) and then build your application to
simply send the required information and get back the results. (In
the credit verification scenario, you may send the SSN and other
details of a person and get back a credit score).
The service providers publish
their software services along with details of the business, the
nature, description of services and the service interfaces, into
a common registry. The users of these services can discover these
via the registry, get the interface descriptions of the services
in a standard language (called Web services description language
or WSDL) and build applications using these interfaces through remote
procedure calls using a standard protocol provided for this purpose
(simple object access protocol, or SOAP). The data within the SOAP
packets follows XML standard formats and is easily understandable
across the service vendor and the service user.
The registry also has some
standards agreed to by several of the major IT vendors and is governed
by the Universal Description, Discovery and Interface (UDDI).
A single implementation of
common functionality residing on a server (such as organisational
policies for risk limits or interest rates for different risk profiles)
can be shared by all the applications irrespective of the platforms,
applications run on or language used for implementation.
Benefits
Several business benefits result
from the use of Web services for an enterprise. Some of these are
detailed below:
Application
integration
The loosely coupled nature of Web services simplifies the process
of application integration by enabling disparate systems to work
together by borrowing functionality available across the intranet
or the Internet. As each of the systems only need to understand
the standard SOAP, WSDL interfaces without worrying about the implementation
aspects (such as platform, language, data representation etc.) of
the functionality, making systems work together is made easier.
Legacy
re-use
A considerable amount of business functionality is encapsulated
in legacy systems today. Using this functionality in new systems
involves significant effort, as the new systems need to re-implement
this functionality or build complex interfaces using proprietary
methods. Businesses building Web interfaces discover this painful
reality everyday. Using the Web services model, one only needs to
wrap existing functionality into services and publish them so any
other application desiring to use this functionality can be developed.
Most of the legacy vendors provide tools for this purpose. In addition,
several application mining tools (such as SEEC) provide facilities
to generate these wrappers.
Vendor
integration
With the increasing need for efficiencies and responsiveness, businesses
are looking at integrating their systems with their vendors’ systems
closely. This tight integration enables an organisation to use information
present in its suppliers’ systems and leverage that knowledge to
increase competitiveness and add to its bottom-line. Web services
ease the process of this integration as they provide these disparate
systems to interact using standard interfaces in a platform independent
manner.
Best-of-breed
services
The ability to use functionality over the Internet makes it possible
to build applications using best-of-breed implementations available
from third party suppliers. Just as an automobile manufacturer can
assemble a car with the best parts made by others or use parts which
he cannot make, an application can be assembled by using best-of-breed
or complex software functionality implemented by others. This enables
new applications to be put together with functionality that is difficult
or impossible to develop in-house. One good example of this is the
gene matching algorithm Web service provided by the EMBL (European
Molecular Biology Laboratory) which provides matching gene sequences
given a new gene sequence. The expertise required for this functionality
is not common but using this Web service and integrating this functionality
into another application is as simple as using any method call in
a visual basic program.
The author is vice president, Technical
R&D at Kanbay. He can be contacted at vsagar@kanbay.com
|