Upload
hadiep
View
247
Download
0
Embed Size (px)
Citation preview
BPMN Series What is Needed for Process Automation?
© Good e-Learning 2014. All rights reserved.
BPMN Series
G o o d e - L e a r n i n g R e s o u r c e s : : w w w . g o o d e l e a r n i n g . c o m / d o w n l o a d s
What is Needed for Process Automation?Good e-Learning’s complete guide to BPMN 2.0
by Gregor Polančič
BPMN Series What is Needed for Process Automation?
© Good e-Learning 2014. All rights reserved.
Introduction
In the past, much of the BPMN standard was focused on non-executable BPMN.
• Process diagrams described logic in a way that could be read and understood by humans.
At the time, the only way to execute BPMN models was to map them to BPEL (Business Process Execution Language) notation
Task
Task
Task
<process><receive createInstance="yes" /><switch>
<case name="usa"><invoke name="install_firmware" />
</case><case name="france"><invoke name="install_firmware" />
</case></switch><reply variabele="status" />
</process>
BPEL
BPMN
BPMN Series What is Needed for Process Automation?
© Good e-Learning 2014. All rights reserved.
BPMN 2.0 Models can be Executable
BPMN v2.0 contains greater support for executable models
BPMN 2.0 defines both:• A common executable conformance sub-class, and • execution semantics for each element
Vendors of modeling tools are now able to establish executable models with BPMN 2.0
Task
Task
Task
/…/<exclusiveGateway gatewayDirection="Diverging" id="sid-258D9D8C-03A9-43B4-9481-B71EE7C4464B" name="">
<extensionElements><signavio:signavioMetaData metaKey="bgcolor"
metaValue="#ffffff"/></extensionElements><incoming>sid-487E9DE0-9488-469B-865C-
32A923523565</incoming><outgoing>sid-550AC674-2A66-49BC-B6B2-
56C342666E4F</outgoing><outgoing>sid-B535865E-A80E-4147-A083-
A92044C10BCD</outgoing></exclusiveGateway>
/…/ BPMN
BPMN
BPMN Series What is Needed for Process Automation?
© Good e-Learning 2014. All rights reserved.
Common Executable Conformance Sub-Class Elements
• Sequence Flow (unconditional)• Sequence Flow (conditional) • Sequence Flow (default) • Sub-Process (expanded) • Exclusive Gateway• Parallel Gateway • Start Event (None) • End Event (None) • Event-Based Gateway • User Task• Service Task
• Call Activity• Data Object• Text Annotation• Data Association • Message Start Event • Message End Event• Terminate End Event• Catching message Intermediate Event• Throwing message Intermediate Event• Catching timer Intermediate Event• Boundary error Intermediate Event
Note that these elements also have visual representation (icons)!
BPMN Series What is Needed for Process Automation?
© Good e-Learning 2014. All rights reserved.
BPMN 2.0 Process Automation
Additional information must be added if we want to execute a BPMN 2.0 model
Such information includes:• process variables• task input and output data• performers and user interface• conditional expressions for gateways• event definitions and messages
An example of how a task in BPMN in represented
as a web-form.
BPMN Series What is Needed for Process Automation?
© Good e-Learning 2014. All rights reserved.
Process Variables
Typically, process variables can be defined globally or locally
• If we define a variable globally, each activity or event has access to the data
• If we define a variable locally, only a specific activity has the access to a variable
Variables can usually be one of the following types:• String• Integer• Double• Boolean• Date-time
An example of how various data types can be represented in the
final application.
BPMN Series What is Needed for Process Automation?
© Good e-Learning 2014. All rights reserved.
Tasks
Tasks are tightly coupled with variables• e.g. variables are presented in the task in form of an input fields and
can be set (write) or get (read).
Common executable conformance sub-class defines two task types:• User task• Service task
Depending on the vendor, more types of tasks can be supported for the execution of BPMN models.
BPMN Series What is Needed for Process Automation?
© Good e-Learning 2014. All rights reserved.
User Tasks
A User task is usually represented in the form of a web or desktop application‘s user interface
Data displayed will depend on the global or local variables
Each user task must also define a performeri.e. a person who executes the task
BPMN Series What is Needed for Process Automation?
© Good e-Learning 2014. All rights reserved.
Service Tasks
A Service Task represents a web service or an automated application
Vendors usually create an automated application using different types of programming or script languages
Similarly to user task, service task is also tightly coupled with variables
BPMN Series What is Needed for Process Automation?
© Good e-Learning 2014. All rights reserved.
Gateways
Only three types of gateways are defined in a common executable conformance sub-class, namely:
• Exclusive gateway• Parallel gateway • Event-based gateway
Exclusive and event-based gateways commonly check for a condition or event on each outgoing sequence flow
• Because of this, vendors must provide a way to set conditions on each outgoing sequence flow
Exclusive
Parallel
Event-based
BPMN Series What is Needed for Process Automation?
© Good e-Learning 2014. All rights reserved.
Events and Messages (1/2)
The following events are supported by the common executable conformance sub-class:
• None start• None end • Message start• Message end• Terminate end• Catching message intermediate• Throwing message intermediate• Catching timer intermediate• Boundary error intermediate
Start Intermediate catch
Intermediate throw End
None start
Message start
Catch message
intermediate
Throw message
intermediate
Message end
None end
Catch timer intermediate
Boundary error
intermediate
Terminate end
BPMN Series What is Needed for Process Automation?
© Good e-Learning 2014. All rights reserved.
Events and Messages (2/2)
None start and end events start or end a process without any specific conditions
Executing throw (intermediate or end) message events are realized by mapping pool’s variables to messages
Executing catch (start or intermediate) message events are realized by mapping messages to pool’s variables
Terminate end events terminate a currently active application
Catching timer intermediate events are triggered when a defined date-time variable is fulfilled.
Boundary error events catch exceptions that usually occur in automated applications
BPMN Series What is Needed for Process Automation?
© Good e-Learning 2014. All rights reserved.
Summary
With the introduction of the BPMN 2.0 specification, vendors can now create software that enables business process model to be executed
The BPMN 2.0 specification provides a subset of BPMN elements that need to be supported as well as their semantics
In order to make a BPMN model executable, additional information must be added to the model(e.g. process variables, task input and output data, performers and user interfaces)
BPMN Series What is Needed for Process Automation?
© Good e-Learning 2014. All rights reserved.
Free Resource Librarywww.goodelearning.com/downloads
@goodelearning /goodelearning /company/good-e-learning
No part of this publication may be reproduced, resold, stored in a retrieval system, or distributed in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior permission of the copyright owner
Such requests for permission or any other comments relating to the material contained in this document may be submitted to: [email protected]