Web service compositions in BPEL have several nonfunctional requirements such as security, reliable messaging, and transactions. Although many WS-* specifications address such non-functional concerns in the Web service context, they focus only on the messaging-level requirements without addressing the process-level requirements. In this paper, we discuss different non-functional requirements in BPEL workflows and observe that current orchestration engines lack support for the specification and enforcement of such requirements, especially for process-level requirements. To solve this problem, we present a container framework, which introduces an XML-based deployment descriptor to specify the non-functional requirements in a declarative way. To enforce these requirements, a process container intercepts the process execution and calls dedicated middleware Web services. We implemented the process container as a lightweight container using a set of A04BPEL aspects that are automatically generated from the deployment descriptor. In addition, we have implemented BPEL middleware Web services for reliable messaging, security, and transaction
['Anis Charfi', 'Benjamin Schmeling', 'Andreas Heizenreder', 'Mira Mezini']
Reliable, Secure, and Transacted Web Service Compositions with AO4BPEL