Web services are self-contained software modules that can be accessed over the Web and carry out a specific function, or can be called remotely as part of a larger application. The Web services concept is similar to that of component programming, but the components can sit on a number of Web servers. They can be accessed across a network in a platform-independent and language-neutral manner.
Web services have great potential to simplify collaborative working between organisations, particularly in business-to-business (B2B) situations. They also enable complex applications to be built quickly and at low cost.
Several major vendors, including IBM and Microsoft, have announced tools and server products to support Web services over the course of the past year, but this is still a relatively new market.
Shared resources
Web services comprise interfaces, data descriptions and protocols, which enable one system to connect to another via the Internet, then use resources on the other system without requiring in-depth integration with that system. A Web service performs a discrete function, such as searching for a specific type of information, and each is a self-contained module that can be invoked and used as part of a broader application.
Although some similar functionality can be achieved using Microsoft's Distributed Component Object Model (DCOM) and Sun's Remote Method Invocation (RMI), Web services are intended to offer better interoperability through the use of open standards. This should also ensure they are platform-independent, making them suitable for use on mobile phones and personal digital assistants, as well as clients running various operating systems.
In their most basic form, Web services require XML and HTTP to operate. The ubiquity of HTTP on the Internet makes it a suitable basic protocol for communicating data between systems. Used in conjunction with XML, which provides a standard means of describing data, this makes the movement of information between different systems easier.
In addition to basic XML and HTTP protocols, other elements that are frequently used to construct Web services include Simple Object Access Protocol (Soap), Web Services Description Language (WSDL) and Universal Description, Discovery and Integration (UDDI). Each of these plays a separate role in the building and enabling of Web services.
Soap is a protocol that defines a means of passing XML-encoded data between services or applications. It also offers a means of performing remote procedure calls (RPCs) via HTTP. WSDL is an XML-based language that describes the services on offer and allows them to be accessed electronically. The language can also be used instead of Soap to express services within a UDDI registry.
Once they have been published, Web services can be found using UDDI. UDDI is a way of dynamically enabling an organisation to find other businesses via a series of registries. It is based on white, yellow and green pages directories, containing information such as company names and addresses in the white pages, business categorisations in the yellow pages, and technical information about the Web services available from each company in the green. Green page data includes definitions of the data formats each company requires to share data with other organisations. Regulated UDDI registries not only enable firms to understand the data requirements of other organisations, but provide a reliable source of information about companies operating in certain fields of business.
But despite the potential of UDDI to provide a common directory for Web services, the lack of official standards approval may hinder its progress. Although the project has the support of more than 130 major vendors, including Hewlett-Packard and Sun as well as other e-business initiatives such as RosettaNet, it is anticipated that UDDI will require at least another two revisions before it is submitted for external approval.
Despite this lack of standardisation, Web services Ã, particularly when coupled with UDDI Ã, offer many potential benefits for e-business. For example, a business-to-consumer (B2C) firm that outsources its delivery function to a third party can use Web services to provide details through its own Web site about the location of customers' goods. Here, the Web service would interface directly with the delivery service's databases and discover data on the whereabouts of a specified order. Using XML, this information can then be displayed on the B2C firm's Web site as part of its customer service. At present, achieving this result would require a proprietary link between the two systems, or customers would have to find the information themselves via the delivery company's site.
One of the future strengths of Web services will be the flexibility they will give organisations to work together, but most current developments using this technology are internal initiatives within firms. In this context, Web services provide distributed computing environment (DCE)-style solutions that are platform-independent, enabling a LAN server to make use of a mainframe's capabilities, for example.
Internal systems can also be combined with Web services from trusted third parties, with whom a company already has a relationship. This could be used to build a system such as a corporate travel service, for example, capable of taking a request from users via a browser, then directly querying the systems of suitable partners to construct travel plans.
Vendor deployment
IBM, Microsoft, Sun and BEA all have strategies for creating and deploying Web services, and are at varying stages in their implementation of solutions and toolkits.
IBM is one of the furthest advanced in terms of the tools it offers for businesses. Its WebSphere Application Server 4.0 has been optimised for Web service support through the addition of elements such as an interface for UDDI, and it is due to release a beta version of its toolkit for Web-service development. The current DB2 includes an XML Extender, providing Web services with access to data in DB2 databases, plus storage for Soap and UDDI data. Meanwhile, BEA has announced the latest version of its WebLogic e-business platform, which includes support for Soap, WSDL and UDDI.
As well as building support for Web services into the next version of Java 2 Enterprise Edition (J2EE) and delivering a Web services pack for development using the current Java 2 platform, Sun is also developing its SunOne (Open Net Environment) Web services platform. This provides an environment where Java and XML can be used together to build Web services. The two main components of SunOne are its Forte development tools and the iPlanet server suites.
Microsoft's dot-Net services have similar aims, combining back-end products such as BizTalk Server with Web services development tools, primarily Visual Studio.Net, which is still in beta testing. Additional toolkits exist for Microsoft's current development languages Ã, for example Soap Toolkit 2.0, though Visual Studio.Net will provide broader capabilities for Web service developers.
Microsoft has also been active in developing Web services, the controversial Hailstorm technology being a prime example. This is a set of user authentication Web services that can be incorporated by third-party developers into any application requiring user validation, and allows individuals to control how much of their information is exposed to those third parties. Concerns have been expressed over whether Hailstorm will be truly open source, particularly when used with non-Windows operating systems; however, it is built using XML and Soap, which are open-access technologies.
While some variation in vendors' approaches to providing Web services toolkits and solutions is inevitable, the strength of these services lies in the use of open standards. If this new technology is to provide a successful means of collaborative working between businesses, then openness will be key. Several vendors are still in the process of developing their tools, and important elements such as UDDI await approval by external standards bodies.
Nevertheless, Web services have the potential to greatly broaden the scope of business collaboration via the Internet, if they are built in a sufficiently open fashion.











