An Introduction to Self-Healing Web Services - Semantic Scholar

15 downloads 0 Views 118KB Size Report
to anomalies by means of suitable replanning or recovery strategies. In conclusion .... Conference on Service Oriented Computing, 2004. [2] L. Baresi, and S.
An Introduction to Self-Healing Web Services Luciano Baresi and Sam Guinea Dipartimento di Elettronica e Informazione Politecnico di Milano Piazza L. da Vinci, 32 - 20133 Milano (Italy)

baresi|[email protected]

ABSTRACT This tutorial introduces self-healing web services as a solution to cope with the dynamism and flexibility required by many modern software systems. Current technologies (WSDL, WS-BPEL, etc.) have proven insufficient in addressing these issues; however, they remain a good starting point for the analysis of the current situation and for building for the future. The core part of the tutorial analyzes —by looking at available technologies and prominent research proposals— the deployment and execution of these applications within three separate phases: a composition phase, to discover available services and implement the desired behavior, a monitoring phase, to understand if a given service is behaving correctly (with respect to both functional and nonfunctional requirements), and a recovery phase, to react to anomalies by means of suitable replanning or recovery strategies. In conclusion, the tutorial summarizes the main topics, presents a list of still-to-be-solved problems, and highlights possible directions for future research.

1.

INTRODUCTION

The service-oriented approach is becoming a popular paradigm for the integration of highly heterogeneous systems. The most visible advantage provided by service-oriented architectures (SoAs) is that they allow for the flexible coordination between business partners that wish to integrate their components (services) across business boundaries. However, the main novelty, with respect to component-based systems, is the new and unprecedented level of dynamicity these systems can tackle. The contexts in which they can operate can be extremely unstable and evolving.Therefore, the number and quality of the services available for integration can be extremely unpredictable, and preclude —at times— the apriori identification of all the components in a system. Moreover, the dynamic nature of SoAs requires that available functionality be sometimes discovered at run-time, and that

their quality parameters be negotiated dynamically. Such degrees of dynamicity preclude us from analyzing if a system can be considered trustworthy before its deployment, and require that we consider methods and tools that can help enforce trust during run-time. To this end, the deployment and execution of servicecentric systems can be characterized by three separate phases: a composition phase, a monitoring phase, and a recovery phase. The first addresses the fact that available services must be composed to implement the desired process or meet the predefined goal. Non-functional requirements play an important role during this phase and impose that the execution environment be capable of dealing with them. The monitoring phase adds special-purpose probes to detect anomalous conditions. For example, the system must able to understand if a given service does not answer (within a given time-frame), does not match a contract set in the process definition (be it functional or non-functional), or if it responds with an error message. In many cases, these systems cannot be simply shut down, since trust in the system would suffer as a consequence. On the contrary, the systems must be able to react to anomalies by means of suitable replanning or recovery strategies that handle the deviations from the original plan, compensate anomalous situations, and continue the execution to meet the original goal. To this end, the tutorial presents available technologies, and introduces the different solutions that can be used to build self-healing systems by analyzing (1) the dynamic composition of services, (2) the monitoring of their execution, and (3) the compensation of anomalous situations. Finally, the tutorial identifies future directions for applied research in the area.

2.

GOALS AND OBJECTIVES

Besides a general introduction to the problem, the tutorial will provide participants with: • A detailed definition of the domain, along with example applications and challenging problems; • An organized and hierarchical presentation of the many initiatives and standards in the WS-∗ jungle;

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. ICSE ’06 Shanghai CINA Copyright 200X ACM X-XXXXX-XX-X/XX/XX ...$5.00.

• A survey of existing methodologies for the dynamic composition of Web services, their monitoring, and the resolution of anomalous situations; • A proposal for a layered solution towards self-healing services; • A thorough discussion of future research directions.

3.

OUTLINE

Part I: Introduction, overview, and motivations. This part introduces the tutorial, presents the main faults that can arise in SoAs, and highlights the driving elements behind the proposed solutions. Part II: Existing technologies. This part classifies the too many WS-∗ technologies and concentrates on the main ones (UDDI, WS-BPEL, WS-CDL, etc.). Its goal is to help the audience understand what is already available, what is missing, and how current technologies attempt to solve the problems previously identified. Part III: Advanced research proposals. This part builds on the previous section and explains how the presented research proposals, methods, and tools provide solutions to the problems highlighted in Part I, and that are not currently solved by existing technologies. Part IV: A complete approach. This part presents a complete and homogenous solution to the problem of deploying self-healing Web services. Part V: Conclusions and future work. This last part summarizes the main elements presented during the tutorial, concludes the presentation with a list of still-tobe-solved problems, and highlights possible directions for future research by proposing a possible roadmap for their accomplishment.

4.

INTENDED AUDIENCE

This tutorial is open to all software practitioners, students, managers, and researchers who want to learn more about web services in highly heterogeneous and dynamic contexts. Participants should have a basic background in computer science and be aware of what the Internet and Web technologies are (e.g., XML and SOAP), but the tutorial is designed in such a way that no special previous knowledge is required. The tutorial will be given as a class, but active participation from the audience and discussions will be strongly encouraged.

5.

REFERENCES

