swMATH ID: 33276
Software Authors: Charfi A, Mezini M
Description: AO4BPEL is an aspect-oriented extension to WS-BPEL 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.
Homepage: https://www.stg.tu-darmstadt.de/research/finished_research/ao4bpel/ao4bpel_index.en.jsp
Related Software: WebSphere; JML; WSAT; JBoss; AspectJ; YASM; MathSAT; Sat4j; BPEL2PN; Walksat; SLAM; Graphplan; cglib; Google Maps API; Jolie; SWORD; JOpera; Orc; AgentSpeak; PAWS
Cited in: 2 Publications

Cited in 1 Serial

2 Computing

Citations by Year