Elastic Business Process Management: State of the art and open challenges for BPM in the cloud

https://doi.org/10.1016/j.future.2014.09.005Get rights and content

Highlights

  • Survey of state of the art in infrastructural challenges for elastic BPM.

  • Scheduling, resource allocation, process monitoring, decentralized coordination and state management for elastic processes are discussed in detail.

  • Identification of future research directions.

Abstract

With the advent of cloud computing, organizations are nowadays able to react rapidly to changing demands for computational resources. Not only individual applications can be hosted on virtual cloud infrastructures, but also complete business processes. This allows the realization of so-called elastic processes, i.e., processes which are carried out using elastic cloud resources. Despite the manifold benefits of elastic processes, there is still a lack of solutions supporting them.

In this paper, we identify the state of the art of elastic Business Process Management with a focus on infrastructural challenges. We conceptualize an architecture for an elastic Business Process Management System and discuss existing work on scheduling, resource allocation, monitoring, decentralized coordination, and state management for elastic processes. Furthermore, we present two representative elastic Business Process Management Systems which are intended to counter these challenges. Based on our findings, we identify open issues and outline possible research directions for the realization of elastic processes and elastic Business Process Management.

Introduction

Business Process Management (BPM) enables flexible and individualistic composition and execution of services as opposed to hard-coded workflows in off-the-shelf software. Scalability of computational resources for these processes is an important challenge to realize in the next generation of inter-organizational processes  [1]. In a traditional architecture, resources for human and service tasks within these processes had to be scheduled in advance and were sized so that they were able to allow for processing of tasks even at peak times. However, in non peak-times, resources would not be utilized, leading to overprovisioning. On the other hand, if resources were provided at a level that can only cover part of the processes’ resource demands during peak times, processes can either not be carried out (underprovisioning) or provide low Quality of Service (QoS)  [2].

Cloud computing has changed how computing and storage services are provisioned. Through elastic, virtualized infrastructures, it is possible to lease and release the needed resources in an on-demand, utility-like fashion, with billing according to use (metered service or pay-per-use), and to scale the computing infrastructure up and down rapidly (rapid elasticity)  [2]. However, we found that as of now, BPM cloud offerings solely focus on providing on-demand platforms and software over the internet in addition to selling traditional software licenses for server installations. Currently, there is very little information on resource elasticity of these offerings or even BPM software to run your own cloud-enabled BPM system.

Scientific workflows (SWFs)  [3] and corporate data transformation processes, e.g. in master data management or logistics, among others can benefit from such systems. Both have heterogeneous yet mostly heavy computational and storage requirements. This is due to the fact that several steps of calculations and data transformations have to be made in a certain order. Simply providing a Web interface for process design and enactment does not suffice in these cases. It is important to also have access to elastic cloud resources for process enactment  [4].

We believe this lack of elasticity support is due to the fact that for BPM, recent advances in cloud-based application provisioning cannot be transferred unmodified but have to be adapted to ensure consistent behavior when executing processes. For example, business processes carry their own state and may execute over a timeframe that can be longer than the life of a Virtual Machine (VM) provisioned in a given scenario. Hence, certain adjustments have to be made when executing processes. In addition, BPM knowledge, available through monitoring services, can be used to improve the resource prediction of current state of the art Infrastructure as a Service (IaaS) auto-scalers. This enables efficient leasing and releasing of computational resources to support execution of process tasks within time and cost constraints.

In this paper, we outline recent advances in BPM and cloud computing that have brought these two worlds closer together. We subsume them under the term elastic BPM—correspondingly, the entities we are discussing are elastic processes   [5]. Our focus is on the part of process enactment, as opposed to other phases of the BPM lifecycle such as process design or process evaluation. There are at least two layers to consider when talking about elastic BPM: a business layer, covering all aspects which cannot be implemented to run automatically through a Business Process Management System (BPMS), and an infrastructure layer, covering all aspects of BPM execution. In this paper, we focus primarily on the infrastructure challenges posed and opportunities given by cloud computing and BPM.

We conceive different infrastructure challenges as separate threads or portions of a high level elastic BPM architecture which have interdependencies and intertwine. Following the common states of process enactment, initially there is the challenge of process scheduling: the ordering and execution of processes and their tasks on available resources. Alongside any execution, there is the monitoring of audit data, which presently involves input from and output to third party data streams in real-time. The automatic processing of individual tasks consumes computational resources. The cost-efficient provisioning and deprovisioning of virtualized infrastructure has to go hand in hand with process enactment and the process instances’ states. Finally, on a lower level including storage and state management of the applications serving the process, consistency issues have to be dealt with. These topics form the basis of our argument for a coalescence of BPM and cloud computing to allow both worlds to benefit from each other.

The paper provides first hand evidence of the state of the art of performing BPM on cloud infrastructures. In the course of designing and developing our research prototypes for elastic BPM, presented in a later section, we have encountered several obstacles for BPM in the cloud. We have compiled these into five distinct challenges which need to be countered. Concepts and prototypes for some aspects can be found in our research implementations while some other aspects still require further research. For the latter, we have fleshed out concrete research directions for the BPM and cloud communities to investigate, so as to enable truly elastic BPM.

