Upload
buikhanh
View
213
Download
0
Embed Size (px)
Citation preview
1
Business Integration Technologies
© 2009 IBM Corporation
Designing Business Process Management Solutions using Open Standards and Patterns
Part 2: Business Process Modeling Notation BPMN
Dr. Jana KoehlerIBM Zurich Research Laboratory
Business Integration Technologies
© 2009 IBM Corporation2 Business Process Management
Learning Objectives
� Understand and apply key concepts of the Business Process Modeling Notation (BPMN) – V 2.0
– process vs. choreography modeling
– activities, events, gateways
– execution semantics
– soundness = absence of lack of synchronization errors and deadlocks
� Exercise: BPMN model of the T Order management process
2
Business Integration Technologies
© 2009 IBM Corporation3 Business Process Management
Business Process Modeling Notation (BPMN)
� First initiative to develop a notation: September 2000
� Version 1.0 of the BPMN Standard (OMG): May 2004
– set of graphical symbols, informal semantics, many examples, first vendor support
� Version 1.1 with minor bug fixing: August 2007, about 60 vendors
� Version 2.0 accepted (Accenture, IBM/SAP/Oracle et al) in June 2009
– metamodel (unique exchange format), formally described semantics
events
gatewaysactivities
sequence flows
a first impression
�BPM for business and IT users
� graphical flow at business level
� textual refinements towards IT and runtime
Business Integration Technologies
© 2009 IBM Corporation4 Business Process Management
Activity-Oriented Modeling of Behaviors
� Most commonly used and best understood approach
� Well established in various disciplines
– software modeling: UML activity diagrams
– “business informatics”: Event-driven Process Chains (EPC)
– IT systems: workflows
� Major concepts shared by all approaches
– activity (task, function, action) and its refinement into a subprocess
– explicitly prescribed order of activities in a flow diagram
– special types of diagram nodes to capture flow branching behavior (gateways, rules, connectors, control nodes)
• parallel + alternative branching, cycles
� We cover only a subset of the available modeling el ements
3
Business Integration Technologies
© 2009 IBM Corporation5 Business Process Management
EPC vs. BPMN vs. UML AD Notation
EPC
UML
BPMN
AcceptOrder
Validate Order
AnalyzeOrder
PerformCredit Check
RejectOrder
Reject
Accept
BPMN subsumes ARIS EPC
Business Integration Technologies
© 2009 IBM Corporation6 Business Process Management
BPMN Standard
� BPM for business users as well as IT users
– acceptable and usable by the business community for general process modeling
– able to generate executable processes through a combination of graphical elements and supporting information (attributes)
� 2.0 standardization:
– metamodel for syntactic interoperability
– execution semantics to support semantic interoperability
– better support for data modeling and choreographies (protocol specification)
– BPMN to BPEL mapping to leverage existing BPEL technology
4
Business Integration Technologies
© 2009 IBM Corporation7 Business Process Management
BPMN Scope
� A modeling language -not a methodology!
� BPMN is intended to be methodology agnostic– methodologies will give
guidance as to the purpose and level of detail for modeling
– “BPMN is as complex as it needs to be. Just use what you need…”(Steven White)
Business Integration Technologies
© 2009 IBM Corporation8 Business Process Management
Main Diagram Elements
5
Business Integration Technologies
© 2009 IBM Corporation9 Business Process Management
Main Diagram Elements: Activities
� Distinguished step in the process that
– takes a set of inputs and converts them into a set of outputs (either or both sets may be empty)
– encapsulates a specific business function
� Task (atomic process step, not further refined in the current model)
� Subprocess (refined with a another BPMN diagram)
Business Integration Technologies
© 2009 IBM Corporation10 Business Process Management
Task Marker and Types of Tasks
manual (outside BPMS)
business rules task
script task (code for BPMS)
loop task
multi-instance task
compensation task
send task
receive task
service task
user task
6
Business Integration Technologies
© 2009 IBM Corporation11 Business Process Management
Main Diagram Elements: Connectors
� Sequence Flow
� Message Flow
� Association
Business Integration Technologies
© 2009 IBM Corporation12 Business Process Management
Main Diagram Elements: Artifacts
7
Business Integration Technologies
© 2009 IBM Corporation13 Business Process Management
Group Across Pools
Business Integration Technologies
© 2009 IBM Corporation14 Business Process Management
Data Flow
� Sequence and data flow are either decoupled or bound together
8
Business Integration Technologies
© 2009 IBM Corporation15 Business Process Management
Ad-Hoc Process for writing a book chapter
Business Integration Technologies
© 2009 IBM Corporation16 Business Process Management
Data and Sequence Dependencies in the Write Book Ch apter Process
9
Business Integration Technologies
© 2009 IBM Corporation17 Business Process Management
Main Diagram Elements: Events
� Example of a rather vague definition (from the BPMN 2.0 Spec, p. 239):
– … something that “happens” during the course of a business process
– affects the process flow and usually has a cause or impact and in general requires or allows for a reaction
� A more specific definition (from the ARIS Method 7.0, 4-98, 10/2006)
– “By an event we understand the fact that an informa tion object has taken on a business-relevant state which is con trolling or influencing the further procedure of the business p rocess.”
Business Integration Technologies
© 2009 IBM Corporation18 Business Process Management
Events in EPC and BPMN
event = object + state
10
Business Integration Technologies
© 2009 IBM Corporation19 Business Process Management
Event Types
Business Integration Technologies
© 2009 IBM Corporation20 Business Process Management
Intermediate Events within normal Sequence Flow
� Represent things that happen during the normal operations of theprocess
– creation of the event (e.g. the sending of a message)
– response to the event (e.g. the receipt of a message)
message throwing message catching
11
Business Integration Technologies
© 2009 IBM Corporation21 Business Process Management
Intermediate Events attached to an Activity Boundar y
� Indicate that the activity should be interrupted when the event is triggered
– can be attached to either Tasks or Sub-Processes
� Used for error handling, exception handling, and compensation
intermediate timer, boundary, interrupting
Business Integration Technologies
© 2009 IBM Corporation22 Business Process Management
Boundary Events
compensation events connecting to compensation tasks
non-interrupting message
interrupting error
12
Business Integration Technologies
© 2009 IBM Corporation23 Business Process Management
Link Events used as Off page Connector
Business Integration Technologies
© 2009 IBM Corporation24 Business Process Management
Pools and Lanes� Pools represent participants in an interactive (B2B) Business Process Diagram
– only message flow between pools
� Lanes represent sub-partitions for the objects within a pool
13
Business Integration Technologies
© 2009 IBM Corporation25 Business Process Management
Main Diagram Elements: Gateways
� Exclusive (XOR) – Decision/Merge
� Event-based
� Inclusive (OR/IOR) – OR-Split/OR-Join
� Parallel (AND) – Fork/Join
� Complex
Business Integration Technologies
© 2009 IBM Corporation26 Business Process Management
Process initiated by Event-based Gateway
message
conditional
signal
intermediate events
14
Business Integration Technologies
© 2009 IBM Corporation27 Business Process Management
Inclusive Gateway (OR)
Parallel Gateway (AND)
Exclusive Gateway (XOR)
Main Diagram Elements: Gateways
Semantics described in terms of token flow (from Petri Net Theory)
� State of the business process = distribution of tokens (marking) in the diagram
� Petri Net Theory offers a calculus of equations over token distributions
complex gateway: split behavior of OR + activation condition
Business Integration Technologies
© 2009 IBM Corporation28 Business Process Management
OR-Join Semantics (page 438)
� Long-standing open research problem
– Find a semantics that fits intuition but can be formalized
– Find right trade-off between expressivity and tractability
– Define in such a way that it complies with current execution in BPEL
� “The Inclusive Gateway is activated if t least one incoming sequence flow has at least one Token and for each empty incoming sequenceflow, there is no Token in the graph anywhere upstream of this sequence flow.”
� Upstream: there is no directed path (formed by Sequence Flow) from a Token to this sequence flow unless the path visits the inclusive gateway or the path visits a node that has a directed path to a non-empty incoming sequence flow of the inclusive gateway.
� Upon execution, a Token is consumed from each incoming sequence flow that has a Token. A Token will be produced on some of the outgoing sequence flows. In order to determine the outgoing sequence flows that receive a Token, all conditions are evaluated. The evaluation does not have to respect a certain order. For every condition, which evaluates to true, a Token must be passed on the respective sequence flow. If and only if none of the conditions evaluates to true, the Token is passedon the default sequence flow. In case all conditions evaluate to false and a default flow has not been specified, the inclusive gateway throws an exception.
15
Business Integration Technologies
© 2009 IBM Corporation29 Business Process Management
OR-Join Example
For which tokens must these OR-Joins wait?
T1
T2
Business Integration Technologies
© 2009 IBM Corporation30 Business Process Management
Example“Orchestration”
no pools and no message flows
16
Business Integration Technologies
© 2009 IBM Corporation31 Business Process Management
Collaboration Models - Public and Private Processes
Business Integration Technologies
© 2009 IBM Corporation32 Business Process Management
Choreography Model
� A self-contained Choreography (no Pools or Orchestration) is a definition of the expected behavior, basically a procedural contract, between interacting Participants. While a normal Process exists within a Pool, a Choreography exists between Pools (or Participants). (p. 44)
17
Business Integration Technologies
© 2009 IBM Corporation33 Business Process Management
Choreography combined with Private Processes
Business Integration Technologies
© 2009 IBM Corporation34 Business Process Management
Choreography within Collaboration
18
Business Integration Technologies
© 2009 IBM Corporation35 Business Process Management
Choreography Partners in Orchestration Model
Business Integration Technologies
© 2009 IBM Corporation36 Business Process Management
Conversation DiagramA Conversation is the logical relation of Message exchanges.
19
Business Integration Technologies
© 2009 IBM Corporation37 Business Process Management
Exercise: The “T” Order Management Process
Task 2
Task
1
� Task 1: Complete the initial diagram of the T Order Management process
� Task 2: Model the Create New Service process
Business Integration Technologies
© 2009 IBM Corporation38 Business Process Management
Task 1: “T” Order Management Process
� Following the Reuse Transmission? decision:
– yes: reserve the transmission
– no: search for alternatives
• yes: determine the cost, confirm with the customer, does the customer accept?– yes: continue after the transmission reservation activity– no: close the request
• no: decline the request from the customer, close the request
� After a transmission has been reserved, switch on the service and schedule a visit at the site.
� Finally, update the customer service record and adjust the billing system.
20
Business Integration Technologies
© 2009 IBM Corporation39 Business Process Management
Task 2: Model the “Create New Service” Subprocess
� If a customer requests a new PSTN service, we first need to validate if the service is really offered at the requested time. A service offer may be restricted to a specific advertising period or it may not be available when the customer wants to have it provided. If the service request is valid, we continue to perform three checks, otherwise we close the request.
� The three checks that are independent of each other, but must all three be performed
– Eligibility of the customer for the service, e.g., is the customer eligible for an age-specific service or a service that can only be used in a bundle with other services?
– Credit history of the customer: is he paying well, what customer status does he have and does this imply constraints on the requested service?
– Technical prerequisites: is the service available at the requested location?
� The result of these checks is that the service is either possible or not. In the “no”case, we want to review other possibilities with the customer and iterate the subprocess again, i.e., begin with validating another service alternative, check the 3 criteria, etc.
IBM Zurich Research Laboratory - Business Integration Technologies
© 2008 IBM Corporation40 Business Process Management
Background Reading
� All on BPMN http://www.bpmn.org/
� S. White, D. Miers, L. Fischer: BPMN Modeling and Reference Guide, Future Strategies, 2008
� The ORYX Editor at Hasso Plattner Institute
– http://bpt.hpi.uni-potsdam.de/Oryx
� B. Silver: BPMN Method and Style, Cody Cassedy Press, 2009
� OMG BPMN 2.0 Specification
– OMG Document bmi/2009-05-03
21
IBM Zurich Research Laboratory - Business Integration Technologies
© 2008 IBM Corporation41 Business Process Management
Summary Part 2
� BPMN is a key standard for BPM – 2.0 version provides
– expressive process modeling capabilities
– support for orchestration, conversation and choreography modeling to integrate business processes
– precisely defined execution semantics for better simulation and implementation
• textual refinements of the graphical model for direct IT executability
– unique metamodel for model exchange across tools