«Aspect-Oriented Web Service Composition with AO4BPEL Anis Charfi1, Mira Mezini Software Technology Group Darmstadt University of Technology ...»
Several research works recognize the importance of flexible and adaptive composition. Self-Serv  is a framework for dynamic and peer-to-peer provisioning of web services. In this approach, web service composition is specified declaratively by means of state charts. Self-Serv adopts a distributed decentralized, peer-to-peer orchestration model, whereby the responsibility of coordinating the execution of a composite service is distributed across several coordinators. This orchestration model provides greater scalability than a centralized one w.r.t. performance. In addition, Self-Serv introduces the concept of service communities, which are containers for alternative services. Separating the service description from the actual service provider increases the flexibility. However, unlike our approach, Self-Serv does not support dynamic process changes such as adding new web service type to the composition (cf. Sec.2).
Örriens et a.l , present a framework for business rule driven composition providing composition elements like activities and composition rules. Due to the separation of the activities from the specification of their composition, the latter can easily evolve by applying new composition rules. With AO4BPEL aspects, we achieve a similar effect of separating the main activities from their composition logic, while remaining compliant with BPEL4WS - a de-facto composition standard. In contrast to AO4BPEL, the approach presented in  does not support dynamic change and is rather geared towards the service composition lifecycle.
Adaptive workflow [18, 27, 28] provides flexible workflow models that are open for change. Similar to these works, AO4BPEL aims at making process-based composition more open for change. In addition, it addresses the issue of process modularity. We think that many concepts and results from adaptive workflow remain valid for our work e.g., the verification and correctness of workflow modifications.
Casati et. al,  present eFlow, which is a platform for specifying, enacting, and monitoring composite e-services (a predecessor of web services). eFlow models composite web services using graphs. It supports dynamic process modifications and differentiates ad hoc change (applies to a single process instance) and bulk change (applies to many or all process instances). Unlike AO4BPEL, eFlow supports change by migration of process instances from a source schema to a destination schema. This migration obeys several consistency rules. The advantage of our approach over eFlow is that we do not have to migrate the whole process instance from a source schema to a destination schema, we just weave sub-processes or advices at certain join points.
Dynamic AOP [11, 12, 13, 29] has been recognized as a powerful technique for dynamic program adaptation also by other authors. In , dynamic aspects are used for third-party service integration and for hot fixes in mobile communication systems.
The idea of using AOP for increasing the flexibility of workflows was identified in , where the authors propose to model workflow according to different decomposition perspectives (dataflow, control flow, and resources). Along the same lines, Bachmendo and Unland  propose using dynamic aspects for workflow evolution within an object-oriented workflow management system.
There are two important differences between the approaches cited in the foregoing paragraph and the work presented here. First, none of the works presented in [30, 31, 32] directly targets the domain of web services. Second, all these approaches (mis)use Aspect-Oriented Web Service Composition with AO4BPEL 13 dynamic AOP merely as an adaptation (patch) technique and do not use it as a modularization technique for crosscutting concerns, which it actually is. The second argument also applies to  – the only work that intends to apply dynamic AOP to web service composition known to the authors of this paper. In , dynamic aspects are used to hot-fix workflow and to configure and customize the orchestration engine.
This approach is more interceptor-based than really aspect-oriented. Similar to [31, 32], the proposal in  uses dynamic AOP merely as an adaptation technique and not as a modularization technique for crosscutting. The advantage of our approach over these works is the quantification  i.e., the pointcut language of AO4BPEL which allows us to capture join points that span several processes in a modular and
way. We illustrated the crosscutting nature of functional and non-functional concerns especially observable when several processes are considered.
WSML  is a client-side web service management layer, which realizes dynamic selection and integration of services. WSML is implemented using the dynamic AOP language JAsCo . Our work on AO4BPEL and the work on WSML nicely complement each other, since WSML does not address the problem of web service composition, while AO4BPEL is not concerned with the middleware issues of web-service management.
In this paper, we discussed limitations of web-service composition languages with respect to modularity and dynamic adaptability. We argued that the overall static model of the web-service composition languages inherited from the workflow management systems is not able to address issues resulting from the highly dynamic nature of the world of web services. To address these limitations, we presented an aspect-oriented extension to BPEL4WS where aspects and processes are specified in XML. We discussed how our approach improves process modularity and increases the flexibility and adaptability of web service composition.
The major contribution of our work is to elucidate why AOP is the right technique to address the problems of BPEL by arguing that these problems emerge due to the lack of crosscutting modularity. BPEL processes are the counterpart to classes in OOP. That is, similar to OO which mainly supports hierarchical decomposition in objects that are composed of other simpler objects the process-oriented languages support hierarchical decomposition of systems into processes that are recursively composed of other processes. Such a single decomposition schema while appropriate for expressing the process structure in a modular way, is, however, not well-suited for expressing other concerns that cut across module boundaries. With its ability to quantify over given module boundaries  by means of pointcuts that span several processes, AO4BPEL is able to capture such concerns in a modular way. This is actually the key message put forward in this paper.
Currently, we are still working on a first prototype of the aspect-aware orchestration engine, which manages BPEL aspects and processes. In the future, we intend to enhance the interface for context passing between BPEL aspects and the base processes. We will also examine the correctness properties of process adaptation.
14 Anis Charfi, Mira Mezini Another direction for future research is to investigate whether semantic web and ontologies may enable semi-automatic generation of adaptation aspects in case of dynamic changes.
Acknowledgements We would like to thank D. Karastoyanova, M. Haupt, and S. Kloppenburg for comments on earlier drafts of this paper. We also thank the anonymous reviewers for their suggestions for improving this paper.
1. G. Alonso, F. Casati, H. Kuno,V. Machiraju. Web Services: Concepts, Architectures, and Applications. Springer, 2004.
2. M. P. Papazoglou. Service-Oriented Computing: Concepts, Characteristics and Directions.
4th Int. Conference on Web Information Systems Engineering (WISE'03), Italy, 2003.
3. A. Arkin et al., Web Service Choreography Interface 1.0, W3C, 2002.
4. A. Arkin et al., Business Process Modeling Language- BPML 1.0, 2002.
5. T. Andrews et al., Business Process Execution Language for Web Services 1.1, May 2003.
6. D. Georgakopoulos, M. Hornick, A. Sheth. An Overview of Workflow Management: from process modeling to workflow automation infrastructure. Distributed and Parallel Databases, April 1995.
7. H. Masuhara, G. Kiczales. Modeling Crosscutting in Aspect-Oriented Mechanisms. In Proceedings of ECOOP2003, LNCS 2743, pp.2-28, Darmstadt, Germany, 2003.
8. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, J. Irwin.
Aspect-oriented Programming. In ECOOP'97, LNCS 1241, pp. 220-242, 1997.
9. R. Laddad. AspectJ in Action. Manning Publications, 2003.
10. P. Tarr, H. Ossher, W. Harrison, S.M. Sutton. N degrees of Separation: Multidimensional separation of concerns. Proc. ICSE 99, pp. 107-119, 1999.
11. C. Bockisch, M. Haupt, M. Mezini, K. Ostermann. Virtual Machine Support for Dynamic Join points. Proceedings of the 3rd AOSD conference, Lancaster, UK, 2004.
12. R. Pawlak, L. Seinturier, L. Duchien, G. Florin. JAC: A Flexible Solution for AspectOriented Programming in Java. Proceedings of the 3rd International Conference on Metalevel Architectures and Separation of Crosscutting Concerns, Japan, 2001.
13. B. Burke, M. Flury. JBoss AOP, http://www.jboss.org/developers/projects/jboss/aop.jsp.
14. R. Khalaf, N. Mukhi, S. Weerawarana. Service-Oriented Composition in BPEL4WS.
WWW2003 conference, Budapest, Hungary, 2003.
15. The IBM BPEL4WS JavaTM Run Time, http://www.alphaworks.ibm.com/tech/bpws4j.
16. V. Tosic, W. Ma, B. Pagurek, B. Esfandiari. Web Services Offerings Infrastructure(WSOI)
- A Management Infrastructure for XML Web Services. Proc. of NOMS 2004, Seoul, 2004.
17. M. D'Hondt, V. Jonckers. Hybrid Aspects for Weaving Object-Oriented Functionality and Rule-Based Knowledge. Proceedings of the 3rd AOSD conference, Lancaster, UK, 2004.
18. Y. Han, A. Sheth, C. Bussler. A Taxonomy of Adaptive Workflow Management. CSCW’98 Workshop on Adaptive Workflow, USA, 1998.
19. F. Achermann, O. Nierstrasz. Applications = Components + Scripts — A Tour of Piccola.
Software Architectures and Component Technology, Kluwer, 2001.
20. Y. Coady, G. Kiczales. AspectC, http://www.cs.ubc.ca/labs/spl/projects/aspectc.html.
Aspect-Oriented Web Service Composition with AO4BPEL 15
21. G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, W. Griswold. An overview of AspectJ. In Proceedings of the ECOOP 2001, Budapest, Hungary, 2001.
22. E. Hilsdale, J. Hugunin. Advice Weaving in AspectJ. Proceedings of the 3rd AOSD conference, Lancaster, UK, 2004.
23. J. Clark. XML path language (XPATH), 1999 http://www.w3.org/TR/xpath.
24. Collaxa BPEL Server, http://www.collaxa.com
25. B. Benatallah, Q. Sheng, M. Dumas. The Self-Serv Environment for Web Services Composition. IEEE Internet Computing, January / February 2003.
26. B. Orriëns, J. Yang, M.P. Papazoglou. A Framework for Business Rule Driven Web Service Composition. ER (Workshops), Chicago, USA, 2003.
27. C. Bussler. Adaptation in Workflow management. Proceedings of the Fifth International Conference on the Software Process, CSOW, Illinois, USA, June 1998.
28. F. Casati, S. Ilnicki, L. Jin, V. Krishnamoorthy, M.Shan. Adaptive and Dynamic Service Composition in eFlow. In Proc. of the Int. Conference on Advanced Information Systems Engineering (CAiSE), Sweden, June 2000.
29. Y. Sato, S. Chiba, M. Tatsubori. A Selective Just-in-Time Aspect Weaver. Proceedings of the GPCE 03 conference, LNCS 2830, Erfurt, September 2003.
30. R. Hirschfeld, K. Kawamura. Dynamic Service Adaptation. 4th International Workshop on Distributed Auto-adaptive and Reconfigurable Systems, Tokyo, Japan, 2004.
31. R. Schmidt, U.Assmann. Extending Aspect-Oriented-Programming in order to flexibly support Workflows. AOP Workshop, ICSE 98, Kyoto, Japan, 1998.
32. B. Bachmendo, R. Unland. Aspect-based Workflow Evolution. Workshop on AOP and separation of concerns, Lancaster, UK, 2001.
33. C. Courbis, A. Finkelstein. Towards an Aspect-Weaving BPEL-engine. ACP4IS Workshop, 3rd AOSD conference, Lancaster, UK, 2004.
34. R.E. Filman, D.P. Friedman. Aspect-Oriented Programming is Quantification and Obliviousness. Advanced Separation of Concerns Workshop, OOPSLA 2000, Minneapolis, USA, 2000.
35. B. Verheecke, M. Cibran. AOP for Dynamic Configuration and Management of Web Services. International Conference on Web Services Europe 2003, Erfurt, 2003.
36. D. Suvee, W. Vanderperren, V. Jonckers. JAsCo: an aspect-oriented approach tailored for