Introduction to
Web Services
Web Services are one
of the powerful and one of the most marketed features of Microsoft .NET. Web
services is something, which Microsoft is expecting to generate huge revenues,
Simple speaking Web Service are Server components, which provide their services
over HTTP. Web Services make way for the concept of "renting software over
the web". Web Services makes use of open protocols like HTTP and SOAP to
make its services available to various clients running on different platforms.
The most basic idea of web services is that Enterprise applications
should be fragmented into smaller, reusable components called services, each of
which performs a distinct task. These services can then communicate across or
within the enterprise using a standard data format (XML). These basic building
blocks can be used to construct applications that will communicate with other
similar applications over the Internet, and form the Web Service of the
organization.
Overview:
The web service architecture has four main components - XML, SOAP, UDDI
and WSDL.
XML (Extensible Markup Language)
It is a standard for describing data. It allows developers to write their own
tags for identifying information in a document. Industry groups are making an
effort to define XML dialects for their industry.
SOAP (Simple Object Access Protocol)
It describes how applications talk to a web service to request a specific
function e.g. SOAP can be used to request a web service for transaction
functions like credit card authorization.
UDDI (Universal Description, Discovery and Integration)
It’s a virtual yellow pages for web services that lets applications discover
what web services are available and how to communicate with them. Major
software vendors are working together to develop a public UDDI registry that
will enable companies to find each other's web services over the Internet.
WSDL (Web Services Description Language)
WSDL is each entry entered in the UDDI. It describes what kind of work the web
services can do. If UDDI is the virtual yellow pages, then WSDL is the little
blurb associated with each entry.
How do they all work?
Consider a website that calculates the taxes for the users. The website would
need to have a tax calculating application. Instead of developing a new
application for each, the website is connected with a web service that connects
to the "yellow page" - UDDI - to find the list of services that the
customer could need. In this case, it would be the tax calculator service. The
client application will download the WSDL that gives it information to call
upon the needed service. Since the data is described in XML, it does not matter
if the client application is in C and the web service is in Java, they both
understand XML. The client request for a tax calculator is wrapped in a SOAP
envelope, and sent via HTTP (the Internet).
Thus, two different applications were able to communicate and exchange
information over the Internet by virtue of following the above-mentioned
protocols.
The Three Layered Architecture
Web service are constructed on the Internet in an open architecture. Unlike ERP
systems, which are tightly integrated with its various modules and can be
rigid, web services are loosely coupled.
They can be thought of as an architecture comprising of different layers of
technology.
Three layered architecture for web services were proposed:
The communication protocols (TCP/IP and HTTP) work with SOAP to create
standard message templates that can be understood by other web services. XML is
used to describe data in a universal manner, and can also be used to define
standards for specific web services. This is the first, lower most layer.
These protocols and standards create a foundation for the second layer,
the Service Grid. It provides a set of utilities and
functionalities to ensure reliable distribution of web services and facilitate
transport of messages. The idea is to provide performance required to connect
websites to connect together to perform mission critical functions and to help
web services to find each other more easily.
The application layer is the top layer of this architecture. This
includes application services that reside within one enterprise and are shared
across enterprises. Specialized businesses might even develop special
applications that reside in this layer, and offer it to other businesses on a
subscription basis. Deploying these applications involves using high-end
platforms like Microsoft's .NET framework or Sun's J2EE development
environment.
Future:
The strategic value in web services is built on how it enables the
businesses to provide greater information to partners and customers, create
greater collaboration, improve communication across the value chain and
integrate their internal business processes and functions to deliver greater
benefits for all the members of the value chain.
Companies that want to derive the value in web services, will have to
make business decisions about how they will use web services, and not just
treat them as another software tool. If they want to enjoy the virtues of
business collaboration - innovation and efficiency - they cannot afford to
ignore the benefits of outsourcing their non-core activities and processes to
business specialists and to focused providers.
This chain of thinking has made companies rethink they way they look at
managing their business processes. Traditionally, they believed in tightly
integrating the processes involved in producing and delivering products or
services, not only within the organization, but across corporate boundaries as
well. The biggest drawback of doing this is that these process chains are
highly inflexible because of their compact management, and as such, problems
with their suppliers or manufacturers can be critical and harmful.
The real value in web services is that it allows companies to look at
these critical process chains as process networks, rather than
production lines. Web services provide a much more "loosely
coupled" architecture in which business partners can collaborate
easily. The flexibility provided by web services allows companies to unlock the
full value of specialization for themselves and their partners, to make
operational changes quickly, and respond faster to customer demands. Hagel
(2002) believes that the long-term value of business collaboration lies in
"mobilizing the assets of partners to deliver more value to their
customers." With flexible process networks laying the foundation for
business collaboration, companies can focus on innovation in their core
activities, making these networks more efficient and flexible.