Tel: +44 (0)1624 823833

Fax: +44 (0)1624 825640

E-mail:enquiries@pdms.com

PDMS
Information centre menu

Web Services - just a spin-off from the Big Bang

Mike Bromwich, Technical Director, PDMS Ltd

Mar 2002

I have a theory about the Internet which parallels it with the evolution of the universe. Many scientists believe that the universe started with the big bang, and since that single moment at the beginning of time the universe has been expanding. During the early stages of development of the universe, it was a turbulent 'soup' of particles lacking distinct structure and any tangible form. As it expanded it cooled, and galaxies, stars and planets formed, with the planets orbiting the stars, and the stars making up the galaxies. The Internet as we know it started as a small-scale research project, and ever since it was made available to the commercial world, it has been rapidly expanding and developing. In the early days of the Internet, it was populated with ever changing ideas, technologies and concepts, but with few concrete systems or applications that could be depended on to provide a reliable service.

Now that the Internet has cooled somewhat, some technologies have been brought together to form applications and services with which we have become familiar. Others have become white dwarfs - unspectacularly fizzling out to become almost nothing. Some have become black holes, swallowing endless amounts of (investors) money, never to be seen again (the money, that is). Amongst this turmoil, one of the brightest stars among the countless constellations of newly-born applications is known as the web service.

The notion of a web service is based on an architecture where software components are distributed, and the fact that they are linked by the Internet, allows them to co-operate to form coherent systems. The fact that the constituent elements of the system are distributed is transparent to the user.

The decomposition of software into co-operating components is common sense really - it is a concept with which we are all familiar in everyday life. When you order from a mail order supplier, a large number of organisations and individuals co-operate to deliver the goods to your doorstep. The supplier uses a courier company to manage and make the delivery. The courier company obtains vehicles it uses to deliver your goods from a vehicle dealer. The van driver uses the road network managed by the Government to get to your house, and so on. It's a case of 'stick to what you're good at' - each organisation specialises on what it does best, and plays its part in the process.

In order for this framework of organisations to be practical, three things have to happen. Firstly, the organisations need to know about each other - through marketing, brokering or by consulting directories of available services. Secondly, the organisations have to agree on ways of working together in terms of processes, procedures, contracts and interfaces. Thirdly, the relationships have to be worthwhile to all parties - in terms of the service delivered and the remuneration provided in exchange.

These three elements are also required to enable web services to be work effectively. Consumers of web services need to know of their existence, the services which they provide, and the details of how to communicate with the service. A number of standards are emerging which allow the provider of a web service to advertise the fact that the service is available, and describe in detail the services provided.

The second element, agreement of the mechanics linking the constituent parties, has also received much attention recently. Almost all of the available mechanisms revolve around XML - a simple standard for representing structured information. It is ideally suited to the task of acting as an intermediary between different systems since it is open, simple and flexible. It also allows participating parties to evolve their use of XML individually without compromising the reliability of the communication between them.

As is often the case with developments such as this, most of the research carried out so far has been concerned with making the technical model work. However, for the use of web services to become mainstream, organisations offering web services want to make sure that they get paid for providing the service. Mechanisms have now been developed to facilitate this, and to provide the necessary level of security required to be able to prove that a particular service was provided to a particular client at a particular time.

One of the first services to be delivered using the web services model was the authorisation and subsequent processing of credit card payments. This is an ideal application, since there are many technical and commercial barriers involved in engineering the solution from the ground up. At the transaction level, the service is simple to understand: The client site sends a card number, expiry date, merchant identifier and monetary amount to the web service provider. This communication uses a simple XML-based format, protected by security and authentication as appropriate. The provider of the web service validates the details, and feeds the information through the complex back-end infrastructure required to interact with the bank. The service then either returns the authorisation code back to the client system, or returns an indication of why the transaction cannot be processed.

In order to facilitate the link between client system and web service provider, the provider provides an online 'advertisement' which, in the case of our example, includes a definition of the communication details, a description of the card types which it can process, and information about the way the provider charges for its service. The provider could elect to deduct a percentage-based handling fee from each transaction, or could bill the client company a per transaction fee using a separate charging mechanism based on a procedure described in the service advertisement.

There are many other web services in widespread use, and in most cases their existence is not immediately apparent. Examples include parcel tracking services integrated into retailers' web sites, feeds containing equity prices and exchange rates, and the provision of search engine functionality.

Now that the major players in the IT industry such as Microsoft and IBM are basing their future around the web services model, we can expect to see a proliferation in the provision and use of such services. This promises to trigger a revolution in the way that systems are architected from a technical point of view, and also charged for from a commercial standpoint.

Many communities across the far reaches of the Internet have been building web services for some considerable time, but in general they do not know about one another nor how to communicate. Now that the technology exists to announce the availability of services, and to explore and exploit what is available, we might finally be able to answer to the age-old question of the Universe - is there anybody out there?

Copyright © 2001-2008 PDMS Ltd. All Right Reserved.