If you want to try AO4BPEL Download the examples and send me an e-mail
Download ExamplesAO4BPEL is an aspect-oriented extension to BPEL4WS that allows for more modular and dynamically adaptable web service compositions. Aspect-Oriented Programming (AOP) is a paradigm that addresses the issue of modularizing crosscutting concerns in web services compositions such as authorization and authentication, business rules, and persistence. AOP introduces units of modularity called aspects to overcome the inherent problem of code scattering and tangling due to crosscutting concerns in complex systems. Aspects associate sets of join points - well-defined points in the process execution - with additional behaviour defined in an advice.
In AO4BPEL, each activity is a potential join point. A collection of related join points is identified by a pointcut – a query over joint points. That is, a pointcut specifies the crosscutting structure of a concern and advice associate behavioural effect to this structure. The pointcut language of AO4BPEL is XPath. That is, XPath expressions are used to select the activities where the advice code should be executed. Pointcuts can span several processes. An advice in AO4BPEL is a BPEL activity that specifies some crosscutting behavior that should execute at certain join points. Like AspectJ, AO4BPEL supports before, after and around advice. The activity of integrating aspects into base functionality is called weaving. A weaver is a tool that integrates a base program’s execution with aspects. In the case of AO4BPEL, the base program is the BPEL process and the weaver is an aspect-ware orchestration engine. AO4BPEL supports dynamic weaving, i.e., aspects can be deployed or un-deployed at process interpretation time.
Publications
|
Transactional BPEL Processes with AO4BPEL Aspects |
|
|
Reliable, Secure, and Transacted Web Service Compositions with AO4BPEL |
|
|
Aspect-Oriented Workflow Languages |
|
|
Reliable Messaging for BPEL |
|
|
AO4BPEL: An Aspect-oriented Extension to BPEL |
|
|
Using AO4BPEL for Web Service Composition Security |
Business Rules with AO4BPEL |
|
Aspect-oriented Web Service Composition with AO4BPEL |
|
AO4BPEL life Demos were given at AOSD 2006 (March) and BPM 2006 (September)
People
Anis Charfi, Mira Mezini, Tom Dinkelaker
Leo Shang (implemented parts of the AO4BPEL engine)
Andreas Heizenreder (developed a security service for BPEL)
Benjamin Schmeling (developed a reliable messaging service and a transaction service for BPEL)
Christian Fuest (used AO4BPEL aspects to support adaptive BPEL processes)

