Abstract
One of key challenges in business integration is that it involves variety of multiple programming models, which include business process automation, business activity monitoring, service mediation, and others. Different kinds of runtimes have been developed in support of these programming models. However, taking a step back one realizes that at their core all of these runtimes implement the same kind of functions: they process messages (or events) in the context of managed objects. The messages can represent service invocations; audit events; or point-to-point messages between applications. The managed objects can represent process executions, monitoring contexts, or mediations. Developing separate engines for each high-level programming model results in redundant implementation efforts and may even cause an "integration problem" for the integration middleware itself. To address these issues, we advocate an event-driven business integration mechanism: i) an event-driven virtual machine for business integration is proposed in this paper; ii) Compiler algorithms for high-level business integration programming models are presented, and a concrete implementation is discussed. Conceptually, this is similar to passing from CISC to RISC architectures in CPU design: efficiently implement a small instruction set, and support higher level programming models via compilers. In this paper, we propose a low level language with six instructions is sufficient to support a wide variety of business integration programming models. To illustrate the broad applicability of our approach, three key programming models in business integration are presented: business process automation, business activity monitoring, and service mediation. Two compiler algorithms are described in detail. Finally, some implementation aspects and performance considerations of the virtual machine are discussed as well. © 2013 IEEE.