Fakultät für Informatik TU München - Fakultät für Informatik
Lehrstuhl III: Datenbanksysteme
Technische Universität München
Home  |  Personen  |  Forschung  |  Lehre  |  Sonstiges  | 

Introduction

Web services are a new technology for the development of distributed applications on the Internet. By a Web service (also called service or e-service), we understand an autonomous software component that is uniquely identified by a URI and that can be accessed by using standard Internet protocols like XML, SOAP, or HTTP [RV02]. A service may combine several applications that a user needs, such as the different pieces of a supply-chain architecture. For a client, however, the entire infrastructure will appear as a single application. Due to its potential of changing the Internet to a platform of application collaboration and integration, Web service technology gains more and more attention in research and industry; initiatives like HP Web Services Platform [WSP], Microsoft .NET [NET], or Sun ONE [Sun] show this development. All these frameworks share the opinion that services are important for easy application collaboration and integration and they try to provide appropriate tools and a complete infrastructure for implementing and executing Web services.

Our objective in this work is to present new techniques for Web service execution and deployment in dynamic environments which can be integrated into existing service platforms. The first technique we propose is dynamic service selection. It offers Web services the possibility of selecting and invoking services at runtime based on a technical specification of the desired service. Therewith, it provides a layer of abstraction from the actual services. Constraints enable Web services to influence dynamic service selection. Using them, services can be selected based on the metadata available about them. After invocation, replies may be checked for defined properties and discarded, if necessary. Constraints also allow to specify how many services should be invoked and how they should be invoked. Constraints may be specified directly when invoking Web services, but they may also be stored in a service's context. In the latter case, they are extracted and used automatically for dynamic service selection by the service platform.
We address load balancing and high availability by providing a generic, modular dispatcher service for augmenting services with these features, without having to consider them during the services' development. The dispatcher is a software-based layer-7 switch with the known advantages: it forwards requests to different service instances and therefore reduces the risk of a service being unavailable and speeds up request processing because of load balancing respectively load sharing. Thus, there is only little skew in the load of hosts running the service instances and the average response time is kept as low as possible. Our dispatcher implements a new feature called automatic service replication. Using this feature new (individually configured) services can be installed on idle hosts on behalf of the dispatcher to use available computational power as good as possible. Additional advantages are that the dispatcher is integrated into the service platform and is completely transparent to the callers of a service.

Both approaches, dynamic service selection and the dispatcher, support the development, execution and deployment of flexible and reliable services. While dynamic service selection automatically uses alternative services when services fail (reliable execution), the dispatcher service enables service providers to ensure that their services will not fail and are highly responsive (reliable deployment), so that users feel impelled to use services of competitors.

We present these techniques within the scope of the ServiceGlobe system [KSSK02, KSK02]. ServiceGlobe provides a platform to implement, store, publish, discover, and deploy services. Additionally, the system supports mobile code, i.e., services can be distributed and instantiated during runtime on demand at arbitrary Internet servers participating in the ServiceGlobe federation. Of course, ServiceGlobe offers all the standard functionality of a service platform like SOAP/XML communication, a transaction system, and a security system [SBK01]. These areas are well covered by existing technologies and are, therefore, not the focus of this work. Also, we assume that appropriate standards will be developed and incorporated into service platforms.


Lehrstuhl für Datenbanksysteme
Letzte Änderung: 25.05.2005 um 14:38:36