AO4BPEL: An Aspect-oriented Extension to BPEL

Springer Science and Business Media LLC - Tập 10 - Trang 309-344 - 2007
Anis Charfi1, Mira Mezini1
1Software Technology Group, Darmstadt University of Technology, Darmstadt, Germany

Tóm tắt

Process-oriented composition languages such as BPEL allow Web Services to be composed into more sophisticated services using a workflow process. However, such languages exhibit some limitations with respect to modularity and flexibility. They do not provide means for a well-modularized specification of crosscutting concerns such as logging, persistence, auditing, and security. They also do not support the dynamic adaptation of composition at runtime. In this paper, we advocate an aspect-oriented approach to Web Service composition and present the design and implementation of AO4BPEL, an aspect-oriented extension to BPEL. We illustrate through examples how AO4BPEL makes the composition specification more modular and the composition itself more flexible and adaptable.

Tài liệu tham khảo

Alonso, G., Casati, F., Kuno H., et al.: Web Services: Concepts, Architecture, and Applications. Springer, Berlin Heidelberg New York (2004) Andrieux, A., Czajkowski, K., Dan, A., et al.: Web Services Agreement Specification (WS-Agreement) Version 1.1. September 2004. Available at http://www.gridforum.org/Meetings/GGF12/Documents/WS-AgreementSpecification.pdf Apache: Xalan-Java Version 2.6.0. Available at http://xml.apache.org/xalan-j/ Arkin, A.: Business Process Modeling Language (BPML) Version 1.0. June 2002. Available at http://www.bpmi.org/bpml.esp Arkin, A., Askary, S., Bloch, B., et al.: Web Services Business Process Execution Language Version 2.0, Working Draft. August 2005. Available at http://xml.coverpages.org/WSBPEL-SpecDraftV181.pdf Bachmendo, B., Unland, R.: Aspect-based workflow evolution. In: Proc. of the Tutorial and Workshop on Aspect-Oriented Programming and Separation of Concerns. Lancaster, UK, August 2001 Benatallah, B., Sheng, Q.Z., Dumas, M.: The self-serv environment for web services composition. IEEE Internet Computing 7(1), 40–48 2003 Bockisch, C., Haupt, M., Mezini, M., et al.: Virtual machine support for dynamic join points. In: Proc. of the 3rd International Conference on Aspect-oriented Software Development (AOSD), pp. 83–92, Lancaster, UK, March 2004. ACM Bodkin, R.: Application security aspects. In: Invited Talk at the Industry Track of the 4th International Conference on Aspect-Oriented Software Development (AOSD), Chicago, IL, USA, March 2005 Burke, B., Fleury, M., Brock, A., et al.: JBoss AOP Version 1.3.0”, 2005, Available at http://aop.jboss.org Bussler, C.: Adaptation in workflow management. In: Proc. of the 5th International Conference on Software Process (ICSP), Chicago, IL, USA, June 1998 Casati, C., Ilnick, S., Jin, L., et al.: Adaptive and dynamic service composition in eFlow. In: Proc. of the 12th International Conference on Advanced Information Systems Engineering (CAiSE), Stockholm, Sweden, June 2000, LNCS, vol. 1789, pp. 13–31. Springer, Berlin Heidelberg New York Charfi, A., Mezini, M.: Aspect-oriented web service composition with AO4BPEL. In: Proc. of the 2nd European Conference on Web Services (ECOWS), Erfurt, Germany, September 2004, LNCS, vol. 3250, pp. 168–182. Springer, Berlin Heidelberg New York Charfi, A., Mezini, M.: Hybrid web service composition: business processes meet business rules. In: Proc. of the 2nd International Conference on Service Oriented Computing (ICSOC), New York, NY, USA, November 2004, pp. 30–38. Charfi, A., Mezini, M.: Application of aspect-oriented programming to workflows. In: Proc. of 5èmes Journées Scientifiques des Jeunes Chercheurs en Génie Electrique et Informatique (GEI), Sousse, Tunisia, March 2005 Charfi, A., Mezini, M.: Middleware services for web service compositions. In: Special Interest Tracks and Posters of the 14th International Conference on World Wide Web (WWW), Chiba, Japan, May 2005, pp. 1132–1133. ACM Charfi, A., Mezini, M.: Using aspects for security engineering of web service compositions. In: Proc. of the 2nd IEEE International Conference on Web Services (ICWS), Orlando, FL, USA, July 2005, vol. I, pp. 59–66. IEEE Computer Society Press, Los Alamitos, CA Charfi, A., Schmeling, B., Mezini, M.: Reliable messaging for BPEL processes. In: Proc. of the 3rd IEEE International Conference on Web Services (ICWS), Chicago, IL, USA, September 2006 Clark, J., DeRose, S.: XML Path Language (XPath) Version 1.0”, W3C Recommendation, 16 November 1999 Coady, Y., Kiczales, G., Feeley, M., et al.: Using aspectC to improve the modularity of path-specific customization in operating system code. In: Proc. of the 8th European Software Engineering Conference (ESEC), Vienna, Austria, September 2001, pp. 88–98. ACM Colyer, A., Clement, A., Harley, G., et al.: Eclipse AspectJ: Aspect-Oriented Programming with AspectJ and the Eclipse AspectJ Development Tools. Addison-Wesley, Reading, MA (2005) Cottenier, T., Elrad, T.: Dynamic and decentralized service composition with aspect-sensitive services. In: Proc. of the 1st International Conference on Web Information Systems and Technologies (WEBIST), Miami, FL, USA, May 2005 Courbis, C., Finkelstein, A.: Towards aspect weaving applications. In: Proc. of the 27th International Conference on Software Engineering (ICSE), St. Louis, MO, USA, May 2005, pp. 69–77. Curbera, F., Goland, Y., Klein, J., et al.: Business Process Execution Language for Web Services (BPEL4WS) Version 1.1”, May 2003. Available at http://www-106.ibm.com/developerworks/library/ws-bpel/ Curbera, F., Khalaf, R., Nagy, W., et al.: Implementing BPEL4WS: the architecture of a BPEL4WS implementation. In: Proc. of the GGF 10 Workshop on Workflow in Grid Systems, Berlin, Germany, March 2004 Delisle, P., Luehe, J., Roth, M.: “Java Server Pages Specification, Version 2.1”, Sun (2005) DeMichiel, L.G.: Enterprise Java Beans Specification, Version 3.0”, Sun, Java Specification Request 220 (2004) D’Hondt, M., Jonckers, V.: Hybrid aspects for weaving object-oriented functionality and rule-based knowledge. In: Proc. of the 3rd International Conference on Aspect-Oriented Software Development (AOSD), Lancaster, UK, March 2004, pp. 132–140. Duclos, F., Estublier, J., Morat, P.: Describing and using non functional aspects in component based applications. In: Proc. of the 1st International Conference on Aspect-Oriented Software Development (AOSD), Enschede, The Netherlands, April 2002, pp. 65–75. ACM Eichberg, M., Mezini, M.: Alice: modularization of middleware using aspect-oriented programming. In: Proc. of the 4th International Workshop Software Engineering and Middleware (SEM), Linz, Austria, September 2004, LNCS, vol. 3437, pp. 47–63. Springer, Berlin Heidelberg New York Fabry, J., Cleenewerck, T.: Aspect-oriented domain specific languages for advanced transaction management. In: Proc. of the 7th International Conference on Enterprise Information Systems (ICEIS), Miami, FL, USA, May 2005, pp. 428–432. Ferris, C., Langworthy, D. (eds.): Web Services Reliable Messaging Protocol (WS-ReliableMessaging)”, February 2005. Available at http://www-128.ibm.com/developerworks/library/specification/ws-rm/ Filman, R., Friedman, D.: Aspect-oriented programming is quantification and obliviousness. In: Proc. of the OOPSLA Workshop on Advanced Separation of Concerns, Minneapolis, MN, USA, October 2000 Flechter, T., Furniss, P., Green, A.; et al.: BPEL and Business Transaction Management, Choreology submission to OASIS WS-BPEL Technical Committee”, 2003. Available at http://www.oasis-open.org/committees/download.php/3263/ Gamma, E., Helm, R., Johnson, R., et al.: Design Patterns. Addison-Wesley, Reading, MA (1995) Georgakopoulos, D., Hornick, M.F., Sheth, A.P.: An overview of workflow management: from process modeling to workflow automation infrastructure. Distributed and Parallel Databases 3(2), 119–153 (1995) Han, Y., Sheth, A., Bussler, C.: A taxonomy of adaptive workflow management. In: Proc. of the Workshop Towards Adaptive Workflow Systems, held in conjunction with the ACM Conference on Computer Supported Cooperative Work (CSCW), Seattle, WA, USA, November 1998 Herness, E.N., High, R.J., McGee, J.R.: WebSphere application server: a foundation for on demand computing. IBM Syst. J. 43(2), 213–237 (2004) Hirschfeld, R., Kawamura, K.: Dynamic service adaptation. In: Proc. of the 4th International Workshop on Distributed Auto-adaptive and Reconfigurable Systems (DARES), Tokyo, Japan, March 2004 Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewoods Cliffs, NJ (1985) IBM: The BPEL4WS Java Run Time Version 2.1”, August 2002. Available at http://www.alphaworks.ibm.com/tech/bpws4j Jain, P.: Oracle Application Server 10 g, Release 2 and 3 New Features Overview, August 2005. Available at http://www.oracle.com/technology/products/ias/pdf/1012_nf_paper.pdf Johnson, R.: Introduction to the Spring Framework, May 2005. Available at http://www.theserverside.com/articles/article.tss?l=SpringFramework Johnson, R. Hoeller, J.: J2EE Development without EJB. Wiley, New York (2004) Kaler, C., Nadalin, A. (eds.): Web Services Security Policy Language (WS-SecurityPolicy) Version 1.1, July 2005. Available at http://www-128.ibm.com/developerworks/library/ws-secpol/ Kammer, P.J., Bolcer, G.A., Taylor, R.N., et al.: Techniques for supporting dynamic and adaptive workflow. Comput. Support. Coop. Work (CSCW) 9(3–4), 269–292 (2000) Keller, A., Ludwig, H.: The WSLA framework: specifying and monitoring service level agreements for web services. J. Netw. Syst. Manag. 11(1), 57–81 (2003) Khalaf, R., Mukhi, N., Weerawarana, S.: Service-oriented composition in BPEL4WS. In: Proc. of the 12th International World Wide Web Conference (WWW), Alternate Paper Tracks, Budapest, Hungary, May 2003 Kiczales, G., Hilsdale, E., Hugunin, J., et al.: An overview of AspectJ. In: Proc. of the 15th European Conference on Object-Oriented Programming (ECOOP), Budapest, Hungary, June 2001, LNCS, vol. 2072, pp. 327–353. Springer, Berlin Heidelberg New York Kiczales, G., Lamping, J., Mendhekar, A., et al.: Aspect-oriented programming. In: Proc. of the 11th European Conference on Object-Oriented Programming (ECOOP), Jyväskylä, Finland, June 1997, LNCS, Vol. 1241, pp. 220–242. Springer, Berlin Heidelberg New York Kiczales, G., Mezini, M.: Aspect-oriented programming and modular reasoning. In: Proc. of the 27th International Conference on Software Engineering (ICSE), St. Louis, MO, USA, May 2005, pp. 49–58, ACM Kiczales, G., Mezini, M.: Separation of concerns with procedures, annotations, pointcut and advice. In: Proc. of the 19th European Conference on Object-Oriented Programming (ECOOP), Glasgow, UK, July 2005, LNCS, vol. 3586, pp. 195–213. Springer, Berlin Heidelberg New York Kiczales, G., Paepcke, A.: Open Implementations and Metaobject Protocols”, tutorial, 1996. Available at http://www2.parc.com/csl/groups/sda/publications/papers/Kiczales-TUT95/for-web.pdf Krishnamurthi, S., Fisler, K., Greenberg, M.: Verifying aspect advice modularity. In: Proc. of the 12th International Symposium on Foundations of Software Engineering (FSE), Newport Beach, CA, USA, October 2004, pp. 137–146. ACM Laddad, R.: AspectJ in Action. Manning (2003) Langworthy, D. (ed.): Web Services Atomic Transaction (WS-AtomicTransaction), November 2004. Available at ftp://www6.software.ibm.com/software/developer/library/WS-AtomicTransaction.pdf Masuhara, H., Kiczales, G.: A modeling framework for aspect-oriented mechanisms. In: Proc. of the 17th European Conference on Object-Oriented Programming (ECOOP), Darmstadt, Germany, July 2003, LNCS, Vol. 2734, pp. 2–28. Springer, Berlin Heidelberg New York. Microsoft: BizTalk Server 2004 Architecture White Paper, December 2004, Available at http://www.microsoft.com/biztalk/techinfo/whitepapers/2004/architecture.mspx Milner, R.: A Calculus of Communicating Systems. Springer, Berlin Heidelberg New York (1982) OASIS: Web Services Business Process Execution Language (WS-BPEL) Technical Committee. Available at http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsbpel OASIS: Web Services Reliability (WS-Reliability) Version 1.1, November 2004. Available at http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrm OASIS: Web Services Security (WS-Security) Version 1.0”, March 2004, Available at http://www.oasis-open.org/specs/index.php OASIS: WS-BPEL Issues List, September 2005. Available at http://www.oasis-open.org/committees/download.php/14416/wsbpel_issues_list.html Ortiz, G., Hernandez, J., Clemente, P.: How to deal with non-functional properties in web service development. In: Proc. of the 5th International Conference on Web Engineering (ICWE), Sydney, Australia, July 2005 Ostermann, K., Mezini, M., Bockisch, C.: Expressive pointcuts for increased modularity. In: Proc. of the 19th European Conference on Object-Oriented Programming (ECOOP), Glasgow, UK, July 2005, LNCS, Vol. 3586, pp. 214–240. Springer, Berlin Heidelberg New York Papazoglou, M.P.: Web services and business transactions. World Wide Web 6(1), 49–91 (2003) Pawlak, R., Seinturier, L., Duchien, L., et al.: JAC: a flexible solution for aspect-oriented programming in Java. In: Proc. of the 3rd International Conference on Metalevel Architectures and Separation of Crosscutting Concerns, Kyoto, Japan, September 2001, LNCS, vol. 2192, pp. 1–24. Springer, Berlin Heidelberg New York (2001) Peltz, C.: Web services orchestration and choreography. Comput. J. 36(10), 46–52 (2003) Pichler, R., Ostermann, K., Mezini, M.: On aspectualizing component models. Software Practice and Experience 33(10), 957–974 (2003) Rashid, A., Chitchyan, R.: Persistence as an aspect. In: Proc. of the 2nd International Conference on Aspect-Oriented Software Development (AOSD), Boston, MA, USA, March 2003, pp. 120–129. ACM, New York, NY, USA (2003) Saltzer, J.H., Reed, D.P., Clark, D.D.: End-to-end arguments in system design. ACM Trans. Comput. Syst. 2(4), 277–288 (1984) Sato, Y., Chiba, S., Tatsubori, M.: A selective, just-in-time aspect weaver. In: Proc. of the 2nd International Conference on Generative Programming and Component Engineering (GPCE), Erfurt, Germany, September 2003, LNCS, vol. 2830, pp. 189–208, Springer, Berlin Heidelberg New York. Schlimmer, J. (eds.): Web Services Policy Framework (WS-Policy), September 2004. Available at ftp://www6.software.ibm.com/software/developer/library/ws-policy.pdf Schmidt, R., Assmann, U.: Extending aspect-oriented-programming in order to flexibly support workflows. In: Proc. of the ICSE Aspect-Oriented Programming Workshop, Kyoto, Japan, April 1998 Sharp, C. (ed.): Web Services Policy Attachment (WS-PolicyAttachment), September 2004. Available at: ftp://www6.software.ibm.com/software/developer/library/ws-polat.pdf Suvée, D., Vanderperren, W., Jonckers, W.: JAsCo:an aspect-oriented approach tailored for component based software development. In: Proc. of the 2nd International Conference on Aspect-Oriented Software Development (AOSD), Boston, MA, USA, March 2003, pp. 21–29, ACM Tai, S., Khalaf, R., Mikalsen, T.: Composition of coordinated web services. In: Proc. of ACM/IFIP/USENIX International Middleware Conference (Middleware), Toronto, Canada, October 2004, LNCS, vol. 3231, pp. 294–310. Springer, Berlin Heidelberg New York Tarr, P., Ossher, H., Harrison, W., et al.: N degrees of separation: multi-dimensional separation of concerns. In: Proc. of the 21st International Conference on Software Engineering (ICSE), Los Angelos, CA, USA, May 1999, pp. 107–119. ACM Tosic, V., Ma, W., Pagurek, B., et al.: Web Service Offerings Infrastructure (WSOI)—a management infrastructure for XML Web Services. In: Proc. of the IEEE/IFIP Network Operations and Management Symposium (NOMS), Seoul, South Korea, April 2004, vol. 1, pp. 817–830. van der Aalst, W.M.P., Barros, A.P., ter Hofstede, A.H.M., et al.: Advanced workflow patterns. In: Proc. of the 7th International Conference on Cooperative Information Systems (CoopIS), Eilat, Israel, September 2000, LNCS, vol. 1901, pp. 18–29. Springer, Berlin Heidelberg New York Verheecke, B., Cibran, M.A., Suvée, D. et al.: AOP for dynamic configuration and management of web services in client applications. International Journal on Web Services Research (JWSR) 1(3), 25–41 (2004) von Halle, B.: Business Rules Applied: Building Better Systems Using the Business Rules Approach. Wiley, New York (2001) W3C: Simple Object Access Protocol (SOAP) Version 1.1”, May 2000. Available at http://www.w3.org/TR/2000/NOTE-SOAP-20000508/ W3C: Web Services Choreography Description Language (WS-CDL) Version 1.0”, October 2004. Available at http://www.w3.org/TR/ws-cdl-10/ Win, B.D.: Engineering application-level security through aspect-oriented software development. Ph.D. dissertation, Department of Computer Science, K.U. Leuven, Belgium, (2004) Wohed, P., van der Aalst, W.M.P., Dumas M., et al.: Analysis of web services composition languages: the case of BPEL4WS. In: Proc. of the 22nd International Conference on Conceptual Modeling (ER), Chicago, IL, USA, October 2003, LNCS, vol. 2813, pp. 200–215. Springer, Berlin Heidelberg New York Zhang, C., Jacobsen, H.A.: Resolving feature convolution in middleware systems. In: Proc. of the 19th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), pp. 188–205, Vancouver, Canada, October 2004. ACM