FUSION: A System Allowing Dynamic Web Service Composition and Automatic Execution Debra VanderMeer College of Computing Georgia Inst. of Technology deb@cc.gatech.edu Anindya Datta Chutney Technologyies adatta@chutneytech.com Kaushik Dutta Chutney Technologies kdutta@chutneytech.com Helen Thomas Heinz Sch. of Public Policy Carnegie Mellon Univ. hthomas@andrew.cmu.edu Krithi Ramamritham Dept. Computer Sci. and Eng. Indian Inst. of Tech., Bombay krithi@cse.iitb.ac.in Shamkant B. Navathe College of Computing Georgia Inst. of Technology sham@cc.gatech.edu Abstract Service portals are systems which expose a bundle of web services to the user, allowing the specification and subse- quent execution of complex tasks defined over these individ- ual services. Examples of situations where service portals would be valuable include making travel plans or purchas- ing a home. Service portals must be capable of converting an abstract user goal into a correct and optimal concrete execution plan, executing according to the plan, verifying the result against a user’s stated satisfaction criteria, and in the case of satisfaction failure, initiating the appropri- ate recovery procedures. The basic framework needed to support this functionality, from gathering the input to gen- erating an optimal plan and executing that plan, is a pre- requisite for all service portals, yet there are currently no such commercial systems in existence, and the research lit- erature has given only cursory treatment to some of these is- sues. In this paper, we describe FUSION, a comprehensive software system which provides the underlying framework for a service portal. We show how using the elements of this framework, service portal designers and architects can easily create domain-specific service portals, e.g., a travel service portal. We also present the Web Services Execution Specification Language (WSESL), a language that we have developed to describe execution plans in the context of the FUSION services model. Finally, we develop a set of data structures and algorithms for generating correct and opti- mal execution plans. 1 Introduction The Web Services paradigm allows for the develop- ment of loosely coupled “islands” of distributed computing. Here, independent computing resources expose an interface of available operations, accessible over the network. For example, a bank might expose credit card processing func- tionality as a service, allowing, for example, a travel agency to charge a traveler’s credit card for airline or rail bookings across enterprise network boundaries. This type of interac- tion is made possible by a set of standards that define how web services are described, discovered, and invoked. The ability to access functionality over the network in a modular fashion leads to the potential for composing web services. Web service composition can enable valuable functionalities for the end user that may be difficult or im- possible to achieve when a user must interact with “indi- vidual” web services. For instance, suppose a user wishes to attend an open air event on a particular day only if the forecast for that day does not call for inclement weather. Further suppose the existence of a weather service as well as a service allowing the purchase of tickets for events. It is of course possible for the user to contact these ser- vices individually and decide whether she should purchase a ticket and then act accordingly. Alternatively, if a system were available that exposed the services to her from a sin- gle point and possessed the ability to generate and execute a “composite” plan based on her requirements, such a sys- tem would clearly provide value over and above the total value provided by the individual web services. It should be noted that the example above is quite simplistic. In more complex situations, e.g., making travel plans, or buying a house (imagine the complex interaction between inspectors,