Service-oriented architectures (SOA) and business process management (BPM) are topical subjects for research, business infrastructure, and software architecture. Understanding how language constructs provide facilities and capabilities to specify the business or application requirements across these architectures is an area that needs better understanding.
Standards are evolving around process-oriented composition languages, but, as the authors rightly indicate, the current standards are inadequate to express and maintain the rich set of business rules that are required for a complex composition of services. To address this shortcoming, the authors introduce two mechanisms to integrate the use of business rules within the framework of process-based composition systems. The first method involves the use of aspect-oriented programming, while the second contemplates the integration of a rule engine.
This paper presents an extension to the business process execution language (BPEL) by introducing aspects into the language, thus producing an aspect-oriented dialect of BPEL (A04BPEL). It is conjectured that business rule entanglement is reduced, while a mechanism for reuse is added to the composition of services, through the use of aspects and crosscutting capabilities. However, this solution comes up short in its facility for assisting the programmer in the management of the rules themselves, leading to the introduction of the second option. The use of a rules engine (such as Jess) is introduced as an alternative, in which the rules engine is integrated into a process-oriented specification.
There is much follow-on research, testing, and verification that must be done to determine what direction these languages and systems should go, but this paper provides a good basis from which such work can be launched.