AO4BPEL: An Aspect-oriented Extension to BPEL
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