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