Web Services

 

A good analogy [1] is Hi-Fi stack with a number of implementations such as CD player, tuner, amplifier, etc.  Each of these components can be considered as a service that serves a purpose and the technology that is used to build each service may be different.    For example almost all the time an integral part of a CD player is a digital to analogue converter and this technology is not used in turntables or tape players.  Yet we see that these services happily integrate.  For example tuner and CD player could be connected to the tape recorder if one wishes to record programmes.  This is off course because each service prepares its output signal according to standards that all services adhere to.  More over, services within the stack do not have to be from the same manufacturer.  This means that there is widespread consensus among the vendors in relation to the standards.  Vendors actively promote the standards although they may well be in competition for the market.  In a sense it is the competition for the market that prompts them to employ the standards. To summarise, one could see a Hi-Fi stack as a number of services and a number of connectors analogous to a number of boxes and RCA jacks.

 

Web services are a collection of standards, designed to promote interoperability among services and applications that require use of services.  In other words Web services are the connectors of services and not the actual services themselves.  Using the Human Resource application as an example, wage slip may be a service.  This service has a particular implementation, using a particular technology, written for a platform or an operating system.  According to the principles of service-oriented architecture, an application that requires the use of this service should be able to bind to it late and at runtime.  This means that the particular implementation of the service should be of no concern to the application.  This can only happen if there are wide-spread standards for describing services and the communication between the two and that the two adhere to these standards.  In relation to these standards, there is also consensus among all the major vendors such as Microsoft, Sun, Oasis and IBM.

 

Web Services are an implementation of Service Oriented Architecture through use of four technologies and standards in combination.  These technologies are HTTP (HyperText Transfer Protocol) as the primary network protocol (hence "Web" Services), SOAP (Simple Object Access Protocol) as the messaging protocol (for the payload format), UDDI (Universal Description Discovery and Integration) for service registry, and WSDL (Web Services Description Language) to describe the service interfaces.

 

 

The primary platform for the delivery of SOAP messages is the WWW.  Needless to say that at times HTTP is not appropriate in case of the application and so other Internet tools and protocols are used such as file transfer and email.

 

Information Technology is about building solutions to problems using technology, expertise and tools that one has available.  Some of these technologies and tools may not be used in the way in the beginning they were intended to, nevertheless they become instrumental for the development of the solution.  A good example of this is the WWW which was not originally designed and developed for E-Commerce, B2B exchanges, etc.  In fact WWW is a lightweight platform with only two protocols: one for client and server to communicate with each other (HTTP) and the other for the client to locate a particular Web resource on the server (URL).  Enterprise applications require complex functionality such as session management, client side interactivity and live data, all of which are tasks we need to implement for.  Discovery of Web services through UDDI, binding at runtime, use of external services in Enterprise mission critical applications are not ubiquitous.  Quality of service or more to the point lack of trust and confidence in the quality of service does impede the adoption of Web services within the enterprise level applications.  Nevertheless, there is ample that Web services can do internal to the organisation, for example in building Intranets, Extranets, and Corporate Networks.  These types of system tend to integrate data sources, applications and in general systems that may be un-similar in terms of the technology and the development platform.  Through the use of Web services any functionality could be wrapped in a service layer and exposed to its outside environment.  This is in particular important in case of leveraging legacy systems especially in an era when organisations have to come to realise their worth.

 

Reference:

1.  Loosely coupled: the missing pieces of Web Services, Douge Kay, RDS Press, 2003.

 

For more on Web Services click on the following:

Web Services Tutorial 1

Web Services Tutorial 2

 

 

We say Web Services are platform independent. What does this mean? How has this interoperability been achieved?

 

 

Using Web Services, business applications could be built quickly and at low cost by incorporating software functionality that is hosted by a 3rd party service provider.

What are the implications of this on mission critical business applications?

Is there a service contract?

 

 

An example of use of Web Services could be an EC application using a Credit Card validation service. What are the implications in terms of security? How does the EC business ensure the scalability and availability of the CC validation service?

 

 

How can Web Services be used to orchestrate business processes? What are WSFL and BPE4WS? What is ebXML?