The theory behind Web services is stunningly simple, given that so many companies stand to make so much money out of it. Web services take the traditional distributed computing concept and bolt the eXtensible Markup Language (XML) on to it, enabling software components to interoperate using predefined syntaxes written as markup.
The nice thing about XML is that it can be read by humans as well as machines; if it ever loses popularity and vanishes from the computing scene, companies won't lose knowledge about their data integration formats.
While automatic interaction between components is nothing new, the difference between Web services and traditional software components is the simplicity and the standardisation - XML interfaces are relatively simple to create, making these applications easier to develop.
Soap makes for clean code
The basic XML interface for Web services is the Simple Object Access Protocol (Soap). This is a transport mechanism that serves as a digital envelope, containing other XML messages. It's useful for Web service developers because everyone has standardised on it, meaning that Web service information sent in a Soap packet will be instantly recognised as such.
The other neat thing about Soap is that because it's XML-based, it can be sent via the Internet's HTTP protocol and delivered through the corporate firewall; the IT department doesn't have to open up a dedicated port for it.
This leads us to the Universal Description, Discovery and Integration (UDDI) initiative, sponsored by a consortium of companies that wanted to create a standard way of listing and describing Web services online. This uses the Web Services Description Language (WSDL), another XML-based language, to describe the characteristics of Web services in a UDDI registry.
Another aspect of UDDI is the use of a business-oriented white pages section, containing non-technical business information, such as a company's postal address. The idea behind UDDI is therefore that companies will be able to find other companies, and the Web services that they offer, online.
The search for answers
The big question is what sort of Web services would companies want to expose online, and what third party Web services would customers want to use? Some basic ones aimed at the consumer market have been proposed. Virus checking and online currency conversion are common examples while Microsoft uses "smart tags" in its Office suite, enabling you to click on a company name and connect to a Web service to get an online profile, for example.
All these things can be done manually already without XML, Soap or WSDL. What makes Web services different from normal Web interaction is automation; creating standard XML interfaces between Web services enables machines to interact with each other automatically, reducing the manual workload and allowing developers to code such transactions directly into their software. You no longer need to search for a company name to get its online profile - Microsoft Word handles all that for you.
The front-runners in Web services are Microsoft and Sun Microsystems , with several players such as BEA, IONA and IBM producing application servers that marry development and deployment platforms to manage Web services in the middle and integrate them with legacy software.
There is certainly a lot going on at these companies regarding Web services. But the industry is ahead of users' needs, at least according to Steve Prentice, vice-president and director of research at analyst group Gartner. In a recent CW360.com interview Prentice predicted that it could take until 2006 for businesses to move to Web services because their existing operations could not support this new model of computing. Clearly, however, the potential of Web services should not be underestimated as the technologies gain momentum.