In name, 'web services' may sound like the primary function that the Internet has been fulfilling for the past five years, but it is, in its adopted use, a very specific entity: the ground where the business application extends itself onto the Internet.
The notion is simple. Rather than having the various software objects that make up an enterprise application sit in a library on an organisation's application server, those objects can be 'discovered' on servers that are scattered across the Internet as and when they are needed.
Take for example a shipping agent wanting to transport grain half way round the world. To source space on a ship, the agent's application sends out a request to a global web-based directory of available web services, wrapping with that the relevant terms and conditions. That directory identifies the transportation companies interested in fulfilling the request. On their servers, a web service application raises a quotation and sends it back to the agent.
Take that a step further. The agent wants insurance for the cargo, advance customs clearance, payment of tolls in foreign currency, and so on. In each case the global business directory finds suitable partners who can execute the request.
Taken to its logical conclusion, the complete 'application' used by the shipping agent to run the whole business process is run entirely over the Internet.
As one technology analyst has exclaimed, the notion that the application can be externalised may be so radical as to cause CIOs to tear up their computer science degrees and scrap all their preconceived ideas about application development, sourcing and deployment.
Says Frank Moss, chairman of Bowstreet, one of the pioneers of the sector: "The vision is of disintegrating the application and [accessing functionality] via directories of services. As a result, companies will assemble services on the fly, creating and re-creating business webs." The way applications are viewed will change forever, says Moss. "Web services gets rid of applications per se. In fact, people will forget about the idea of applications and start assembling services from stored processes. Converting from application [thinking] to web services is the mother of business transformation."
However, web services is not such a radical idea for many early adopters (see box, In practice). Many are viewing web services as an easier and more dynamic means of connecting to their business partners and avoiding huge B2B systems integration headaches. Equally, it is being readily embraced by the leading technology companies (including IBM, Hewlett-Packard, Microsoft, Oracle and Sun) who are rapidly enabling their application development and deployment tools for web services, and, uncharacteristically, cooperating extensively on the development of the all-important standards that make the whole concept of web services viable.
That early customer and vendor activity is inspiring some bullish forecasts. Research analysts at Gartner think that by 2003, organisations will be spending $1.7 billion on web services software - not counting the associated IT services costs.
But in many ways, web services is as much an evolution of existing technology markets. The emergence of object-oriented programming approaches in the 1980s paved the way by allowing applications to consist of a set of objects that could be called from an organisation's program libraries. Web services, in practice, simply makes that 'library' a code base that companies can gain access to through a global directory.
"It offers a clear separation between the business function and the delivery of that business function to a wider audience," says David Litwack, CEO of Silverstream, an application tools and server company that is backing web services heavily.
That standards-enabled separation will make the establishment of collaborative commerce activity between businesses a much easier task. Part and parcel of the notion that application functionality can be redefined as a series of services delivered over the web, is the understanding that organisations will be able to connect to each other much more simply. An organisation wanting to 'expose' its inventory to a group of trusted suppliers, for instance, will merely offer them as a web service.
Not only will those kinds of links be easier to establish (and not require millions of dollars in integration software and services), but they will also be dynamic. An organisation - say, a travel agent booking customers' annual holidays - will want to forge links to web-service providers as and when they are needed, effectively building a business web to combine flights, insurance, hotels and so on. At the same time, if a web-service provider updates the 'exposed' application, there will be no need for those 'discovering' it to adjust their software in any way.
"Web services themselves are really interface standards and wrapping functions that make applications more interoperable with other applications. The excessive hand-coding [that is necessary] to get any application to talk to another application is diminished dramatically through the emergence of a common language-standard structure, formatting one thing to the next," says IBM's Steve Mills, head of the company's Software Group.
What surprises many observers is that this kind of application design is already underway. Travel company Galileo wants to exploit the revolutionary thinking to enable services for its travel agents; Cisco and Dell are reworking their distributors' 'applications' so they can evoke web services; and British Telecom, CNA Insurance and even the UK government have similar plans for their suppliers and partners.
In fact, since early 2001 the momentum behind web services has grown dramatically. Should IT decision-makers be taking notice? asks AMR Research. "The bottom line [is that] businesses that don't use web services will suffer as a result of inefficient applications and missed revenue-generating opportunities," says the analyst group's Peter Urban.
To make that possible, vendors seeing the potential have been rushing to web services-enable their products. As recently as August 2001, IBM and Silverstream announced support for the crucial web services standards within their application development tools, application servers and related products. Microsoft has made web services one of the pillars of .NET, its complete rethink of how software is delivered to users. Others have also been cheerleading for web services, including Sun, BEA, Oracle, and Hewlett-Packard.
None of the potential of web services could be realised, however, without the major vendors having co-developed the fundamental standards, establishing what David Litwack of Silverstream calls "the first universal standard for the distribution of components". Four standards predominate: ebXML, SOAP, WSDL and UDDI (see box, How it works).
The construction of registries using UDDI is the next watershed. The major software suppliers have got together to launch the Global Business Registry, analogous to the global Internet domain name server. There will be other, more specific directories, too, says Mark Cathcart, an IBM software technology strategist. "It will be difficult to create a single business registry for web services." IBM is already courting interested parties to rally support for the development of geographic registries and registries for specific industries. Some companies, such as Bowstreet, have also established their own directories of web services.
However, taking the plunge into web services will have an upfront cost - albeit a justifiable one, say analysts. "Web services require an upfront investment in a new platform but have the potential for quick ROI," says AMR's Urban. Clearly, organisations will have to invest in re-skilling programmers and upgrading their development tools to versions that comply with the major web services standards. But the paybacks are there to compensate. Many of the B2B links that organisations have today, or are established using electronic data interchange or application integration software, will be more easily and less expensively created and more dynamically configurable with web services.
As John Swainson, general manager of IBM's Application and Integration Middleware division, says: "Frankly [traditional business integration] is labour-intensive, time-consuming and gets in the way of rapid deployment of the new business models that people would like to adopt in a world of dynamic ebusiness. Web services will usher in new-age application integration. The difference with this is that it will be much more standards-oriented - liberating applications rather than tying them together."
IBM estimates that point-to-point integration customers are spending between $6 and $16 in services for every $1 they spend on software. "Web services is [an alternative] way to integrate with other parts of the enterprise, with your suppliers and partners very cheaply," says Jocelyne Attal, VP of application and integration middleware marketing.
But easier and less expensive B2B integration is not the only benefit. "The investment [in web services] pays off continually because of the reusability of components, increased productivity of development, and ease of development," says AMR's Urban.
While removing some obstacles, the concept of web services still has plenty of barriers to overcome. One is the learning curve. Says IBM's John Swainson: "Web services is a really important technology, taking open computing to a broader number of places. But it doesn't obviate the need for good software design. It's a great idea, the next big thing - but it's not magic and doesn't make the difficulties of software development go away. In fact, it potentially introduces far more."
Another key issue that will concern IT decision-makers is the notion of running executable objects over the web. Organisations will need to be convinced that exposing their inventory levels, for example, to select customers over the web, or checking customer credit records via a third-party software module, will be adequately secured. (AMR's Urban says that a fifth fundamental standard will emerge to cover such issues.) As that suggests, not all the standards battles are fought and won. While Microsoft has been a strong supporter of UDDI, it still has plenty of proprietary technology that could make the web services elements of its .NET initiative less than universally applicable. With web services, agreement on standards is vital, says Urban. "If the programs do not communicate under standard protocols, web services will fail."
Nonetheless, web services will be a paradigm shift in the way applications are sourced, developed and deployed, resulting in a fundamental change in the way businesses interact. But as with many revolutionary technologies, the initial claims are exaggerated and some initial applications seem trivial. But, just as Java was belittled in the mid-1990s for its in capacity to do little more than spin logos on corporate web sites, the potential for web services should not be underestimated. Web services thought leaders
XML Global Technologies
In practice: Bekins
Examples of what organisations are trying to do with web services are only just surfacing - but they do give a clear vision of how the approach will change the structure of application deployment and trigger greater B2B collaboration.
International removals, logistics and transportation company Bekins has a perennial challenge: To ensure that the company's trucks leave for their destination with the maximum load.
The company, which sources much of its business via agents located all over the US, has some links to its largest partners based on electronic data interchange (EDI) technology, but for the most part orders are taken and space on trucks filled through a battery of office staff communicating with agents by phone, fax and email.
The integration of its IBM mainframe with the diverse systems used by its agents and partners would simply be prohibitively expensive, says Randall Mowen, director of data management and ebusiness architecture. But the emergence of web services promises a cheaper, easier way.
Bekins intends to 'expose' various application components to its agents that show space availability, rates and schedules. Agents will be able to include such modules as a 'web service', called from their own applications. As the web service is wrapped in standard Internet technology (XML, SOAP, WSDL), the agents need not concern themselves about integrating their systems directly with Bekins' or updating their applications when changes are made to the exposed module.
According to Mowen, "As [web services] technology matures, it will be less and less necessary for our developers to write and define code to enable users to access data. Instead, we will simply define a web service to provide a view into our data. It will be a much faster, less costly way to bring new capabilities online." The company is basing its development on IBM WebSphere software.
In practice, other parts of Bekins' and its agents' applications could just as easily be provided as web services delivered over the Internet: obtaining insurance coverage for the items in transit; running a credit check on customers; setting up customs clearance for international transportation; or providing currency conversions of foreign fees. In essence, the bulk of an agent's application could be executed over the web using such loosely-coupled application components, dynamically assembled and alterered as business processes require.
Web services will enable Bekins to offer services that were previously too costly to support due to the complexity of building online relationships, says Mowen. For example, the company is designing a private e-marketplace where it can subcontract shipping orders to other transport companies when its own trucks are filled to capacity.
"Without web services it would take months of hand-coding to link everybody together. The project would probably never even get off the ground," says Mowen. "This is the type of application for which web services is ideally suited," he adds. "The potential benefits from extending our business capabilities through web services will make the payback [from our initial] B2B ebusiness [applications] seem like a drop in the bucket."
Ultimately, the traditional notions of applications could disappear. "It's possible that in the long run, all our business will be conducted through web services applications [with] web services the glue that will connect our whole business together," says Mowen. "We're certainly moving in that direction."
Web services - How it works
Web services are a programming approach for discovering software components, connecting to them and having them execute over the Internet. They can be a single component performing a discrete business process, such as validating credit card details or checking an inventory level, or a series of processes that can be bound together and executed either sequentially or synchronously, depending on the application requirements.
Typically, an application wishing to perform a business function would look to an Internet-based registry to discover companies or organisations that provide that functionality as a web service. For example, a auto-industry supplier's application, seeking a shipment of ball-bearings, would formulate a query (using WSDL - see below for standards explanations) that sets out the desired terms of the contract, before sending that out to search a registry (built using UDDI). Having found a set of service providers that would be willing to take on that business, the program connects to their web site (using SOAP) where quotes are generated and returned to the supplier.
The major software companies were quick to realise that web services would be impractical if not based on open standards. In an unprecedented show of unanimity, IBM, Sun, HP, Microsoft and others have worked together to define the core protocols, query language, interfaces and specifications for web services. Four standards predominate:
- XML (Extensible Mark-up Language) is used to define a message that requests a web service from an application or passes the results of the execution of a web service back to the requester's application or to a further web service.
- SOAP (Service-Oriented Architecture Protocol) is the XML-based messaging protocol that enables application components to remotely call and invoke web services from the service requester's application.
- UDDI (Universal Description, Discovery and Integration) delivers three key aspects of web services: a standardised, transparent mechanism for describing the service; a simple mechanism for invoking the service; and an accessible central registry of services.
- WSDL (Web Services Description Language) enables web services providers to 'publish' a description of their application service on the web so service requesters can become aware of it.