FROM CONCEPTUAL TO EXECUTABLE BPMN PROCESS MODELS Jrgen

FROM CONCEPTUAL TO EXECUTABLE BPMN PROCESS MODELS Jürgen Dorn partially based on slides by Marcello La Rosa & Marlon Dumas

The well-known gap… Executable BPMN Processes due to Dumas et al.

Conceptual Process Model Executable BPMN Processes • are made by domain experts • provide a basis for communication amongst relevant stakeholders • must be understandable • must be intuitive and may leave room for interpretation • contain purely a relevant set of process information

Executable Workflow Models Executable BPMN Processes • are made by IT experts • provide input to a process enactment system – Workflow Management System or Business Process Management System • must be machine readable (XML-based? ) • must be unambiguous and should not contain uncertainties • contain further details that are only relevant to implementation

Steps 1. 2. 3. 4. 5. Identify the automation boundaries Review manual tasks Complete the process model Adjust task granularity Specify execution properties Executable BPMN Processes

A running example Customer Seller Supplier 1 Supplier 2 Executable BPMN Processes

Executable BPMN Processes

Executable BPMN Processes 1. Identify the automation boundaries Principle: not all tasks can be automated -> Start by identifying each task’s type: 1. automated tasks 2. user tasks 3. manual tasks

In BPMN: specify task markers Automated tasks User task Executable BPMN Processes Manual task

In example… Executable BPMN Processes automated user manual

2. Review manual tasks Executable BPMN Processes Principle: if task can not be controlled by the WFMS, it does not exist • find ways to support manual tasks via IT: • via user task • via automated task • isolate them and automate the rest

3. Complete the process model Principle: exceptions are the rule • add exception handlers Principle: no data = no decisions, no tasks handover • specify all electronic business objects Executable BPMN Processes

In our example… Executable BPMN Processes

In our example… Executable BPMN Processes

4. Adjust task granularity Executable BPMN Processes Principle: BPMS adds value if they coordinate handovers of work between resources • aggregate any two consecutive tasks assigned to the same resource • refine tasks that are too coarse-grained

Our example… Executable BPMN Processes Before After Step 4 1

Executable BPMN Processes 5. Specify execution properties • to simplify mapping to BPMS engine • not visible in BPMN 2. 0 diagram • process variables • task and event variables and their mappings to process variables • service integration, connectors • participant assignment rules and user interface structure • sequence flow expressions

BPMN Definition (bpmn file) • imports • messages • signals • errors • service interface • service operations • resource classes • process • • Data Objects Events Tasks Flows Executable BPMN Processes

Process Variables Executable BPMN Processes • restricted to lifetime of process instance • e. g. purchase order • restricted to process level variable defined in subprocess is not visible in parent process • variable defined by data type • XSD type • simple (string, integer, double, Boolean, date, time, …) or • complex • used for different elements • complex types can be imported or defined in BPMN

Executable BPMN Processes Mapping of Task and Event Variables • task input • task output • data-based events • messages (in or out) • signals • errors • data association between process variable and process elements • Xpath 1. 0 • Java Universal Expression Language (UEL) • Groovy (script-based, java-oriented programming language)

Service Details Executable BPMN Processes • service task • external application requires service interface • communication protocol (typically WSDL 2. 0) • location of service • contains one or more service operations • synchronous operation (in and out parameters) • request message • wait for response message • or error message • asynchronous operation (only in parameters) • request message • no waiting of process • each message must be defined in the message part where the association of data types takes place • BPMS copies data in and out of service operation • send and receive task similar • message and signal events

Service Connectors Executable BPMN Processes • BPMSs provide some connectors for typical integrations • • querying a database sending an email notification posting a message to Twitter setting an event in Google calendar • requires certain arguments • sometimes wizards for automating • Apache Camel sophisticated framework for integration

Script Tasks Executable BPMN Processes • simple code execution defined internally • language dependent on execution engine • for example with Groovy • association of process variables to input and output parameters

User Tasks Executable BPMN Processes • association of data • assigning of user to task • potential owner • list of participants sharing certain characteristics (same role or belonging to same unit) • class of resources that can be assigned to this task • resource may be different to lane or pool • resource may have parameters (name and data type) (e. g. cost of person) • XPath expression to define which user to select • implementation of notification (dependent of engine) • worklist item • email notification • Web form

Sequence Flow Expressions • textual conditions in events, tasks and gateways • mapping to concrete Boolean expressions • loop condition • timer event • reference to data elements with XPath • also loop instance attributes Executable BPMN Processes

Summary Executable BPMN Processes • conceptual process model partially too abstract • we need to explicitly define details • most parts are supported by Business Process Management Systems in a non-graphical manner • integration of service tasks is a general problem of enterprise integration • integration of user tasks is a main difference between different BPMS • different BPMS use different programming languages • at http: //fundamentals-of-bpm. org/supplementarymaterial/miscellanea/ exists a detailed description how to automate the Loan. Assessment Process of the Fundamentals of BPM Book of Dumas et al.

Aspects of the Project to be presented Executable BPMN Processes • do you have knowledge / competences in the domain • how are your competences regarding business and programming distributed in the team • explain your process starting with a customer claim and ending with a provision of a value to the customer • which tasks will be implemented by the team members • • • type of task (user, automated, manual, …) required competences required IT resources (server, Web server, OS, programming language, . . . ) do you propose an innovative ICT where is a resource role used • which Key Performance/Process Indicators (KPIs) • how are these evaluated • which exception will be handled • how can other participants use your process

Groups in WFM Executable BPMN Processes • if you select your group in the left navigation menu • • you can edit and upload certain information Some ist only editable by moderator you will see feedback if available other groups may see some of the information
- Slides: 28