World Wide Web

, Volume 10, Issue 3, pp 309–344 | Cite as

AO4BPEL: An Aspect-oriented Extension to BPEL

  • Anis Charfi
  • Mira Mezini
Article

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.

Keywords

web service composition workflow separation of concerns aspect-oriented programming modularization adaptation BPEL 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Alonso, G., Casati, F., Kuno H., et al.: Web Services: Concepts, Architecture, and Applications. Springer, Berlin Heidelberg New York (2004)Google Scholar
  2. 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. 3.
    Apache: Xalan-Java Version 2.6.0. Available at http://xml.apache.org/xalan-j/
  4. 4.
    Arkin, A.: Business Process Modeling Language (BPML) Version 1.0. June 2002. Available at http://www.bpmi.org/bpml.esp
  5. 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. 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 2001Google Scholar
  7. 7.
    Benatallah, B., Sheng, Q.Z., Dumas, M.: The self-serv environment for web services composition. IEEE Internet Computing 7(1), 40–48 2003CrossRefGoogle Scholar
  8. 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. ACMCrossRefGoogle Scholar
  9. 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 2005Google Scholar
  10. 10.
    Burke, B., Fleury, M., Brock, A., et al.: JBoss AOP Version 1.3.0”, 2005, Available at http://aop.jboss.org
  11. 11.
    Bussler, C.: Adaptation in workflow management. In: Proc. of the 5th International Conference on Software Process (ICSP), Chicago, IL, USA, June 1998Google Scholar
  12. 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 YorkGoogle Scholar
  13. 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 YorkGoogle Scholar
  14. 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.Google Scholar
  15. 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 2005Google Scholar
  16. 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. ACMGoogle Scholar
  17. 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, CAGoogle Scholar
  18. 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 2006Google Scholar
  19. 19.
    Clark, J., DeRose, S.: XML Path Language (XPath) Version 1.0”, W3C Recommendation, 16 November 1999Google Scholar
  20. 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. ACMGoogle Scholar
  21. 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. 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 2005Google Scholar
  23. 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.Google Scholar
  24. 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. 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 2004Google Scholar
  26. 26.
    Delisle, P., Luehe, J., Roth, M.: “Java Server Pages Specification, Version 2.1”, Sun (2005)Google Scholar
  27. 27.
    DeMichiel, L.G.: Enterprise Java Beans Specification, Version 3.0”, Sun, Java Specification Request 220 (2004)Google Scholar
  28. 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.CrossRefGoogle Scholar
  29. 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. ACMGoogle Scholar
  30. 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 YorkGoogle Scholar
  31. 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.Google Scholar
  32. 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. 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 2000Google Scholar
  34. 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. 35.
    Gamma, E., Helm, R., Johnson, R., et al.: Design Patterns. Addison-Wesley, Reading, MA (1995)Google Scholar
  36. 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)CrossRefGoogle Scholar
  37. 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 1998Google Scholar
  38. 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)CrossRefGoogle Scholar
  39. 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 2004Google Scholar
  40. 40.
    Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewoods Cliffs, NJ (1985)MATHGoogle Scholar
  41. 41.
    IBM: The BPEL4WS Java Run Time Version 2.1”, August 2002. Available at http://www.alphaworks.ibm.com/tech/bpws4j
  42. 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. 43.
    Johnson, R.: Introduction to the Spring Framework, May 2005. Available at http://www.theserverside.com/articles/article.tss?l=SpringFramework
  44. 44.
    Johnson, R. Hoeller, J.: J2EE Development without EJB. Wiley, New York (2004)Google Scholar
  45. 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. 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)CrossRefGoogle Scholar
  47. 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)CrossRefGoogle Scholar
  48. 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 2003Google Scholar
  49. 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 YorkGoogle Scholar
  50. 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 YorkGoogle Scholar
  51. 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, ACMGoogle Scholar
  52. 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 YorkGoogle Scholar
  53. 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. 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. ACMGoogle Scholar
  55. 55.
    Laddad, R.: AspectJ in Action. Manning (2003)Google Scholar
  56. 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. 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.Google Scholar
  58. 58.
    Microsoft: BizTalk Server 2004 Architecture White Paper, December 2004, Available at http://www.microsoft.com/biztalk/techinfo/whitepapers/2004/architecture.mspx
  59. 59.
    Milner, R.: A Calculus of Communicating Systems. Springer, Berlin Heidelberg New York (1982)Google Scholar
  60. 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. 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. 62.
    OASIS: Web Services Security (WS-Security) Version 1.0”, March 2004, Available at http://www.oasis-open.org/specs/index.php
  63. 63.
    OASIS: WS-BPEL Issues List, September 2005. Available at http://www.oasis-open.org/committees/download.php/14416/wsbpel_issues_list.html
  64. 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 2005Google Scholar
  65. 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 YorkGoogle Scholar
  66. 66.
    Papazoglou, M.P.: Web services and business transactions. World Wide Web 6(1), 49–91 (2003)CrossRefGoogle Scholar
  67. 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)Google Scholar
  68. 68.
    Peltz, C.: Web services orchestration and choreography. Comput. J. 36(10), 46–52 (2003)CrossRefGoogle Scholar
  69. 69.
    Pichler, R., Ostermann, K., Mezini, M.: On aspectualizing component models. Software Practice and Experience 33(10), 957–974 (2003)CrossRefGoogle Scholar
  70. 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. 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)CrossRefGoogle Scholar
  72. 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.Google Scholar
  73. 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. 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 1998Google Scholar
  75. 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. 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, ACMGoogle Scholar
  77. 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 YorkGoogle Scholar
  78. 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. ACMGoogle Scholar
  79. 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.Google Scholar
  80. 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 YorkGoogle Scholar
  81. 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. 82.
    von Halle, B.: Business Rules Applied: Building Better Systems Using the Business Rules Approach. Wiley, New York (2001)Google Scholar
  83. 83.
    W3C: Simple Object Access Protocol (SOAP) Version 1.1”, May 2000. Available at http://www.w3.org/TR/2000/NOTE-SOAP-20000508/
  84. 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. 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)Google Scholar
  86. 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 YorkGoogle Scholar
  87. 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. ACMGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2007

Authors and Affiliations

  • Anis Charfi
    • 1
  • Mira Mezini
    • 1
  1. 1.Software Technology GroupDarmstadt University of TechnologyDarmstadtGermany

Personalised recommendations