[1] L. Baresi, C. Ghezzi, and S. Guinea. Smart Monitors for Composed Services. In Proceedings of the 2nd International Conference on Service Oriented Computing, 2004. [2] L. Baresi, and S. Guinea. Towards dynamic Monitoring of WS-BPEL Processes In Proceedings of the 3rd International Conference on Service Oriented Computing, 2005. [3] L. Baresi, and S. Guinea. Dynamo: Dynamic Monitoring of WS-BPEL Processes InProceedings of the 3rd International Conference on Service Oriented Computing, 2005. [4] B. Benatallah, F. Casati, and F. Toumani Web services conversation modeling: The Cornerstone for E-Business Automation. IEEE Internet Computing, 8, 1, 46-54, 2004. [5] B. Benatallah, Q. Z. Sheng, and M. Dumas. The Self-Serv Environment for Web Services Composition. IEEE Internet Computing 7(1), 40-48, 2003. [6] D. Berardi, D. Calvanese, G. De Giacomo, M. Lenzerini, and M. Mecella. Automatic Composition of e-Services that Export their Behavior. In Proceedings of the 1st International Conference on Service Oriented Computing,LNCS, vol. 2910, 2003 [7] D. Berardi, D. Calvanese, G. De Giacomo, M. Lenzerini, and M. Mecella. Synthesis of Underspecified Composite e-Services based on Automated Reasoning. In Proceedings of the 2nd International Conference on Service Oriented Computing, 2004. [8] T. Bultan, X. Fu, R. Hull, and J. Su. Conversation Specification. A New Approach to Design and Analysis of E-Service Composition. In Proceedings of the 12th

[9] [10]

[11]

[12]

[13]

[14]

[15]

[16]

[17]

[18]

[19] [20]

[21]

[22]

[23]

[24]

[25] [26] [27]

[28]

International World Wide Web Conference, ACM, 403-410, 2003. F. Casati and M.C. Shan. Dynamic and Adaptive Composition of e-Services. Information Systems 6, 3, 143-163, 2001 C. Courbis and A. Finkelstein. Towards Aspect Weaving Application. In Proceedings of the 25th International Conference on Software Engineering, 2005. N. Delgado, A.Q. Gates, and S. Roach. A Taxonomy and Catalog of Runtime Software-Fault Monitoring Tools. IEEE Transactions on software Engineering, pages 859-872, December, 2004. A. Deutsch, L. Sui, and V. Vianu. Specification and Verification of Data-driven Web Services. In Proceedings of the 23nd ACM SIGACT SIGMOD SIGART Symposium on Principles of Database Systems ACM, 71-82, 2004. R. Hull, M. Benedikt, V. Christophides, and J. Su. E-Services: A Look Behind the Curtain In Proceedings of the 22nd ACM SIGACT SIGMOD SIGART Symposium on Principles of Database Systems, ACM, 1-14, 2003. A. Lazcano, G. Alonso, H. Schuldt, and C. Schuler. The WISE approach to Electronic Commerce International Journal of Computer Systems Science & Engineering 15, 5, 2005. A. Lazovik, M. Aiello, and M. Papazoglou. Associating Assertions with Business Processes and Monitoring their Execution. In Proceedings of the 2nd International Conference on Service Oriented Computing, 2004. H. Ludwig, A. Dan and R. Kearney. Cremona: An Architecture and Library for Creation and Monitoring of WS-Agreements. In Proceedings of the 2nd International Conference on Service Oriented Computing, 2004. K. Mahbub and G. Spanoudakis. A Framework for Requirements Monitoring of Service Based Systems. In Proceedings of the 2nd International Conference on Service Oriented Computing, 2004. S. McIlraith and T. Son. Adapting Golog for Composition of Semantic Web Services. In Proceedings of the 8th International Conferences on Principles of Knowledge Representation and Reasoning, Morgan Kaufmann, pp. 482-493, 2002. S. McIlraith, T.C. Son, and H. Zeng. Semantic Web Services. IEEE Intelligent Systems 16, 2, 46-53, 2001, B. Medjahed, A. Bouguettaya, and A.K. Elmagarmid. Composing Web services on the Semantic Web. Very Large Data Base Journal 12, 4, 333-351, 2003, M. Michalowski, J.L. Ambite, S. Thakkar, R. Tuchinda, C.A. Knoblock, and S. Minton. Retrieving and semantically integrating heterogeneous data from the web. IEEE Intelligent Systems, 19, 3, 72-79,2004. P. Traverso, M. Pistore. Automated Composition of Semantic Web Services into Executable Processes. In Proceedings of the Third International Semantic Web Conference, 2004. W.J. van den Heuvel, J. Yang, and M.P. Papazoglou. Service Representation, Discovery and Composition for e-Marketplaces In Proceedings of the 9th International Conference on Cooperative Information Systems, LNCS, vol. 2172, Springer,270-284, 2001. S. Weerawarana, F. Curbera, F. Leymann, T. Storey, D.F. Ferguson. Web Services Platform Architecture : SOAP, WSDL, WS-Policy, WS-Addressing, WS-BPEL, WS-Reliable Messaging, and More. Prentice Hall, 2005 Web Services Agreement Specification (WS-Agreement). http://ws.apache.org/wsif/ Web Service Invocation Framework. Apache WSIF Project, 2005. http://ws.apache.org/wsif/. D. Wu, B. Parsia, E. Sirin, J.A. Hendler, D.S. Nau. Automating DAML-S Web Services Composition Using SHOP2. In Proceedings of the International Semantic Web Conference, 195-210, 2003. J. Yang and M.P. Papazoglou. Service Components for Managing the Life-cycle of Service Compositions. Information Systems 29, no. 2, 97-125, 2004.