Abstract

One of key challenges in business 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 middleware itself. To address these issues, we advocate an event-driven business mechanism: i) an event-driven virtual machine for business is proposed in this paper, ii) Compiler algorithms for high-level business 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 programming models. To illustrate the broad applicability of our approach, three key programming models in business 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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call