The VLDB Journal

, Volume 18, Issue 1, pp 1–56 | Cite as

FENECIA: failure endurable nested-transaction based execution of composite Web services with incorporated state analysis

  • Neila Ben Lakhal
  • Takashi Kobayashi
  • Haruo Yokota
Regular Paper

Abstract

Interest in the Web services (WS) composition (WSC) paradigm is increasing tremendously. A real shift in distributed computing history is expected to occur when the dream of implementing Service-Oriented Architecture (SOA) is realized. However, there is a long way to go to achieve such an ambitious goal. In this paper, we support the idea that, when challenging the WSC issue, the earlier that the inevitability of failures is recognized and proper failure-handling mechanisms are defined, from the very early stage of the composite WS (CWS) specification, the greater are the chances of achieving a significant gain in dependability. To formalize this vision, we present the FENECIA (Failure Endurable Nested-transaction based Execution of Composite Web services with Incorporated state Analysis) framework. Our framework approaches the WSC issue from different points of view to guarantee a high level of dependability. In particular, it aims at being simultaneously a failure-handling-devoted CWS specification, execution, and quality of service (QoS) assessment approach. In the first section of our framework, we focus on answering the need for a specification model tailored for the WS architecture. To this end, we introduce WS-SAGAS, a new transaction model. WS-SAGAS introduces key concepts that are not part of the WS architecture pillars, namely, arbitrary nesting, state, vitality degree, and compensation, to specify failure-endurable CWS as a hierarchy of recursively nested transactions. In addition, to define the CWS execution semantics, without suffering from the hindrance of an XML-based notation, we describe a textual notation that describes a WSC in terms of definition rules, composability rules, and ordering rules, and we introduce graphical and formal notations. These rules provide the solid foundation needed to formulate the execution semantics of a CWS in terms of execution correctness verification dependencies. To ensure dependable execution of the CWS, we present in the second section of FENECIA our architecture THROWS, in which the execution control of the resulting CWS is distributed among engines, discovered dynamically, that communicate in a peer-to-peer fashion. A dependable execution is guaranteed in THROWS by keeping track of the execution progress of a CWS and by enforcing forward and backward recovery. We concentrate in the third section of our approach on showing how the failure consideration is trivial in acquiring more accurate CWS QoS estimations. We propose a model that assesses several QoS properties of CWS, which are specified as WS-SAGAS transactions and executed in THROWS. We validate our proposal and show its feasibility and broad applicability by describing an implemented prototype and a case study.

Keywords

