T1 - FULL DAY (two-half days combined) ======================================================================== Web Service Composition & Service Composition Techniques Munindar P. Singh and Michael N. Huhns ======================================================================== ABSTRACT OF TUTORIAL The services metaphor is catching on rapidly for the development of complex Web applications. Because of the heterogeneity and autonomy of web-sites, it is only natural that we model them as independent services. These services can be engaged through well-defined protocols. Protocols, in this sense, replace programming interfaces as an abstraction for programming. The first generation of the work on Web services has concentrated on the basic infrastructural needs, such as directory services, description languages, and invocation standards. The whole point of having Web services is that they be composed into more complex and more valuable services. Present techniques that are popular within the Web community address the challenges of composition only to a limited extent. Some of the most important higher-level abstractions are not studied within the community; instead classical programming techniques are lifted for Web services. These techniques, such as procedure calls, were developed for traditional closed systems. A lot more can and should be said about Web services, especially when we view them from the perspective of composition. For example, services in general are not invoked but are engaged, meaning that the interactions one has with them are quite unlike method invocations and are better modeled as parts of extended conversations. Similarly, discovering the right service is more than simply looking up a directory with a method signature. Some of the key techniques for service composition were developed in the areas of databases, distributed computing, artificial intelligence, and multiagent systems. These are generally established bodies of work that can be readily adapted for service composition. Some additional techniques, although inspired by these areas, must be developed from scratch, so as to address the essential openness and scale of Web applications that previous work did not need to address. Both classes of key techniques should be incorporated into our best practices for service design and composition. In many cases, they can be applied on top of the existing approaches. This tutorial seeks to discuss the key concepts in service composition. Its intent is to explain the true purposes of service composition, to evaluate existing approaches, and to present existing techniques from other areas that can be adopted for service composition, and lastly to introduce emerging techniques for addressing challenges that are unique to service composition. ======================================================================== INTENDED AUDIENCE Web services are becoming increasingly important. Service composition concepts involve enough intricacy as to attract considerable interest from conference attendees in Fall 2002 as the basic infrastructure for Web services becomes more common. This tutorial may be of use to understand the principles and practice of service composition. To review Web service concepts and architectures from the ultimate purpose of composing services. To understand techniques for service composition. The tutorial can be fruitfully attended by: active practitioners; advanced developers; graduate and senior undergraduate students. ======================================================================== BACKGROUND KNOWLEDGE REQUIRED Some experience with Web programming; basic concepts of artificial intelligence, databases, distributed computing, and agents. ======================================================================== DETAILED OUTLINE PART 1: Web Service Composition I. Introduction Brief history of information technology Distributed computing in the large Motivations for composition Challenges for composition II. Web Services Architectures and Standards Basic concepts Directory services UDDI SOAP WSDL III. Key Concepts Peer to peer computing Transactions Messaging Integration versus interoperation Schema and process modeling Evaluation of current architectures and standards IV. Bring it All Together Agents Multiagent systems Interaction patterns V. Discussion Prelude to techniques Key challenges Status and trends PART 2: Service Composition Techniques I. Introduction Goals of composition Challenges for composition II. Basic Techniques Service discovery Task specification Workflows and relaxed transactions Ontologies and knowledge sharing Consistency maintenance III. Enhanced Techniques Agent communication languages Interaction protocols Commitments and contracts Team programming Engineering composed services IV. Advanced Topics Compliance Trust Reputation mechanisms Privacy versus personalization User interfaces Web structure V. Synthesis Common threads Open problems Status and trends ======================================================================== BIOGRAPHIES OF TUTORIALISTS MUNINDAR P. SINGH Department of Computer Science North Carolina State University Raleigh, NC 27695-7535, USA singh@ncsu.edu +1.919.515.5677 (voice) +1.919.513.4357 (fax) http://www.csc.ncsu.edu/faculty/mpsingh/ Munindar is an associate professor in computer science at North Carolina State University. From 1989 through 1995, he was with the Microelectronics and Computer Technology Corporation (MCC). Munindar's research interests include multiagent systems and Web services. He focuses on applications in e-commerce and personal technologies. Munindar's 1994 book "Multiagent Systems," was published by Springer-Verlag. He coedited "Readings in Agents," which was published by Morgan Kaufmann in 1998. Munindar has authored several technical articles. Munindar's research has been recognized with awards and sponsorship by the National Science Foundation, IBM, Cisco Systems, and Ericsson. Munindar is of member of the editorial boards of IEEE Internet Computing (editor-in-chief: 1999-2002) and the Journal of Autonomous Agents and Multiagent Systems. He serves on the steering committee for the IEEE Transactions on Mobile Computing. Munindar received a B.Tech. in computer science and engineering from the Indian Institute of Technology, New Delhi, in 1986. He obtained an M.S.C.S. from the University of Texas at Austin in 1988 and a Ph.D. in computer science from the same university in 1993. MICHAEL N. HUHNS Department of Computer Science and Engineering University of South Carolina Columbia, SC 29208, USA huhns@sc.edu +1.803.777.5921 (voice) +1.803.777.8045 (fax) http://www.engr.sc.edu/faculty/huhns/ Mike is a professor in computer science and engineering at the University of South Carolina, where he also directs the Center for Information Technology. Previously he was a Senior Member of the Research Division at the Microelectronics and Computer Technology Corporation. Prior to joining MCC in 1985, he was an associate professor of electrical and computer engineering at the University of South Carolina, where he also directed the Center for Machine Intelligence. Mike has been an adjunct professor in computer sciences at the University of Texas. Mike is a member of Sigma Xi, Tau Beta Pi, Eta Kappa Nu, ACM, IEEE, and AAAI. He is the author of over a hundred technical papers in machine intelligence and an editor of the books "Distributed Artificial Intelligence," Volumes I and II, and "Readings in Agents." His research interests are in the areas of distributed artificial intelligence, machine learning, enterprise modeling and integration, and software engineering. He writes a column "Agents on the Web" for IEEE Internet Computing. Mike is an associate editor for the Journal of Autonomous Agents and Multiagent Systems. He is on the editorial boards of IEEE Transactions on Mobile Computing, IEEE Internet Computing, International Journal on Intelligent and Cooperative Information Systems, and Journal of Intelligent Manufacturing. Previously, Mike was an associate editor for IEEE Expert and the ACM Transactions on Information Systems. He is on the Advisory Board for the First International Conference on Multiagent Systems, 1995, and has been on the Advisory Boards for several of the International Workshops on Distributed Artificial Intelligence. Mike received the B.S.E.E. degree in 1969 from the University of Michigan, Ann Arbor, and the M.S. and Ph.D. degrees in electrical engineering in 1971 and 1975, respectively, from the University of Southern California, Los Angeles.