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  | 

Description of the Tire Purchasing Demo

In this demo, we present the ServiceGlobe system and several of its key concepts using an automobile industry e-procurement scenario. For simplicity, we do not describe a complete e-procurement solution comprising of a marketplace service and automobile industry supplier services. Instead, we concentrate on the example of tire purchasing.

Tire Purchasing Scenario

In this scenario a car manufacturer requires an e-service for the task of purchasing tires and employing a forwarding agency to deliver these tires. In detail, this e-service has to perform the following tasks: First, it has to invite offers from available tire dealers for a given type and quantity of tires. Second, it must invite offers for the delivery of these tires to the car manufacturer. Third, it must calculate the cheapest combined offer for the purchase of tires from a tire dealer and the delivery of these tires by a forwarding agency. At last, the e-service must place purchase orders, based on the cheapest combined offer, at both, the tire dealer and the forwarding agency. If placing of a purchase order fails, the second cheapest combined offer should be tried (and so on).

The new e-service is split into two separate, dynamic services: a tire purchasing service and a negotiator service. This allows an optimized service execution by pushing negotiator services to service hosts close to tire dealers. The negotiator service instances are executed on several service hosts in parallel and thus it is assured that communication with the forwarding agency services is cheap. Using a graphical tool, the resulting services look like the graphs shown in Figure 1.

  
Figure 1: Graphical Representations of the Services

The tire purchasing service is the main service which is called directly by the car manufacturer. First, the service queries UDDI for tire dealer services (using a UDDI tModel). Using this technique, the service is independent of the available tire dealer services at a particular time and the implementation need not be changed to remove outdated or add new tire dealers. For every tire dealer service, we look for a service host close to the location of the tire dealer to minimize communication costs to the tire dealer service as well as to the forwarding agency services later on. Next, we execute a negotiator service on each of these service hosts. For performance reasons, all negotiator services are executed in parallel. Finally, we wait for the results of all negotiators. A timeout handles services that do not respond in time. After collecting the results, the combined offers (tires and delivery) are sorted by price and the tire purchasing service tries to contract a tire dealer and a forwarding agency starting with the cheapest offer. If one of the two participants fails for any reason, the contract conclusion is aborted and the next (more expensive) offer is used.

A negotiator service is called with information about which tire dealer it should contact. Its first action is to invite an offer from the given tire dealer. After that, it calls forwarding agency services using an all-mode call. Additionally, a QoS constraint filtering all forwarding agencies geographically close to the tire dealer is used. In our example, it is assumed that forwarding agencies in the neighborhood of tire dealers have the cheapest offers due to short routes. The negotiator invites offers from all selected forwarding agency services in parallel and waits for the results, calculates the overall costs (tires and delivery), and determines the five cheapest offers. These offers are sent back as result.

What will be shown

The demo consists of two applications. First, a frontend to the tire purchasing service allows to enter data into a form and execute the service. The frontend also allows to view all XML documents exchanged between the various services in the execution. Second, a map application depicts all services and their location graphically. It allows to add and remove tire dealer and forwarding agency services at runtime, to view all interactions between the services, and to influence the execution by setting individual timeouts, simulate failures, and so on.
Using these applications we demonstrate some of the major concepts of ServiceGlobe. First, we show where and how dynamic service selection takes place in our e-procurement scenario: Negotiator services contact several forwarding agencies, using dynamic service selection and an additional QoS constraint filtering all forwarding agencies geographically close to the corresponding tire dealer. Second, we demonstrate runtime service loading and service distribution: The tire purchasing service can be instantiated on every service host on the Internet (which we simulate, of course). The negotiator services are pushed close to the location-dependent tire dealer services such that communication overhead is reduced. This leads to load balancing (different service hosts for negotiators), to parallelization (negotiators work in parallel), and to profit from cheaper communication costs (execution close to tire dealers).
Lehrstuhl für Datenbanksysteme
Letzte Änderung: 25.05.2005 um 14:37:50