Model-Driven Development of Human Tasks for Workflows
Total Page:16
File Type:pdf, Size:1020Kb
Model-Driven Development of Human Tasks for Workflows Stefan Link1, Philip Hoyer1, Thomas Schuster2, Sebastian Abeck1 1Cooperation & Management, Universität Karlsruhe (TH), Germany 2FZI Forschungszentrum Informatik, Germany { link | hoyer | abeck } @ cm-tm.uka.de, [email protected] Abstract port human tasks [2]. As complexity of workflow de- velopment grows by integrating humans, complexity of In order to increase efficiency, enterprises support the supporting IT rises as well [3]. The great variety in their business processes by information technology platforms, operating systems and devices are just a few (IT). The majority of business processes requires hu- aspects that cause the present complexity. Hence, new man interaction. By means of human interaction the approaches to software development and software complexity of the supporting IT grows. Model-driven architectures arise to cope with that complexity. approaches to software development are a promising With Model-Driven Architecture (MDA) [4], the solution to be able to cope with this complexity. Ac- modeling of a software system gains additional values. cording to these approaches all aspects of the devel- The abstraction through models allows for a better oped software are captured in models and automati- overview to the whole software system and to over- cally transformed to source code of the desired plat- come heterogeneity and complexity [5]. Models are form. Currently there is still a lack of precise models used as basis for transformation to source code [3]. To for capturing necessary aspects of human interaction. provide automatic transformations to source code of Hence there is still a lot of manual development and any desired platform is one of the main goals of MDA. configuration work to do to enable humans to perform a task within IT supported business processes. In this Therewith, a high flexibility in software development, article we demonstrate an approach to model human a shortened software development time and an in- tasks for business processes and propose an extension creased software quality can be achieved [7]. to Service-Oriented Architecture (SOA) to support the Human tasks have to be dealt with as integral part execution of human tasks. A case study fortifies the of workflows [1]. Yet integrating human tasks to applicability of this approach. workflows still demands a high manual development and configuration effort. Although many details con- 1. Introduction cerning human tasks, like the role which is qualified to execute a task, are available in the early stages of a In order to stay competitive, enterprises try to align software development process, due to insufficient their business processes with IT. Business processes means, these details are unfortunately only captured in which can be completely supported by IT are focused an informal manner [8]. Thus, instead of an automated by this article and short referred to as workflows. As transformation as aimed by MDA, manual transforma- during the execution of workflows an interaction by a tion and configuration steps have to be executed. Be- human performing a task may be necessary, the human sides the effort, these manual steps often lead to error- interaction part has attracted interest of both research- prone software with significant quality losses [5, 6]. ers and industry recently. Integrating humans to a With Service-Oriented Architecture (SOA), a prom- workflow is accompanied by additional requirements ising approach to overcome heterogeneity of existing not only concerning the definition of the workflow software systems and for a flexible alignment of busi- itself but also the execution environment [1]. If a ness and IT has evolved. Hence, SOA additionally has workflow comprises human tasks, a user interface is to cope with the execution of human tasks. For in- needed. Also the human tasks have to be controlled to stance, there has to be some kind of service-like soft- ensure proper execution. Consequently, the underlying ware component monitoring and ensuring the execu- software architecture has to provide the means to sup- tion of human tasks. As many vendors still use their own process languages and individual software com- Kalnins und Vitolins [15] propose a comprehensive ponents to execute human tasks, a common approach UML profile, which allows for modeling resources and for SOA has to be established. human tasks. Therefore they extend the stereotype In summary there is the need for a means to capture CallBehaviourAction by a new stereotype CallHuman- manifold aspects of human tasks on a modeling level Task and add a partition called Performer. The parti- to reduce complexity and error-proneness at the same tion’s “represents” attribute references a class with time, while increasing the flexibility and quality of the stereotype OrgUnit or Position. Although explicit developed workflows. On the other hand a SOA sup- modeling of resources is possible, no improvement porting human tasks is necessary. supporting the workflow resource patterns is achieved. In this article, we therefore present an extension of Großkopf presents in [16] an extension of BPMN the Unified Modeling Language (UML) [9] enabling a via its future metamodel BPDM (Business Process platform-independent and easy to use modeling of Definition Metamodel) aiming for a better support of human tasks. The developed models are executable and the resource-perspective in BPMN. He extends activi- can be transformed to source code of any desired plat- ties by three further attributes and an association “as- form. This increases portability significantly. To prove sists” between activity and actor (resource). With this the applicability of our approach, we present a case extension a better support of workflow resource pat- study transforming the developed models to source terns is given but as BPDM is still a proposal no tool code for deployment on an extended SOA, which al- support for this extension is available. lows the execution of human tasks. To execute workflows in a service-oriented fashion, Accordingly, the remainder of this paper introduces within SOA mostly Web service compositions are used the state of the art in the context of model-driven de- [26]. The prominent execution language for these velopment focusing human tasks in section 2. In sec- compositions is the Business Process Execution Lan- tion 3 an extension to UML is presented and put into guage (BPEL). BPEL focuses consciously on the exe- practice by a case study. Necessary extensions for SOA cution of workflows without human interaction. Since to handle human tasks are discussed in section 4 fol- the aspect of human interaction is still very important lowed by a conclusion and outlook on future work in for most workflows, several vendors like IBM or Ora- this area closing the body of this paper. cle include proprietary BPEL elements in their execu- tion platforms to support human tasks. Using these 2. Related work proprietary elements, workflows specified with BPEL lose their interoperability and portability and cannot be UML and the Business Process Modeling Notation deployed on another vendor’s BPEL execution plat- (BPMN) [10] are just two of many well known model- form any longer. Facing this problem, IBM and SAP ing languages. Both languages can be used to model released a joint white paper named BPEL4People [1]. workflows as Wohed et al. state in [8, 11]. UML activ- Meanwhile two separate specifications BPEL4People ity diagrams and BPMN both support most of van der [18] and Web Service Human Task (WS-HumanTask) Aalst’s workflow control-flow patterns [12]. To be [19] have been released for standardization by the able to examine common modeling languages regard- Organization for the Advancement of Structured In- ing their abilities to specify data-flows or resource- formation Standards (OASIS). While BPEL4People related aspects, Russel et al. in [13] present 43 addresses integration of human tasks to workflows workflow resource patterns. Based on these 43 patterns using the new “PeopleActivity”, WS-HumanTask is they point out that both UML [8] and BPMN [14] are independent from BPEL. It on the one hand provides not sophisticated enough to allow a detailed modeling XML syntax for modeling human tasks and notifica- of data-flows or resource-related aspects like the inter- tions and on the other hand an API for accessing hu- action of a resource “human” and the data which is man task instances from a client or the lifecycle of manipulated by a human. Although the usage of con- newly created task instances. An evaluation of structs like pools, partitions or lanes allow for an allo- BPEL4People and WS-HumanTask conducted by cation of resources to actions within UML and BPMN, Russel and van der Aalst in [20] using their Workflow no further thorough resource-modeling of a role-model Resource Patterns shows a fair support. or escalation pattern for instance is possible. A different approach to use human interactions in To enable a complete modeling of workflows with BPEL processes is provided by Thomas, Parci et al. human tasks in BPMN or UML, several approaches to [2]. They use the concepts described in the [1], provide enrich the languages’ metamodels have been presented. XML syntax to define human tasks and integrate them into BPEL processes. As stated in this article, their approach requires an architectural extension with a component “People Activity Manager”, which coordi- nates task instances 3. Model-driven development of human tasks for workflows 3.1 Motivating example In this section we motivate, how a modeling of hu- man tasks can be supported and what benefit for soft- ware development yields from this approach. Since our approach makes use of MDA concepts, we use UML as recommended modeling language. A simple exam- ple workflow serves as case study: In the context of a university, a student’s registration for an exam should be processed electronically to speed up the registration Figure 1.