This paper is structured as follows. First, we briefly present background work on BPM and cloud computing (Section  2). Then we introduce a BPMS for elastic processes (Section  3) and an overview of the current state of the art regarding the identified infrastructural challenges (Section  4). We underpin our main section on elastic BPM by describing two prototypical research prototypes which have been used to evaluate the benefits of joint BPM and cloud computing realizations (Section  5). Finally we summarize the findings and systematize future research directions in Sections  6 Future research directions, 7 Conclusion, respectively.

Section snippets

Business Process Management

Processes are generally defined as sequences of tasks performed within or across companies or organizations  [6]. BPM refers to a collection of tools and methods for achieving an understanding of, managing, and improving an enterprises’ process portfolio  [7]. Within this portfolio, processes are commonly classified into value-adding core processes and non-value-adding supplementary processes. Whereas core processes are considered to contain corporate expertise and produce products or services

Elastic BPM high level architecture

Elastic processes require nimble, agile BPMSs able to deal with the inherent dynamism of the cloud environment and process landscape. This motivates rethinking the traditional BPMS architecture to create an elastic BPMS (eBPMS). In this section, we discuss a high level eBPMS architecture and discuss its core components. It has to be mentioned at this stage that elastic BPM is not merely a purely technological problem with a technological solution. BPM commonly involves manual tasks which are

Scheduling for elastic processes

(Business) Process scheduling is defined as the problem to find an execution sequence for the process so that its tasks are finished under given constraints, e.g., timing, causality, and resource constraints  [24], [25]. Especially scheduling under causality and timing constraints has been a major research topic in recent years, while resource constraints are a relatively new topic  [26]. Scheduling under resource constraints describes the function of analyzing a queue of process instances or

eBPMS realizations

In Section  4, the current state of the art for different infrastructural challenges for elastic BPM has been discussed. In this section, we give examples in terms of two research eBPMS which represent the current state of the art, namely the Fuzzy BPM-aware Auto-Scaler and the Vienna Platform for Elastic Processes. These eBPMSs focus on resource allocation and process scheduling.

It should be noted that there are various approaches to bring BPMS to the cloud, i.e., as SaaS. Both research,

Future research directions

In the previous sections, we have discussed the current state of the art regarding the identified infrastructural challenges for elastic processes, namely scheduling, resource allocation, process monitoring, decentralized coordination, and state management. Furthermore, we have discussed the capabilities of two state of the art research eBPMS prototypes. We found that solutions aiming at elastic processes and elastic BPM are scarce and that the field is in general still in its infancy—current

Conclusion

Elastic BPM is a promising approach to realize scalable business processes in a cost-efficient and flexible way. Since elastic BPM constitutes a relatively new field of research, the number of respective solutions and research approaches is still small.

Within the scope of this paper, we have analyzed the state of the art in this field, with a focus on the infrastructural challenges of elastic BPM and elastic processes, namely scheduling, resource allocation, process monitoring, decentralized

Acknowledgments

This paper is supported by TU Vienna research funds and by the Austrian Science Fund (FWF)P23313-N23. This work is supported by the German Academic Exchange Service (DAAD) under the promotional reference “54392100” and by the Group of Eight (Go8) Australia–Germany Joint Research Cooperation Scheme. NICTA is funded by the Australian Government through the Department of Communications and the Australian Research Council through the ICT Centre of Excellence Program.

