- From: Jim Hendler <hendler@cs.umd.edu>
- Date: Mon, 31 Mar 2003 20:16:47 -0500
- To: Web Services Choreography <public-ws-chor@w3.org>
Below I offer a couple of scenarios, evidence for implementibility and impact on Chor based for a use case in which services are composed from existing services (without pre-arrangement on the parts of the service suppliers). Details of the work I base these on is in the paper http://www.mindswap.org/papers/composition.pdf and is demoable (outside firewalls) in a demo called "composition" which can be found at http://www.mindswap.org/demos/. 1 - Short use case descriptions: ... suppose a small business which sells little gift boxes full of candies for Valentine's Day wants to buy a hundred gross of chocolate hearts and a hundred gross of candy canes, and ship them both to a plant in Toronto by Jan 15 for packaging. We can find vendors of hearts, vendors of candy canes, and lots of shippers - but no one service that can do all three. Essentially, we are composing one new service (the candycane-chocolate-shipping service) out of three others. ... Further, Semantic Web applications can then be used to analyze ways to reach the goal we need by putting services together in an efficient and effective means (e.g. shipping chocolate requires refrigeration, so merging additional information about chocolate helps ensure effective delivery). Although complex service composition is still very much a research issue, basic composition, done by reasoning about the inputs and outputs of the various services, is already doable using existing Semantic Web tools. (the above is a slightly edited scenario taken from: Hendler, Berners-Lee, and Miller "Integrating Applications on the Semantic Web," Journal of the Institute of Electrical Engineers of Japan, Vol 122(10), October, 2002, p. 676-680 - English translation available at: http://www.w3.org/2002/07/swint) More complex examples include military applications which need to take the outputs of a set of sensors, send them to appropriate processors, and then fuse the results and route to a commander. Another would be taking inputs in one natural langauge, translating to another, feeding to a service which produces an output string, and passing that output string to some other service which uses it for e-commerce. For example, the system described below can compose a service that will take a book title in English, use Babelfish to translate it to a foreign langauge, pass the foreign string to the ISBN finder service (thus finding the ISBN of the foreign language version of the text), and passing that ISBN on to the Amazon web service which will produce the price of the book. The "composed" service can then be automatically saved to become a "foreign book pricing" service. (Which could then be in turn composed with a currency converter, an overseas shipping service, etc.) 2 - evidence for implementability In a joint project with Fujitsu Laboratories of American, College Park the University of Maryland has focused on the semi-automated composition of Web services via the use of Semantic Web technologies. Our work is built on top of the DAML Service (DAML-S) ontologies. DAML-S provides a semantic description of a Web service with three components. The "service profile" describes what the service does by specifying the input and output types, preconditions, and effects. The "process model" describes how the service works; each service is either an AtomicProcess that is executed directly or a CompositeProcess that is a combination of other subprocesses. The "grounding" contains the details of how an agent can access a service by specifying a communications protocol, parameters to be used in the protocol, and the serialization techniques to be employed for the communication. Work to date has demonstrated the grounding of DAML-S in both the Web service Description Language and the Universal Plug and Play device service description. This latter is particularly important, as it provides an integration of Web services with computing on devices such as personal digital assistants (PDAs) and data tablets. The composer creates a workflow of services that can solve the user's need in a goal-driven way. The system is also extensible -- any composition generated by the user and the system can be automatically realized as a DAML-S CompositeProcess, allowing it to be reused at a later time or used by the system for composition with other services. 3. Impact for work of WS Chor WG We believe the output of such a composer should be represented as a Choreography that expresses the composition (what inputs are mapped to what outputs, what order services are called in, where the "groundings" of the services in the choreography can be found). This has two advantages, first the composed service choreography is "external" in the sense that the services composed can be treated as "black boxes" by the choreography -- only the interface and description of the composed service needs to be exposed. Second, the same sort of choreography can be used against other service-based systems such as the Open Grid Services Architecture (OGSA), device and sensor services in UPnP and other such proprietary device languages, and specialized service architectures like the proposed "US Joint Battlespace Infosphere" a current Air Froce project in interoperability technology and other such defense or government architectures which run variants of current web services. (note: designing a language specifically for these non-Web-service architectures is clearly out-of-scope for this group, but if our proposed solution will work in full or part for these other architectures, it would be a good benefit). -- Professor James Hendler hendler@cs.umd.edu Director, Semantic Web and Agent Technologies 301-405-2696 Maryland Information and Network Dynamics Lab. 301-405-6707 (Fax) Univ of Maryland, College Park, MD 20742 240-731-3822 (Cell) http://www.cs.umd.edu/users/hendler
Received on Monday, 31 March 2003 20:16:52 UTC