Web services Composition Dependability Failure Distributed execution Transaction model QoS 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    W3C. Web services description language (wsdl) (2005). http://www.w3.org/TR/wsdl
  2. 2.
    W3C. Simple object access protocol (soap) (2005). http://www.w3.org/TR/soap
  3. 3.
    W3C. Universal description, discovery, and integration (uddi) (2005). http://www.uddi.org
  4. 4.
    IBM, BEA Systems, Microsoft, SAP AG, and Siebel Systems. Bpel4ws business process execution language for web services, (2005)Google Scholar
  5. 5.
    IBM. The emerging technologies toolkit (ettk), (2005)Google Scholar
  6. 6.
    Microsoft. Microsoft web services strategy.net (2005). http://www.microsoft.com/net/
  7. 7.
    Casati, F., Ilnicki, S., Jin, L.-J., Krishnamoorthy, V., Shan, M.-C.: eflow: A platform for developing and managing composite e-services. In: AIWORC ’00: Proceedings of the Academia/Industry Working Conference on Research Challenges, p. 341. IEEE Computer Society (2000)Google Scholar
  8. 8.
    Casati F., Ilnicki S., Jin L.-J., Krishnamoorthy V. and Shan M.-C. (2000). Adaptive and dynamic service composition in eflow. In: Wangler, B. and Bergman, L. (eds) CAiSE ’00: The 12th international Conference on Advanced information Systems Engineering of LNCS, London, 5–9 June 2000 vol. 1789, pp 13–31. Springer, Heidelberg Google Scholar
  9. 9.
    Sheng, Q.Z., Benatallah, B., Dumas, M., Oi-Yan Mak, E.: Self-serv: A platform for rapid composition of web services in a peer-to-peer environment. In: VLDB, pp 1051–1054 (2002)Google Scholar
  10. 10.
    Benatallah B., Sheng Q.Z. and Dumas M. (2003). The self-serv environment for web services composition. IEEE Internet Comput. 7(1): 40–48 CrossRefGoogle Scholar
  11. 11.
    Wu, D., Parsia, B., Sirin, E., Hendler, J.A., Nau, D.S.: Automating daml-s web services composition using shop2. In: The Semantic Web—ISWC 2003, Second International Semantic Web Conference, Sanibel Island, FL, USA. Lecture Notes in Computer Science, vol. 2870, pp 195–210. Springer, Heidelberg (2003)Google Scholar
  12. 12.
    Milanovic N. and Malek M. (2004). Current solutions for web service composition. IEEE Internet Comput. 8(6): 51–59 CrossRefGoogle Scholar
  13. 13.
    Davies N.J., Fensel D. and Richardson M. (2004). The future of web services. BT Technolo. J. 22: 118–130 CrossRefGoogle Scholar
  14. 14.
    Elmagarmid A.K. (1992). Database Transaction Models for Advanced Applications. Morgan Kaufmann, San Mateo Google Scholar
  15. 15.
    Ben Lakhal N., Kobayashi T. and Yokota H. (2003). WS-SAGAS: a transaction model for reliable web services composition specification and execution. DBSJ Lett 2(2): 7–20 Google Scholar
  16. 16.
    Ben Lakhal, N., Kobayashi, T., Yokota, H.: Distributed architecture for reliable execution of web services. Technical Report DBWS2003 2B, IEICE (2003)Google Scholar
  17. 17.
    Ben Lakhal, N., Kobayashi, T., Yokota, H.: Reliability and performance estimation for enriched ws-sagas. In: WIRI ’05: Proceedings of the International Workshop on Challenges in Web Information Retrieval and Integration, In conjunction with ICDE2005, Tokyo, Japan, April 2005, pp 54–63. IEEE Computer Society (2005)Google Scholar
  18. 18.
    Ben Lakhal, N., Kobayashi, T., Yokota, H.: Dependability and flexibility centered approach for composite web services modeling. In: 14th International Conference on Cooperative Information Systems (CoopIS2006), LNCS, Montpellier, France, November 2006, vol. 4275 (OTM2006), pp 163–182 (2006)Google Scholar
  19. 19.
    Ben Lakhal, N., Kobayashi, T., Yokota, H.: THROWS: An architecture for highly available distributed execution of web services compositions. In: IEEE 14th International Workshop on Research Issues on Data Engineering: Web Services for E-Commerce and E-Government Applications (RIDE’04), Boston, USA, March 2004, pp 103–110. IEEE Computer Society (2004)Google Scholar
  20. 20.
    Ben Lakhal N., Kobayashi T. and Yokota H. (2004). A simulation system of throws architecture with ws-sagas transaction model. DBSJ Lett. 3(1): 89–92 Google Scholar
  21. 21.
    Ben Lakhal, N., Kobayashi, T., Yokota, H.: A failure-aware model for estimating and analyzing the efficiency of web services compositions. In: PRDC ’05: Proceedings of the 11th Pacific Rim International Symposium on Dependable Computing (PRDC’05), Washington, DC, USA, pp 114–124. IEEE Computer Society (2005)Google Scholar
  22. 22.
    Ben Lakhal, N.: A framework for modeling, executing, and analyzing dependable transactional Web services compositions. Ph.D. thesis, Tokyo Institute of Technology, Tokyo, Japan (2007)Google Scholar
  23. 23.
    Gorbenko, A., Kharchenko, V., Popov, P., Romanovsky, A., Boyarchuk, A.: Development of dependable web services out of undependable web components. Technical Report 863, University of Newcastle upon Tyne, School of Computing Science, October 2004Google Scholar
  24. 24.
    Laprie, J.-C., Randell, B.: Basic concepts and taxonomy of dependable and secure computing. IEEE Trans. Depend. Secur. Comput. 1(1):11–33, 2004. Fellow-Algirdas Avizienis and Senior Member-Carl LandwehrGoogle Scholar
  25. 25.
    Cabrera, F., et al.: Specification: Web services transaction (ws-transaction) (2002). http://www-106.ibm.com/developerworks/webservices/library/ws-transpec/
  26. 26.
    Oracle Fujitsu, IONA, Arjuna Technologies Sun: Web services composite application framework(ws-caf) (2003). http://www.arjuna.com/standards/ws-caf/
  27. 27.
    Garcia-Molina, H., Salem, K.: Sagas. In: SIGMOD Conference, pp 249–259 (1987)Google Scholar
  28. 28.
    van der Aalst W.M.P., ter Hofstede A.H.M., Kiepuszewski B. and Barros A.P. (2003). Workflow patterns. Distributed and Parallel Databases 14(1): 5–51 CrossRefGoogle Scholar
  29. 29.
    Sheth, A., Kochut, K., Miller, J.: Meteor project page at large scale distributed information systems (lsdis)laboratory. http://lsdis.cs.uga.edu/proj/meteor/meteor.html
  30. 30.
    Eswaran K.P., Gray J., Lorie R.A. and Traiger I.L. (1976). The notions of consistency and predicate locks in a database system. Commun. ACM. 19(11): 624–633 MATHCrossRefMathSciNetGoogle Scholar
  31. 31.
    Du, W., Elmagarmid, A.: Quasi serializability: a correctness criterion for global concurrency control in interbase. In: VLDB ’89: Proceedings of the 15th international conference on Very large data bases, pp 347–355, San Francisco, CA, USA, 1989. Morgan KaufmannGoogle Scholar
  32. 32.
    Ramamritham K. and Chrysanthis P.K. (1996). A taxonomy of correctness criteria in database applications. VLDB J. 5(1): 085–097 CrossRefGoogle Scholar
  33. 33.
    Elmagarmid, A.K., Leu, Y., Litwin, W., Rusinkiewicz, M.: A multidatabase transaction model for interbase. In: Proceedings of the 16th International Conference on Very Large Data Bases, pp 507–518, San Francisco, CA, USA, August 13–16 1990. Morgan Kaufmann Publishers Inc.Google Scholar
  34. 34.
    Bhiri, S., Perrin, O., Godart, C.: Ensuring required failure atomicity of composite web services. In: WWW ’05: Proceedings of the 14th international conference on World Wide Web, New York, NY, USA, pp 138–147, 2005. ACM PressGoogle Scholar
  35. 35.
    Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann (1993)Google Scholar
  36. 36.
    Moss J.E.B. (1985). Nested transactions: an approach to reliable distributed computing. Cambridge, Massachusetts Google Scholar
  37. 37.
    Garcia-Molina H., Gawlick D., Klein J., Kleissner K. and Salem K. (1991). Modeling long-running activities as nested sagas. Data Engineering Bulletin 14(1): 14–18 Google Scholar
  38. 38.
    Ansari, M., Ness, L., Rusinkiewicz, M., Sheth, A.P.: Using flexible transactions to support multi-system telecommunication applications. In: VLDB ’92: Proceedings of the 18th International Conference on Very Large Data Bases, San Francisco, CA, USA, pp 65–76, 1992. Morgan Kaufmann Publishers IncGoogle Scholar
  39. 39.
    Pires, P.F., Benevides, M.R.F., Mattoso, M.: Mediating heterogeneous web services. In: 2003 Symposium on Applications and the Internet (SAINT 2003), pp 344–347, 27–31 January 2003 - Orlando, FL, USAGoogle Scholar
  40. 40.
    Pires, P.F., Benevides, M.R.F., Mattoso, M.: Web, Web-Services, and Database Systems, Lecture Notes in Computer Science, chapter Building Reliable Web Services Compositions, vol. 2593, pp 59–72. Springer, Heidelberg (2003)Google Scholar
  41. 41.
    Benatallah B., Dumas M. and Sheng Q.Z. (2005). Facilitating the rapid development and scalable orchestration of composite web services. Distributed and Parallel Databases 17(1): 5–37 CrossRefGoogle Scholar
  42. 42.
    Salan, G., Bordeaux, L., Schaerf, M.: Describing and reasoning on web services using process algebra. In: ICWS ’04: Proceedings of the IEEE International Conference on Web Services (ICWS’04), Washington, DC, USA, p 43, 2004. IEEE Computer SocietyGoogle Scholar
  43. 43.
    Aalst W.M.P.V.D. (2003). Don’t go with the flow: Web services composition standards exposed. IEEE Intelligent Systems 18(1): 72–76 CrossRefGoogle Scholar
  44. 44.
    Bergstra, J.A., Ponse, A., Smolka, S.A.: Handbook of Process Algebra. Elsevier (2001)Google Scholar
  45. 45.
    Milner, R.: Communication and concurrency. Prentice-Hall, Inc., Upper Saddle River, NJ, USA (1989)Google Scholar
  46. 46.
    Hoare C.A.R. (1985). Communicating Sequential Processes. Prentice Hall, NJ MATHGoogle Scholar
  47. 47.
    Butler, M.J., Hoare, C.A.R., Ferreira, C.: A trace semantics for long-running transactions. In: 25 Years Communicating Sequential Processes, pp. 133–150 (2004)Google Scholar
  48. 48.
    OASIS Committee. Business transaction protocol version 1.0, (2004)Google Scholar
  49. 49.
    Cabrera, F., et al.: Web services coordination (2002). http://www.ibm.com/developerworks/library/ws-coor/
  50. 50.
    van Halteren, A.T.: Towards an adaptable QoS aware middleware for distributed objects. Ph.D.thesis, University of Twente, Enschede, the Netherlands, The Netherlands (2002)Google Scholar
  51. 51.
    ITU/ISO. Open distributed processing reference model, part 2: Foundations, international standard. 10746-2 ITU-T Recommendation X.902 (1995)Google Scholar
  52. 52.
    Schuler, C., Weber, R., Schuldt, H., Schek, H.J.: Peer-to-peer process execution with osiris. In Springer, editor, International Conference on Service-Oriented Computing, LNCS, Italy, December 2003, vol. 2910, pp 483–498 (2003)Google Scholar
  53. 53.
    Greiner, U., Rahm, E.: Quality-oriented handling of exceptions in web-service-based cooperative processes. In: Proceedings of the GI-/GMDS Workshop on Enterprise Application Integration (EAI-04), Oldenburg, Germany, February 12–13, 2004, CEUR Workshop Proceedings, vol. 93. CEUR-WS.org (2004)Google Scholar
  54. 54.
    Keidl, M., Seltzsam, S., Kemper, A.: Reliable web service execution and deployment in dynamic environments. In: Technologies for E-Services the fourth International Workshop (TES 2003) Lecture Notes in Computer Science. Springer, September 2003, vol. 2819, pp 104–118 (2003)Google Scholar
  55. 55.
    Burstein, M.H., Hobbs, J.R., Lassila, O., Martin, D.L., McDermott, D.V., McIlraith, S.A., Narayanan, S., Paolucci, M., Payne, T.R., Sycara, K.P.: Daml-s: Web service description for the semantic web. In: First International Semantic Web Conference, (ISWC 02), Lecture Notes in Computer Science, vol. 2342, pp 348–363. Springer (2002)Google Scholar
  56. 56.
    Meyer B. (1992). Applying design by contract. IEEE Computer (Special Issue on Inheritance and Classification) 25(10): 40–52 Google Scholar
  57. 57.
    Chadrasekaran, S., Miller, J.A., Silver, G., Arpinar, I.B., Sheth, A.: Composition, performance analysis and simulation of web services. Electronic Markets: The International Journal of Electronic Commerce Business Media (2003)Google Scholar
  58. 58.
    Zeng, L., Benatallah, B., Dumas, M., Kalagnanam, J., Sheng, Q.Z.: Quality driven web services composition. In: WWW ’03: Proceedings of the 12th international conference on World Wide Web, New York, NY, USA, 2003, pp 411–421. ACM Press (2003)Google Scholar
  59. 59.
    Cardoso, J., Sheth, A., Miller, J., Arnold, J., Kochut, K.: Quality of service for workflows and web service processes. J. Web Semantics (2004)Google Scholar
  60. 60.
    Cardoso, J., Sheth, A.: Semantic e-workflow composition. J. Intell. Inform. Syst. (2003)Google Scholar
  61. 61.
    Pautasso, C., Heinis, T., Alonso, G.: Autonomic execution of web service compositions. In: ICWS ’05: Proceedings of the IEEE International Conference on Web Services (ICWS’05), pp 435–442. IEEE Computer Society (2005)Google Scholar
  62. 62.
    Pautasso, C.: A Flexible System for Visual Service Composition. Ph.D thesis, ETH, July 2004Google Scholar
  63. 63.
    SUN. Java web services developer pack v1.2 (jwsdp) (2003). http://java.sun.com/webservices/
  64. 64.
    xmethods (2004) http://www.xmethods.net
  65. 65.
    Sun, H., Wang, X., Zhou, B., Zou, P.: Research and Implementation of Dynamic Web Services Composition, vol. 2834, pp 457–466. Springer LNCS (2003)Google Scholar
  66. 66.
    Soydan Bilgin, A., Singh, M.P.: A daml-based repository for qos-aware semantic web service selection. In: ICWS, pp 368–375 (2004)Google Scholar
  67. 67.
    Zeng L., Benatallah B., Ngu A., Dumas M., Kalagnanam J. and Chang H. (2004). Qos-aware middleware for web services composition. IEEE Trans. Softw. Eng. 30(5): 311–327 CrossRefGoogle Scholar
  68. 68.
    Gronmo, M.C., Jaeger, R.: Model-Driven Methodology for Building QoS-Optimised Web Service Compositions, LNCS, vol. 3543, pp 68–82. Springer, Heidelberg (2005)Google Scholar
  69. 69.
    Sheth, A.P., Cardoso, J., Miller, J.A., Kochut, K.J., Kang, M.: Service-oriented middleware. In: Proceedings of The sixth World Multiconference on Systemics Cybernetics and Informatics (Invited Session on Web Services and Grid Computing), Orlando, FL, vol. 8 (2002)Google Scholar
  70. 70.
    Cardoso, J.: Quality of Service and Semantic Composition of Workflows. Ph.D. dissertation, Department of Computer Science, University of Georgia, Athens, GA (2002)Google Scholar
  71. 71.
    Nelson, E.C.: A statistical basis for software reliability assessment. Technical Report, TRW Systems Report, March 1973Google Scholar
  72. 72.
    Gioldasis, N., Christodoulakis, S.: Utml: Unified transaction modeling language. In: Third International Conference on Web Information Systems Engineering (WISE02) p. 115 (2002)Google Scholar
  73. 73.
    van der Aalst, W.M.P., Dumas, M., ter Hofstede, A.H.M.: Web service composition languages: Old wine in new bottles? euromicro Conference, September 2003, pp 298– 305 (2003)Google Scholar
  74. 74.
    Cheung R.C. (1980). A user-oriented software reliability model. IEEE Trans. Softw. Eng. 6(2): 118 CrossRefMathSciNetGoogle Scholar
  75. 75.
    Qureshi M.A. and Sanders W.H. (1994). Reward model solution methods with impulse and rate rewards:an algorithm and numerical results. Performance Evaluation 20(4): 413–436 MATHCrossRefGoogle Scholar
  76. 76.
    Kobayashi H. (1978). Modeling and Analysis: An Introduction to System Performance Evaluation Methodology. Addison-Wesley, Reading MATHGoogle Scholar
  77. 77.
    Laprie, J.-C.: Dependable computing and faut tolerance: concepts and terminology. In: Proceedings of the 15th International Symposium on Fault-tolerant Computing (FTCS-15), pp 2–11 (1985)Google Scholar

Copyright information

© Springer-Verlag 2007

Authors and Affiliations

  • Neila Ben Lakhal
    • 1
  • Takashi Kobayashi
    • 2
  • Haruo Yokota
    • 3
  1. 1.Department of Computer ScienceTokyo Institute of TechnologyTokyoJapan
  2. 2.Global Scientific Information and Computing Center, Tokyo Institute of TechnologyTokyoJapan
  3. 3.Department of Computer ScienceGlobal Scientific Information and Computing Center, Tokyo Institute of TechnologyTokyoJapan

Personalised recommendations