Stefan Schulte is a Postdoctoral Researcher at the Distributed Systems Group at Vienna University of Technology and the project manager of the ongoing EU FP7 project SIMPLI-CITY—The Road User Information System of the Future (http://www.simpli-city.eu). His research interests span the areas of service-oriented computing and cloud computing, with a special focus on Quality of Service aspects. In 2010, he finished his Ph.D. at Technische Universität Darmstadt, Germany. Findings from his research

References (101)

  • C.-Z. Xu et al.

    URL: a unified reinforcement learning approach for autonomic cloud management

    J. Parallel Distrib. Comput.

    (2012)
  • R. Breu et al.

    Towards living inter-organizational processes

  • M. Armbrust et al.

    A view of cloud computing

    Commun. ACM

    (2010)
  • A. Barker et al.

    Scientific workflow: a survey and research directions

  • J.-S. Vöckler et al.

    Experiences using cloud computing for a scientific workflow application

  • S. Dustdar et al.

    Principles of elastic processes

    IEEE Internet Comput.

    (2011)
  • Object Management Group, Business Process Model and Notation (BPMN) Version 1.2,...
  • T.H. Davenport

    Process Innovation: Reengineering Work through Information Technology

    (1993)
  • M. Weske

    Business Process Management: Concepts, Languages, Architectures

    (2012)
  • W.M.P. van der Aalst et al.

    Business process management: A survey

  • B. Ludäscher et al.

    Scientific workflows: business as usual?

  • P. Mell, T. Grance, The NIST definition of cloud computing, Recommendations of the National Institute of Standards and...
  • J. Cáceres et al.

    Service scalability over the cloud

  • G. Copil et al.

    Multi-level elasticity control of cloud services

  • R. Mans et al.

    Schedule-aware workflow management systems

  • S. Schulte et al.

    Towards process support for cloud manufacturing

  • S. Rohjans et al.

    Requirements for smart grid ICT architectures

  • U. Lampe et al.

    On the relevance of security risks for cloud adoption in the financial industry

  • A.Q. Gill et al.

    An empirical analysis of cloud, mobile, social and green computing—financial services IT strategy and enterprise architecture

  • F.A. Rabhi et al.

    ADAGE: a framework for supporting user-driven ad-hoc data analysis processes

    Computing

    (2012)
  • A. Shi et al.

    Applying cloud computing in financial service industry

  • C. Janiesch et al.

    Optimizing the performance of automated business processes executed on virtualized infrastructure

  • J. Eder et al.

    Time constraints in workflow systems

  • A. Avanes et al.

    Adaptive workflow scheduling under resource allocation constraints and network dynamics

    Proc. VLDB Endow.

    (2008)
  • J. Yu et al.

    Workflow scheduling algorithms for grid computing

  • K.R. Baker et al.

    Principles of Sequencing and Scheduling

    (2009)
  • A. Strunk

    QoS-aware service composition: a survey

  • M.R. Garey et al.

    Computers and Intractability: A Guide to the Theory of NP-Completeness

    (1979)
  • J. Schad et al.

    Runtime measurements in the cloud: observing, analyzing, and reducing variance

    Proc. VLDB Endow.

    (2010)
  • G. Baggio et al.

    Applying scheduling techniques to minimize the number of late jobs in workflow systems

  • M.L. Pinedo

    Scheduling—Algorithms, and Systems

    (2012)
  • C. Combi et al.

    Task scheduling for a temporal workflow management system

  • A. Lanz et al.

    Time patterns for process-aware information systems

    Requir. Eng.

    (2012)
  • M.E. Frîncu et al.

    Comparing provisioning and scheduling strategies for workflows on clouds

  • S. Pandey et al.

    A particle swarm optimization-based heuristic for scheduling workflow applications in cloud computing environments

  • C. Szabo et al.

    Evolving multi-objective strategies for task allocation of scientific workflows on public clouds

  • W.M.P. van der Aalst et al.

    Workflow patterns

    Distrib. Parallel Databases

    (2003)
  • M. Xu et al.

    A multiple QoS constrained scheduling strategy of multiple workflows for cloud computing

  • E. Juhnke et al.

    Multi-objective scheduling of BPEL workflows in geographically distributed clouds

  • Cited by (0)

    Stefan Schulte is a Postdoctoral Researcher at the Distributed Systems Group at Vienna University of Technology and the project manager of the ongoing EU FP7 project SIMPLI-CITY—The Road User Information System of the Future (http://www.simpli-city.eu). His research interests span the areas of service-oriented computing and cloud computing, with a special focus on Quality of Service aspects. In 2010, he finished his Ph.D. at Technische Universität Darmstadt, Germany. Findings from his research have been published in more than 50 refereed scholarly publications. He serves as reviewer for prestigious conferences and journals, e.g., ACM Computing Surveys, ACM Transactions on the Web, or IEEE Transactions on Services Computing.

    Christian Janiesch is an assistant professor of Information Management at the Julius Maximilian University of Würzburg. He has been researching at the European Research Center for Information System (ERCIS) at the University of Münster, Germany, as a senior researcher at the SAP Research Center Brisbane, Australia, and as a senior research associate at the Karlsruhe Institute of Technology (KIT), Germany. He holds a Ph.D. from the University of Münster. His research interests for information system design span the areas of business process management, cloud computing, business intelligence, and complex event processing. He has authored over 60 refereed scholarly publications including papers for CAIS, BPMJ, BISE, ECIS, and ICIS. He serves as a track chair for the business analytics and knowledge management track at ECIS and has been reviewing for several ACM and IEEE journals.

    Srikumar Venugopal is a Lecturer in the School of Computer Science and Engineering in the University of New South Wales, Sydney, Australia and a researcher in the Service-Oriented Computing group in this school. His research interests lie in the area of large-scale distributed systems (clouds, grids, etc.), specifically in the topics of resource management and scheduling, application development, and middleware.

    Ingo Weber is a Senior Researcher in the Software Systems research group at NICTA in Sydney, Australia, as well as an Adjunct Senior Lecturer at the School of Computer Science and Engineering (CSE), University of New South Wales (UNSW). He has published over 50 refereed papers, acted as a reviewer for many prestigious journals, including several IEEE and ACM Transactions, and has served as PC member for WWW, ICSOC, AAAI, and many other conferences. Prior to NICTA, he worked for CSE at UNSW, and at SAP Research Karlsruhe, Germany. He is co-authoring a new book titled “DevOps: A Software Architect’s Perspective”.

    Philipp Hoenisch is a second year Ph.D. student at the Distributed Systems Group at Vienna University of Technology. Before starting his Ph.D., he collected hands-on software developing experiences in several Open Source projects. His research interests cover the whole spectrum of Cloud computing, with the main focus on cost-efficient automatic scaling in order to provide a high Quality of Service for elastic processes.

    View full text