• Ingen resultater fundet

The solution presented in this paper is the model-driven approach to deal with failures encountered during an execution of CWS. Our proposition focuses on omission failures and uses the colored Petri Nets modeling

Figure 10: Communication between components in the Vacation planner CWS.

Figure 11: The deployment of the Vacation planner components.

language to infer about alternative paths to execute CWS. The main advantage of our solution is that we avoid interactions with components that are not working. This goal is achieved without reducing the autonomy of used components, which is very important in CWS and makes our proposition different from the others.

The main drawback of this concept is that alternatives must be prepared before execution can start, and the number of them may become high. Forn used WS we can have as many as 2n versions, because we may need a version for working and not working case of every WS. Because each version must be translated into BPEL and deployed on server, complex CWS may require substantial computation power and memory. To overcome this disadvantage we propose to use the Petri Nets model as an execution basis and perform the reachability analysis during execution. This was (partially) done by implementing an engine to execute CWS, based on the colored Petri Nets models. The implementation is a plugin to the BRITNeY tool [8], which allows us to add to the nets the code that invokes external WS (they are deployed on Axis 1.4 server) and which uses a simulation as the basis for executing CWS. Within this engine we can perform dynamically the reachability analysis using OE-graphs, which are built for every loaded CPN model of CWS. In this way we can avoid storing many versions of CWS and decide whether external WS should be invoked at the time of executing CWS.

The other problem of our proposition is the very limited number of solutions to overcome failures of used WS. e use only one way to do it: not to invoke the faulty WS. The result is that in case when the faulty web service is compulsory to execute successfully CWS (like FindFlight in the example) we are unable to overcome it. To make it possible, at the level of CWS, we can only try to find other web service that can perform requested operation. This can be done by maintaining a register of equivalent web services or if we use a dynamic discovery of the same WS. Another approach may be to use the semantic web services [16], thus find services that are semantically compatible.

The solution for overcoming failures of external web services presented above is based on the knowledge that the composite web services have during their definition and execution. It was shown that this solution is feasible to implement in the current standards (BPEL [26] and [34]), however we are still investigating possibilities of improving it.

References

[1] ActiveEndpoints. ActiveBPEL open source BPEL engine. http:// www.endpoints.com/ active-bpel-engine-overview.htm.

[2] Tom Anderson.Fault tolerance, principles and practice. Prentice Hall International, Englewood Cliffs, N.J., 1981.

[3] L. Ardissono, L. Console, A. Goy, G. Petrone, C. Picardi, M. Segnan, and D. T. Dupre. Advanced fault analysis in web service composition. In WWW ’05: Special interest tracks and posters of the 14th international conference on World Wide Web, pages 1090–1091, New York, NY, USA, 2005.

ACM Press.

[4] L. Ardissono, R. Furnari, A. Goy, G. Petrone, and M. Segnan. Fault tolerant web service orchestration by means of diagnosis. In Software Architecture. Third European Workshop, EWSA, volume 4344 of Lecture Notes in Computer Science, pages 2–16, Nantes, France, 2006. Springer-Verlag.

[5] Apache Project Axis v1.4. http://ws.apache.org/axis/.

[6] B. Benatallah, F. Casati, and F. Toumani. Analysis and management of web service protocols. In Conceptual Modeling - ER 2004. 23rd International Conference on Conceptual Modeling. Proceedings, 8-12 Nov. 2004, pages 524–41, Shanghai, China, 2004. Springer-Verlag.

[7] K. P. Birman. Reliable Distributed Systems. Springer-Verlag, New York, 2005.

[8] Basic Real-time Interactive Tool for Net-based animation BRITNeY Suite. http://

wiki.daimi.au.dk/britney britney.wiki.

[9] G. Chafle, S. Chandra, P. Kankar, and V. Mann. Handling faults in decentralized orchestration of composite web services. In Service-Oriented Computing - ICSOC 2005. Third International Confer-ence. Proceedings, 12-15 Dec. 2005, volume 3826 ofLecture Notes in Computer Science, pages 410–23, Amsterdam, Netherlands, 2005. Springer-Verlag.

[10] G. Chafle, S. Chandra, V. Mann, and M. Nanda. Decentralized orchestration of composite web services.

In WWW Alt. ’04: Proceedings of the 13th international World Wide Web conference on Alternate track papers & posters, pages 134–143, New York, NY, USA, 2004. ACM Press.

[11] CPN Tools. CPN Group University of Aarhus. Denmark. http://wiki.daimi.au.dk/ cpn-tools/cpntools.wiki.

[12] F. Cristian. Understanding fault-tolerant distributed systems.Communications of the ACM, 34(2):56–

78, 02 1991.

[13] L. Deron, F. Chen-Liang, C. Chyouhwa, and L. Fengyi. Fault tolerant web service. In Tenth Asia-Pacific Software Engineering Conference, 2003.

[14] V. Dialani, S. Miles, L. Moreau, D. De Roure, and M. Luck. Transparent fault tolerance for web services based architectures. In Euro-Par 2002 Parallel Processing. 8th International Euro-Par Conference.

