Business processes are part of every company’s daily business. In the past hundreds of years, almost every aspect in the operation of businesses has seen a two-pronged transformation: first, toward defining and then following processes, and second, toward making the processes eff
...
Business processes are part of every company’s daily business. In the past hundreds of years, almost every aspect in the operation of businesses has seen a two-pronged transformation: first, toward defining and then following processes, and second, toward making the processes efficient through the use of technology.
In this work, we define a technology-driven approach to business processes: Business Process as a Service. Starting from the current technological possibilities and architectural trends, we define BPaaS, and list requirements for a functional BPaaS system in enterprise settings. Key to our requirements, we consider (1) business process creation, execution, and monitoring, (2) the pay-per-use business model, and (3) useful trade-offs in the cost-scalability space. Using these requirements, we design a reference architecture for BPaaS.
We implement the reference architecture as a prototype BPaaS solution, Elastic-BPM. The key feature of Elastic-BPM is efficient operation, which it achieves by enabling the elastic use of infrastructure. Key components of our reference architecture are (1) the user dashboard and process manager, responsible for the creation, execution, and monitoring of business processes, (2) the virtual infrastructure making use of small, preemptable components, to enable the pay-per-use business model, and (3) the scheduler, responsible for the trade-offs in the cost-scalability space.
The implementation is based on and makes use of state-of-the-art cloud components, such as Angular for the dashboard, Elasticsearch for the scheduler input, and Docker for the virtual infrastructure. We further equip the scheduling component of Elastic-BPM with three different dynamic provisioning algorithms; Static, OnDemand, and Learning, which cover conceptually one static and two dynamic approaches to provisioning infrastructure, respectively.
We validate Elastic-BPM by deploying it both locally and in the Microsoft Azure cloud, and by running over 50 experiments using a synthetic but diverse workload. We find not only optimal setting for the cloud components in the system, but also for scheduling the human resources partaking in the business process.