At their most basic, Web services are a form of distributed computing. As such, they have some superficial similarities to technologies such as Corba and DCOM, which are designed to manage interactions between program objects across a network.
However, both Corba and DCOM are limited by different vendors' implementations of their specifications, which has reduced interoperability and slowed development cycles. Web services are intended to eliminate these problems with cross-platform support, enabling applications built in different languages to interact, and to facilitate data sharing. Because the technology can be used over the Internet, it also opens up new business models for collaborative work.
Linked applications
Web services act as building blocks that carry out discrete functions. A Web service can be 'discovered' and used by a third-party application across a network or over the Internet. It should be possible for Web services to interact with each other without the need for additional development work. In the longer term, this should enable busi-nesses to build and extend supply chains with others more easily. Information sharing and the common functionality supplied by Web services should allow new types of application to be created quickly, both for internal use and for adding value to consumer services. Web services should also make such development less costly.
Activities such as authentication, payment or notification are likely to be some of the targets for early Web services developments. Examples could include modules designed to check the availability of tickets for sporting events, or to authenticate users as they log onto a Web site. This functionality is consistent, regardless of the type of ticket being bought or the site being accessed. As a result, the same functionality could be deployed by many organisations. Other uses may include sites that identify the cheapest price for holidays, enabling consumers to locate and compare data from various sources.
But for this type of application to work effectively, Web services must adhere to a set of common, open standards, which are vendor-independent. At present, the major standards are XML; Simple Object Access Protocol (Soap), providing a means of sending messages between services; Web Services Discovery Language (WSDL), used to enable services to locate one another; and Universal Description, Discovery and Integration (UDDI), which acts as a Yellow Pages-style directory, listing services providers. Some of the largest firms in the IT industry are promoting Web services heavily: IBM, Hewlett-Packard and Microsoft are among the vendors that have announced plans for products which support the core standards associated with such services.
Although current standards provide some early common ground for development, there are other important areas that are less well defined. These include communication mechanisms, security, manageability and standard interfaces for Web services. For example, IBM currently uses its own MQSeries Messenger for the communication element of its Web service products, whereas HP remains true to its proprietary Web Services Communication Language (WSCL) format.
Kevin Malone of IBM acknowledges the problem: 'The area of communication is less well served by standards at present, but MQSeries offers communication independence through wide platform support.' Elements such as security are being addressed in forthcoming versions of standards such as Soap, but these capabilities are still far from complete.
Despite the questions that hang over standards, vendors are already releasing products based on existing definitions. IBM believes it is ahead of most of its competitors in its support for standards. WebSphere version 4 was released in August, and implements the latest version of all the core standards. The company has also added Soap support to DB2. This means a Web service can now query a DB2 database and extract information for use by another service or application.
Microsoft has also been publicising its plans. Its dot-Net framework provides a platform for using Web services, and the imminent release of Visual Studio.Net offers development tools for building them. HP is beta testing its application servers for Web services, and intends to announce them before the end of the year.
In terms of practical application, most firms interested in using Web services are experimenting with small, internal projects designed to help them better understand the technology. 'Most people are building for internal, intranet-style applications. Extranet Web services will follow,' says Malone. 'IBM is rolling out technology to prototype small projects, but standards are still developing and most Web services are currently low-volume applications.'
Richard Hamblen of Microsoft sees a similar pattern of use. 'Organisations need to understand how to build Web services, identify where it's appropriate to use this type of service and find ways of using Web services to best effect, so they offer competitive advantage,' he says. Using services internally also eliminates other problems, such as dealing with Internet security issues and managing scalability. This leaves companies free to concentrate on understanding how Web services can be built and deployed most effectively.
A modular approach to development also requires changes to the way in which applications are developed. Malone observes, 'Business processes can be changed using Web services. Firms will need to identify what parts of their processes can be made available to external organisations. Older technologies can be used behind the scenes, then combined with Web services to drive development. But this requires company-wide commitment.'
Easier collaboration
In the longer term, vendors see Web services being used in a business-to-business context to construct and expand supply chains quickly, and at low cost. This would make collaboration easier, either on an ongoing basis or for ad hoc projects.
Hamblen also sees a number of ways in which better-quality online services could be developed: 'Web services simplify online activities, and break down the barriers to finding information through better search mechanisms. It's also easy to associate events, such as buying an airline ticket, with other forms of information. In the case of air travel, this could include updates on the weather at your destination, or alerting you to delays. Using Web services in this way introduces 'stickiness' and gives a reason to return to a service.'
But at the moment, Web services are at an experimental stage. One area in which Malone believes firms can start to prepare for them is by setting up a UDDI directory internally. This could be used to drive resource management, for example, enabling Web services to locate and deliver any document or other object stored on a company's systems via the directory.
In principle, the development language used to create a Web service should not matter, providing that functionality can be added to the code to make the service discoverable, and ensure it can communicate with other services. However, vendors have differing opinions about how Web services should be created. Darren Gale, UK marketing manager of HP's middleware portfolio, considers that applications 'need to be written in a more service-centric way', and believes Java is the best language to help achieve this. HP has contributed to the development of Web services in general by putting forward recommendations to the Java Community Program to amend J2EE, thereby making the standard more appropriate for Web-service development.
Although HP regards Java as the best development language, Microsoft has also submitted its C# language for external standards approval in the development of Web services. But regardless of the language used, ensuring that a development package supports the standards mentioned above is the key issue.
Malone says, 'Customers will judge the vendors on how well they support the relevant standards. The same applied with J2EE and Java  organisations were not prepared to bet their business on something that wasn't fully compliant. On an extranet, the expectation is that everything will work properly first time, so stability and interoperability are vital.'
Malone says the most significant benefits of Web services result from the infrastructure. 'Code re-use, and breaking down traditional development methods for greater efficiency, are some of the main advantages,' he says. 'It's still early days for Web services, but in general, the industry is moving in this direction.'
But despite the longer-term potential of Web services, there are still significant gaps in the standards required to ensure true interoperability between services. Organisations should still approach Web services with a measure of caution.