Proceedings, 27-30 Aug. 2002, volume 2400 of Lecture Notes in Computer Science, pages 889–98, Paderborn, Germany, 2002. Springer-Verlag.

[15] G. Dobson. Using ws-bpel to implement software fault tolerance for web services. In Proceedings.

32nd Euromicro Conference on Software Engineering and Advanced Applications (SEAA), 29 Aug.-1 Sept. 2006, page 8. IEEE Comput. Soc, 2006.

[16] D. Fensel, H. Lausen, A. Polleres, J. de Bruijn, M. Stollberg, D. Roman, and J. Domingue. Enabling Semantic Web Services. The Web Service Modeling Ontology. Berlin, Springer-Verlag, 2007.

[17] A. Ferrara. Web services: a process algebra approach. In ICSOC ’04: Proceedings of the 2nd inter-national conference on Service oriented computing, pages 242–251, New York, NY, USA, 2004. ACM Press.

[18] X. Fu, T. Bultan, and J. Su. Analysis of interacting bpel web services. In WWW ’04: Proceedings of the 13th international conference on World Wide Web, pages 621–630, New York, NY, USA, 2004.

ACM Press.

[19] R. Guerraoui and R. Rodrigues. Introduction to Reliable Distributed Programming. Springer-Verlag, 2006.

[20] R. Hamadi and B. Benatallah. A petri net-based model for web service composition. In ADC ’03:

Proceedings of the fourteenth Australasian database conference, pages 191–200, Darlinghurst, Australia, Australia, 2003. Australian Computer Society, Inc.

[21] Definition of WS. IBM. http:// www-128.ibm.com/ developerworks/ webservices/ newto/ web-svc.html.

[22] V. Issarny, F. Tartanoglu, A. Romanovsky, and N. Levy. Coordinated forward error recovery for composite web services. InProceedings 22nd International Symposium on Reliable Distributed Systems, 6-18 Oct. 2003, pages 167–76, Florence, Italy, 2003. IEEE Comput. Soc.

[23] K. Jensen. Coloured Petri nets :basic concepts, analysis methods, and practical use, v.1, volume 1.

Springer-Verlag, Berlin, c1992.

[24] K. Jensen. Coloured Petri nets :basic concepts, analysis methods, and practical use, v.2, volume 2.

Springer-Verlag, Berlin, c1992.

[25] L. Liu, Y. Meng, B. Zhou, and Q. Wu. A fault-tolerant web services architecture. InAdvanced Web and Network Technologies, and Applications. APWeb 2006 International Workshops: XRA, IWSN, MEGA, and ICSE. Proceedings, 16-18 Jan. 2006, volume 3842, pages 664–71, Harbin, China, 2006.

Springer-Verlag.

[26] Business process execution language BPEL v.1.1. Microsoft BEA IBM. http://www-128.ibm.com/

developerworks/ library/ specification/ws-bpel/.

[27] John D. Musa. Software reliability :measurement, prediction, application. McGraw-Hill, New York, 1990.

[28] Universal Description Discovery & Integration (UDDI) OASIS. http://www.uddi.org/.

[29] C. Peltz. Web services orchestration and choreography. Computer, 36(10):46–52, 10/ 2003.

[30] B. Randell. Fault tolerance in decentralized systems. In Autonomous Decentralized Systems, 1999.

Integration of Heterogeneous Systems. Proceedings. The Fourth International Symposium on, pages 174–179, 21-23 March 1999.

[31] W.M.P. Van Der Aalst, A.H.M. Ter Hofstede, B. Kiepuszewski, and A.P. Barros. Workflow patterns.

Distributed and Parallel Databases, 14(1):5 – 51, 2003/07.

[32] W.M.P. Van Der Aalst and K. M. Van Hee. Workflow management: models, methods, and systems.

MIT Press, Cambridge, Mass., 2004.

[33] Simple object access protocol (SOAP) 1.2 W3C. http://www.w3.org/TR/soap12-part1/.

[34] Web Services Description Language (WSDL) v. 1.1 W3C. http://www.w3.org/TR/wsdl.

[35] XML Schema W3C Recommendation W3C. http://www.w3.org/XML/Schema.

[36] S. Weerawarana. Web Services Platform Architecture SOAP, WSDL, WS-Policy, WS-Addressing, WS-BPEL, WS-Reliable Messaging, and More. Upper Saddle River, NJ: Prentice Hall PTR,, 2005.

[37] Y. Yang, Q. Tan, and Y. Xiao. Verifying web services composition based on hierarchical colored petri nets. InIHIS ’05: Proceedings of the first international workshop on Interoperability of heterogeneous information systems, pages 47–54, New York, NY, USA, 2005. ACM Press.

[38] L. Zhang. Challenges and opportunities for web services research. International Journal of Web Services Research, 1(1):vii–xiii, 2004/01 2004.

newYAWL: Specifying a Workow Reference