A Generic BPMS User Portal for Business Processes Execution Interoperability
Total Page:16
File Type:pdf, Size:1020Kb
A generic BPMS user portal for business processes execution interoperability Andrea Delgado, Daniel Calegari Instituto de Computacion,´ Facultad de Ingenier´ıa Universidad de la Republica´ Montevideo, Uruguay, 11300 fadelgado, dcalegarg@fing.edu.uy Abstract—A Business Process Management System (BPMS) REST/SOAP API that allows the portal and other applications integrates several software modules to support the business to invoke specific operations from the process engine. process (BP) lifecycle. A process modeler, process engine, a web There is a wide variety of BPMS, both open source and portal for interaction with users, and a REST/SOAP API which exposes operations from the engine are key ones. In previous proprietary, with different support levels for the BPs lifecycle. works we have evaluated several BPMS identifying similarities In previous works we have evaluated several BPMS [7], [8] in terms of the concepts they manage in their user portals and identifying similarities in terms of the concepts they manage the APIs they expose, and how the user portals became highly in their user portals and the APIs they expose. In such works coupled to the underlying process engine through the provided we have evidenced that user portals are usually tightly coupled API. We proposed a generic user portal that makes invocations to a generic API decoupling the portal from the specific process with the native process engine API. The independence between engine it invokes, which can be exchanged through the generic the front-end and the process engine provides means to migrate API invocation to different process engines. In this paper we from one process engine to another without affecting the user present an extension of this work by adding concepts to the experience, as well as offers a unified interaction layer for generic API and data model, a comparative analysis between external applications, similarly to the way applications already BPMS, as well as the implementation of adapters for three different engines to show its capabilities. work nowadays with many database management systems. Keywords: Business Process Management Systems (BPMS), Thus, in [9] we proposed a generic (process-independent) generic BPMS user portal, generic API and data model BPMS user portal which can be integrated (loosely coupled) with potentially any process engine for the execution of I. INTRODUCTION business processes. It is based on a unified data model and Business Processes (BPs) [1], [2], [3] describe how organi- a generic process engine API. zations carry out their business, identifying elements such as In this paper we present an extension of these works participants performing activities, the sequence order between by: improving the comparative analysis between BPMS and them, business rules, different paths of process execution, and expanding the concepts managed by unified data model and interactions with other participants, among others. Process- the generic process engine API. The contributions of this work Aware Information Systems (PAIS) [4] provide support for are threefold. In the first place, we extend the generic API and BPs driven execution as the core of the system. In this type data model to support the execution of BPs from the generic of systems, BPs drive the flow of the activities that are carried user portal we have defined, thus providing a complete and out within the organization, providing the basis for the analysis comprehensive definition of operations and concepts covering and continuous improvement of BPs. different BPMS approaches. In the second place, we present a Business Process Management Systems (BPMS) [1], [2], comparative analysis between six different BPMS, extending [5] are a specific type of PAIS supporting the BP lifecycle our previous analysis to include other attributes and elements based on an explicit representation of BPs. The business expanding the spectrum of process engines to which our process lifecycle [2] can be described as an iterative process solution can be integrated. Finally, we implement adapters involving the modeling and simulation of business processes, for three different engines and a runtime selection of process the software development for their support, their execution and engines without changing and/or implementing anything else its corresponding monitoring and evaluation. In this context, in the generic user portal, proving that it can be integrated any BPMS provides as key modules [1]: a process modeler with several and different process engines without changing usually based on a specific process modeling language, such the user experience and navigation between functionalities in as the Business Process Model and Notation (BPMN 2.0) [6]; a the portal. process engine which is able of executing such process model; The rest of this paper is organized as follows. In Section II a user portal, which is usually a web application, allowing we present and discuss related work. In Section III we present users to interact with the process engine in order to manage an extension of the BPMS evaluation, and in Section IV we processes, activities and other BPs execution elements; and a provide a description of the generic API and data model we 978-1-5386-3057-0/17/$31.00 c 2017 IEEE have extended to integrate with the generic user portal, along with the prototype implementation. In Section V we present A. BPMS portal evaluation revisited a case study regarding the implementation of the adapters for In this section we present the revision of new versions of three process engines: Camunda, Bonita and jBPM. Finally, the BPMS we have already evaluated, presenting new elements in Section VI we present some conclusions and future work. and key concepts. 1) Actitivi: II. RELATED WORK The new version of Activiti 6.0 was released on May 2017 In previous works [7], [8] we have evaluated several open with major changes at the application user interface including source and proprietary BPMS based on a defined list of key separated apps for different users, following the structure of functional and non-functional characteristics that this kind of the Alfresco Activiti commercial suite. After that Activiti tools must provide. We have identified some first level features 7.0 was released as a cloud application, being the 6.0 the that allow us to classify existing BPMS based on: category, last standalone release. Activiti also provides support for the type, process engine language and API type, which we used Decision Model and Notation (DMN) [13] standard [14]. to select a representative BPMS of each equivalence class. Web user portal: Activiti provides two new web applica- These representative BPMS were analyzed as a basis for our tions for users to interact with the Activiti process engine: definitions in [9]. In [9] we also provided a detailed descrip- TaskApp and IdentityApp. The TaskApp presents two menus: tion of other approaches that tried to unify BPM concepts. tasks and process, where it provides access to the working list Although we refer to such work for more information, it for a user to perform tasks, start processes and tasks, claim is worth mentioning some works that come from the initial and reassign tasks, query execution data, among others. The definition of Workflow Management Systems, as the Workflow IdentityApp is focus on admin users to create configurations Reference Model and the Workflow Management Facility and administer groups and users assign to them. In the Specification [10], [11] in which key functionalities for a commercial distribution also an AnalyticsApp is provided with workflow engine are defined. Also, in [12] some workflow dashboards for the execution of processes. systems functionalities are analyzed with focus on defining a Data Model: The concepts defined by Activiti remain the reference model for the management and monitoring interface. same as the ones we already evaluated. They correspond to Compared to these works, our proposal provides a unified view the following three categories: definition of processes (process, of concepts and relationships regarding the execution of BPs, task, variable, group, user), execution (process instance, task along with a highly decoupled view of the main components instance, variable instance, event, form data, etc.) and execu- of a BPMS for process execution. tion history (historic process instance, historic task instance, historic variable instance). It is also worth mentioning that our unified data model Generic API: Activiti provides a REST API to expose represents information related to process execution and user operations from the process engine, which also remains the worklist management, from the perspective of a user portal. It same as the one we already evaluated. Resources are managed means that it does not considers detailed information about grouped in sub APIs: Repository, Runtime, Identity, History, each process model and its corresponding configuration as Forms and Management. Access to any resource needs the any metamodel for classical process or workflow modeling user to be authenticated, for which Activiti uses the ”Basic languages, as BPEL or BPMN. As an example, within a authentication” as security method. user portal is enough to know if a user task is active and 2) Bizagi: its corresponding form, but not the events or sequence flows Version 11 of Bizagi was released on 2016 and subsequent related with it. sub versions were release under the 11 numbering being the 11.2 release the current. III. BPMS PORTAL EVALUATION Web user portal: Bizagi organizes the user portal in a In [9] we presented the analysis of three BPMS represent- single web application with six menus: home, inbox, new case, ing different combinations of the defined first level features: queries, reports and admin. In the home menu information of Activiti1, Bizagi2 and Bonita3, to compare the concepts and the user is organized and, in the inbox, menu access to the definitions they manage throughout their user portal and en- work list of the user is provided, to perform, manage and gine API.