Skip to main content
Log in

AO4BPEL: An Aspect-oriented Extension to BPEL

  • Published:
World Wide Web Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Alonso, G., Casati, F., Kuno H., et al.: Web Services: Concepts, Architecture, and Applications. Springer, Berlin Heidelberg New York (2004)

    Google Scholar 

  2. 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

  3. Apache: Xalan-Java Version 2.6.0. Available at http://xml.apache.org/xalan-j/

  4. Arkin, A.: Business Process Modeling Language (BPML) Version 1.0. June 2002. Available at http://www.bpmi.org/bpml.esp

  5. 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

  6. 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

    Google Scholar 

  7. Benatallah, B., Sheng, Q.Z., Dumas, M.: The self-serv environment for web services composition. IEEE Internet Computing 7(1), 40–48 2003

    Article  Google Scholar 

  8. 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

    Chapter  Google Scholar 

  9. 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

  10. Burke, B., Fleury, M., Brock, A., et al.: JBoss AOP Version 1.3.0”, 2005, Available at http://aop.jboss.org

  11. Bussler, C.: Adaptation in workflow management. In: Proc. of the 5th International Conference on Software Process (ICSP), Chicago, IL, USA, June 1998

  12. 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

  13. 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

  14. 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.

  15. 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

  16. 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

  17. 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

  18. 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

  19. Clark, J., DeRose, S.: XML Path Language (XPath) Version 1.0”, W3C Recommendation, 16 November 1999

  20. 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

  21. 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)

    Google Scholar 

  22. 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

  23. 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.

  24. 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/

  25. 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

  26. Delisle, P., Luehe, J., Roth, M.: “Java Server Pages Specification, Version 2.1”, Sun (2005)

  27. DeMichiel, L.G.: Enterprise Java Beans Specification, Version 3.0”, Sun, Java Specification Request 220 (2004)

  28. 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.

    Chapter  Google Scholar 

  29. 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

  30. 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

  31. 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.

  32. 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/

  33. 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

  34. 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/

  35. Gamma, E., Helm, R., Johnson, R., et al.: Design Patterns. Addison-Wesley, Reading, MA (1995)

    Google Scholar 

  36. 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)

    Article  Google Scholar 

  37. 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

  38. 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)

    Article  Google Scholar 

  39. 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

  40. Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewoods Cliffs, NJ (1985)

    MATH  Google Scholar 

  41. IBM: The BPEL4WS Java Run Time Version 2.1”, August 2002. Available at http://www.alphaworks.ibm.com/tech/bpws4j

  42. 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

  43. Johnson, R.: Introduction to the Spring Framework, May 2005. Available at http://www.theserverside.com/articles/article.tss?l=SpringFramework

  44. Johnson, R. Hoeller, J.: J2EE Development without EJB. Wiley, New York (2004)

    Google Scholar 

  45. 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/

  46. 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)

    Article  Google Scholar 

  47. 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)

    Article  Google Scholar 

  48. 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

  49. 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

  50. 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

  51. 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

  52. 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

  53. 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

  54. 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

  55. Laddad, R.: AspectJ in Action. Manning (2003)

  56. Langworthy, D. (ed.): Web Services Atomic Transaction (WS-AtomicTransaction), November 2004. Available at ftp://www6.software.ibm.com/software/developer/library/WS-AtomicTransaction.pdf

  57. 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.

  58. Microsoft: BizTalk Server 2004 Architecture White Paper, December 2004, Available at http://www.microsoft.com/biztalk/techinfo/whitepapers/2004/architecture.mspx

  59. Milner, R.: A Calculus of Communicating Systems. Springer, Berlin Heidelberg New York (1982)

    Google Scholar 

  60. 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

  61. 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

  62. OASIS: Web Services Security (WS-Security) Version 1.0”, March 2004, Available at http://www.oasis-open.org/specs/index.php

  63. OASIS: WS-BPEL Issues List, September 2005. Available at http://www.oasis-open.org/committees/download.php/14416/wsbpel_issues_list.html

  64. 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

  65. 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

  66. Papazoglou, M.P.: Web services and business transactions. World Wide Web 6(1), 49–91 (2003)

    Article  Google Scholar 

  67. 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)

  68. Peltz, C.: Web services orchestration and choreography. Comput. J. 36(10), 46–52 (2003)

    Article  Google Scholar 

  69. Pichler, R., Ostermann, K., Mezini, M.: On aspectualizing component models. Software Practice and Experience 33(10), 957–974 (2003)

    Article  Google Scholar 

  70. 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)

    Google Scholar 

  71. 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)

    Article  Google Scholar 

  72. 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.

  73. Schlimmer, J. (eds.): Web Services Policy Framework (WS-Policy), September 2004. Available at ftp://www6.software.ibm.com/software/developer/library/ws-policy.pdf

  74. 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

  75. Sharp, C. (ed.): Web Services Policy Attachment (WS-PolicyAttachment), September 2004. Available at: ftp://www6.software.ibm.com/software/developer/library/ws-polat.pdf

  76. 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

  77. 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

  78. 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

  79. 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.

  80. 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

  81. 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)

    Google Scholar 

  82. von Halle, B.: Business Rules Applied: Building Better Systems Using the Business Rules Approach. Wiley, New York (2001)

    Google Scholar 

  83. W3C: Simple Object Access Protocol (SOAP) Version 1.1”, May 2000. Available at http://www.w3.org/TR/2000/NOTE-SOAP-20000508/

  84. W3C: Web Services Choreography Description Language (WS-CDL) Version 1.0”, October 2004. Available at http://www.w3.org/TR/ws-cdl-10/

  85. Win, B.D.: Engineering application-level security through aspect-oriented software development. Ph.D. dissertation, Department of Computer Science, K.U. Leuven, Belgium, (2004)

  86. 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

  87. 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

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Charfi, A., Mezini, M. AO4BPEL: An Aspect-oriented Extension to BPEL. World Wide Web 10, 309–344 (2007). https://doi.org/10.1007/s11280-006-0016-3

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11280-006-0016-3

Keywords

Navigation