Although the technology is still in its infancy, the potential of Web Services is already clear. According to a survey from 2002, 32% of 170 German companies questioned are already planning to introduce Web Services technology within two years. That is reason alone to look at the subject in more detail. Web Services are software components with the ability to dynamically provide software functions as services on the Internet and enable these functions to be used via standard Internet protocols like HTTP (Hypertext Transfer Protocol). Web Services allow a service requester (client) easy access to remote service providers (servers) via standardized protocols and interfaces and therefore form the basis of distributed applications.
Processes and Partners
Let’s take an electronic flight reservation as an example of a Web Service. Looking at it simply, a service requester directly accesses the service provider, i.e. the Web Service, with his reservation request, and information such as travel dates, origin and destination etc. is exchanged. The Web Service receives the request and returns a reservation suggestion to the service requester. This process assumes that the service requester already knows the Web Service he wants to use. Yet several competing service providers may all be offering the same required function but with different conditions. In order to find a previously unknown Web Service, the service requester can ask a service identifier, which basically functions as a directory of all available services. The service identifier has two essential functions – first it enables a Web Service provider to publish his service along the same lines as the Yellow Pages giving an address and a description of the function. Second the service identifier gives information about available services, thus enabling the service requester to find services from previously unknown providers. After the service requester has received the address of the Web Service, the requestor and the provider communicate directly with each other. The service requester identifies appropriate services on the basis of their description. It displays the reservation request and filters out the most appropriate Web Service for placing the order.
What are the benefits of Web Services over existing services on the World Wide Web? Access to Web Services is completely electronic, in contrast to current offerings on the Web which make the reservation function described here available separately via graphic user interfaces for one travel agent at a time and thus require a person for interaction. This means the flight reservation quoted in the example could be made on the intranet; the intranet server receives the employee’s travel request via a standardized form, automatically searches the Web Services of all airline companies or travel agencies and passes on the result directly to the existing in-house “flight reservation” workflow.
Added value with meta data
When developing Web Services, a whole host of important design aims were pursued which have a positive impact on the performance of the Web Service architecture and its features:
- Programmability – Web Services are not intended for direct communication with users. They have software interfaces rather than graphic user interfaces.
- Adaptability – Web Services are described by meta data which can be analyzed during runtime. Modifications are notified by Web Service descriptions, meaning that a service requester can continue to work with the modified service.
- Loose link – Web Services may be used either synchronously or asynchronously. Communication is performed by message exchange.
- Encapsulation – Web Services are independent, self-contained services with exactly defined tasks and interfaces. Implementation details remain hidden to the user.
- Composition – Web Services can also use other Web Services.
- Location and protocol transparency – Web Services can be provided flexibly at any given location and can be used via various protocols (e.g. HTTP).
- Interoperability – Communication with Web Services takes place via open, XML-based standards (SOAP = Simple Object Access Protocol). Freedom from using a certain programming language, hardware platform or operating system facilitates the integration of heterogeneous systems.
- Focus on service – This is achieved by a clear division between the service provider and consumer.
The features mentioned here form the strengths of the Web Service architecture. In contrast to earlier approaches to creating distributed architectures through CORBA (Common Object Request Broker Architecture), the Web Service architecture offers a number of benefits for realizing distributed applications. The interoperability of Web Services facilitates the integration of existing applications into heterogeneous environments. The loose link between the service requester and provider minimizes problems in modifying service interfaces. During message exchange with a modified service requester, the service provider need only pay attention to the revised description of the service since the Web Service can describe itself. The client would have to be adapted every time in CORBA applications. Extremely robust components with a long lifecycle can therefore be created for distributed applications.
The interoperability of Web Services calls for generally accepted standards that enable the interaction of new services that come about independently of each other. Standards also come with many competitive advantages. They reduce development costs and complexity. They also simplify entry into new technologies and make the investment more sustainable. Standards are crucial to the success of the Web Service architecture, particularly for technology such as Web Services which is geared to integrating distributed applications and maximizing service availability.
Standardization in the area of Web Services is currently fully underway. In addition to companies like IBM, SUN Microsystems, SAP and Microsoft, a number of independent bodies are also involved in the standardization process. The World Wide Web Consortium (W3C) is by and large concentrating its efforts on horizontal, technical standards which do not show any specific focus on an application. The OASIS Group (Organization for the Advancement of Structured Information Standards) on the other hand is dealing with vertical standards intended for specific application areas and building on existing technical standards. The following technical specifications form the bedrock of the Web Service architecture –
- SOAP enables message exchange with remote services and uses XML as the data exchange format. Messages are comprised of XML structures which are packaged and sent in an SOAP message. The receiver unpacks the SOAP message and can then process the XML data structure.
- The Web Service Description Language (WSDL) supports description of Web Service capabilities, also based on XML. WSDL supplies every Web Service implemented with an easily understandable interface description, administrative information like a description of possible message types, the semantics of the message exchange (request only, request response, response only) or encoding information. WSDL thus delivers information as to which services a Web Service offers, how access is made and where the Web Service is provided.
- The Universal Description, Discovery and Integration Service (UDDI) is a directory service which registers Web Services and their interfaces and thus facilitates dynamic location and accessing of Web Services. In a similar way to the Yellow Pages, UDDI provides data on company names, description and contacts (White Pages), product, service, industry type and geographic location (Yellow Pages) and technical details relating to data communication (Green Pages).
The stated standards are augmented by a technical definition for e-business processes – namely, the Electronic Business Extensible Markup Language (ebXML), developed by OASIS and UN/CEFACT. This standard supports business message exchange and facilitates data communication using the same vocabulary. It also defines and registers business processes. The ebXML specification contains reference architecture, a business process scheme and a protocol agreement which regulates the message exchange between business partners.
Stability and control
The integration of electronic business processes (EAI) can be considered the most important future application for Web Services. The technology offers the possibility of linking distributed applications via standardized interfaces and exchanging data in XML format. An important advantage of Web Services over previous technologies is their stability when interfaces are modified. Large, distributed company structures in particular often have a mishmash of applications, some of which were put in place some time ago using various technologies on different platforms. These applications need to continue working together in the future too. Modifications to the interfaces of even a single application can cause unexpected side effects. Using Web Services as intelligent, robust interface technology could prevent this to a large extent, thus increasing the reliability and maintainability of the IT infrastructure as a whole. Reliability is increased while costs fall.
Services requiring a high standard of security that must run separately (e.g. billing and payments) are ideal for Web Services. But complex services requiring special hardware and software infrastructures and a highly specialized operating crew (simulation, high-performance computing, visualization etc.) are also prime candidates for successful business models based on Web Services. Web Services are also showing how they drive forward innovation in one particular area that is not immediately obvious – i.e. developing innovative products and services. This area benefits three times over from the advantages of Web Service technology and is therefore extremely cost-effective in the medium term. First, it will be possible in future to develop innovative products using Web Services (e.g. for simulation or visualization) and second they can use Web Services themselves to interact with users and for remote monitoring and control. Third, future intelligent products will be suitable for molding with associated services to form hybrid products. The services themselves could also use Web Services to adapt perfectly to customer requirements. Thus innovative products can be created and new and interesting markets opened up by using high-performance Web Services.
Challenges at the outset
Web Services offer a wide range of economically attractive applications. Aside from use in EAI projects and for integrating business processes, Web Services also offer considerable potential for developing new e-business applications and for creating innovative products and services.
Yet before the use of Web Services becomes widespread, there are a number of technical and organizational hurdles that first need to be overcome. A potential customer must be able to find exactly the Web Service he requires for his task and must be able to do so easily. Companies must also be prepared to open their IT infrastructure for integration of Web Services. The economic success of Web Services also depends on content-related and organizational factors. If useful service offerings are missing, the technology will also play a secondary role. One should not underestimate the problems involved in putting in place structural and operational organizations that are geared to promoting cooperation. Nor should there be any doubt as to the capabilities that a software solution must support if it is to have the task of independently using services on the Internet that incur costs.
Identifying the services suitable for problem solving when using previously unknown services on the Internet presents a particular problem. Even if technical solutions (WSDL, UDDI) are available in principle, these require at the very least a standardized vocabulary and a standardized language in order to be able to understand the service description. Besides realizing direct machine-machine communication, which is already supported by Web Services, it must also be possible – if services are to be selected and utilized automatically – to describe these services in a way that machines are able to understand. A solution to this end will be put in place in the future through the use of semantic technology, which enables the scope of a service to be understood automatically and supports comparison and selection of services described in different ways but offering similar benefits. This development of Web Service technology is currently the subject of intensive research work.
Standards in the field of Web Services
Web Services overview
Research at the Fraunhofer IAO