START PREV NEXT

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.