business process modeling notation bpmn (1.0/1.1)
DESCRIPTION
This is one of my presentation for BPMN training.TRANSCRIPT
Business Process Modeling Notation BPMN (1.0/1.1)Tushar [email protected] http://architecture-soa-bpm-eai.blogspot.com/ http://oracle-fusion-middlware.blogspot.com/
Tushar Jain
IntroductionThis tutorial introduces business process modeling using the BPMN process modeling standard. This session will show how BPMN can support different methodologies as well as different modeling goals (e.g., orchestration and choreography), using actual business processes as examples. Sample business models will also be presented and explored to illustrate the main concepts and notational innovations. Two short exercises (on paper) will give students the feel of modeling with the major BPMN model elements.Tushar Jain
AgendaBPMN Background Basic Concepts Exercise 1 Additional Concepts Process Modeling Methodologies Orchestration & Choreography Exercise 2 Complex Example Questions
Tushar Jain
AgendaBPMN Background Basic Concepts Exercise 1 Additional Concepts Process Modeling Methodologies Orchestration & Choreography Exercise 2 Complex Example Questions
Tushar Jain
What is Process Modeling?Background
The capturing of an ordered sequence of business activities and supporting informationBusiness processes describe how a business pursues its objectives
There are different levels of process modeling:Process Maps simple flow charts of the activities Process Descriptions flow charts extended with additional information, but not enough to fully define actual performance Process Models flow charts extended with enough information so that the process can be analyzed, simulated, and/or executed BPMN supports each of these levels
Tushar Jain
What is BPMN?Background
BPMN is flow-chart based notation for defining Business Processes BPMN is an agreement between multiple modeling tools vendors, who had their own notations, to use a single notation for the benefit of end-user understand and training BPMN provides a mechanism to generate an executable Business Process (BPEL) from the business level notationA Business Process developed by a business analyst can be directly applied to a BPM engine instead of going through human interpretations and translations into other languagesTushar Jain
A BPM HourglassBackground
Tushar Jain
BPMN 2.0Background
The Business Process Model and Notation is the name of the working proposal for BPMN 2.0. The vision of BPMN 2.0 is to have one single specification for a new Business Process Model and Notation that defines the notation, metamodel and interchange format but with a modified name that still preserves the "BPMN" brand. The proposed features includeAligning BPMN with the business process definition meta model BPDM to form a single consistent language Enabling the exchange of business process models and their diagram layouts among process modeling tools to preserve semantic integrity Expand BPMN to allow model orchestrations and choreographies as stand-alone or integrated models Support the display and interchange of different perspectives on a model that allow a user to focus on specific concerns Serialize BPMN and provide XML schemes for model transformation and to extend BPMN towards business modeling and executive decision support. A beta version of the specification is expected to be released in September, 2009, with the final release scheduled for June, 2010.Tushar Jain
Weaknesses of BPMNBackground
Ambiguity and confusion in sharing BPMN models Support for routine work Support for knowledge work, and Converting BPMN models to executable environments
Tushar Jain
AgendaBPMN Background Basic Concepts Exercise 1 Additional Concepts Process Modeling Methodologies Orchestration vs. Choreography Exercise 2 Summary QuestionsTushar Jain
Diagram ElementsConcepts
Activities Events Gateways Connectors Swimlanes ArtifactsTushar Jain
ActivitiesConcepts
An activity is a generic term for work to be performed. There are two Activity types:Task: An atomic activity. There are three types of markers for a Task: Loop Marker Multiple Instance Marker Compensation Marker
A Task may have one or two markers Sub-Process: A compound activity. The Sub-Process can be in a collapsed view that hides its details or in an expanded view that shows its details. There are five types of markers for a SubProcesses: Collapsed Marker (the plus sign) Loop Marker Parallel Marker Compensation Marker Ad Hoc Marker
A collapsed Sub-Process may have one to three of these other markers, in all combinations except that Loop and Multiple Instance cannot be shown at the same time.Tushar Jain
EventsConcepts
An event affects the flow of the process and is usually associated with a Trigger that defines the cause of the event. There are three types of Events, based on when they affect the flow:Start Event Intermediate Event End Event
Tushar Jain
GatewaysConcepts
A Gateway is used to control the divergence and convergence of Sequence Flow. Thus, it will determine branching, forking, merging, and joining of paths. Internal markers will indicate the type of behavior control. There are five types of gateways:
Tushar Jain
ConnectorsConcepts
A Sequence Flow is used to show the order that activities will be performed in a Process. Sequence Flow may be:
A Message Flow is used to show the flow of messages between two entities that are prepared to send and receive them. Sequence Flow is not allowed between Pools. An Association is represented with a dotted line. An arrowhead may be added to indicate the flow direction. Associations are used to associate an Artifact, data or text to an Object. A directional Association is used to show that a Data Object is either an input to or an output from an activity.Tushar Jain
ActivitiesConcepts
Tushar Jain
TasksConcepts
Tushar Jain
Sub ProcessesConcepts
Tushar Jain
EventsConcepts
Tushar Jain
Start EventsConcepts
Tushar Jain
Intermediate EventsConcepts
Tushar Jain
Intermediate Events (Normal Flow)Concepts
Tushar Jain
Intermediate Events (Attached to Boundary)Concepts
Tushar Jain
End EventsConcepts
Tushar Jain
GatewaysConcepts
Tushar Jain
Exclusive GatewaysConcepts
Tushar Jain
Exclusive Gateways, Based on DataConcepts
Tushar Jain
Exclusive Gateways, Based on EventsConcepts
Tushar Jain
Inclusive GatewaysConcepts
Tushar Jain
Complex GatewaysConcepts
Tushar Jain
Parallel GatewaysConcepts
Tushar Jain
ConnectorsConcepts
Tushar Jain
Sequence FlowConcepts
Tushar Jain
Conditional Sequence FlowConcepts
Tushar Jain
Default Sequence FlowConcepts
Tushar Jain
Message FlowConcepts
Tushar Jain
AssociationsConcepts
Tushar Jain
SwimlanesConcepts
Tushar Jain
PoolsConcepts
Tushar Jain
LanesConcepts
Tushar Jain
ArtifactsConcepts
Tushar Jain
Text AnnotationsConcepts
Tushar Jain
Data ObjectsConcepts
Tushar Jain
GroupsConcepts
Tushar Jain
Artifacts are ExtendibleConcepts
Tushar Jain
AgendaBPMN Background Basic Concepts Exercise 1 Additional Concepts Process Modeling Methodologies Orchestration & Choreography Exercise 2 Complex Example Questions
Tushar Jain
Exercise 1Exercise 1
In this exercise you will given a set of short answer questions that cover the basic BPMN elements Some questions will require a written answer and some will require a (simple) drawn answer
Tushar Jain
Questions: Set 1Exercise 1
What is the difference between a Task and a Sub- Process? Draw a Task with a timeout and the followup to the timeout What are the main restrictions for Sequence Flow?
Tushar Jain
Answers: Set 1Exercise 1
What is the difference between a Task and a Sub-Process?A Sub-Process can be broken down into a lower level detail (another Process) while a Task cannot
Draw a Task with a timeout and the followup to the timeoutSee picture
What are the main restrictions for Sequence Flow?A Sequence Flow can only connect Activities, Events, and Gateways, they cannot cross the boundary of a SubProcess or the boundary of a PoolTushar Jain
Questions: Set 2Exercise 1
What are the rules for Message Flow connections? Draw two ways that data can be output from one Task and then input into another Task Why do the different behaviors of the Gateways share the same basic diamond shape?
Tushar Jain
Answers: Set 2Exercise 1
What are the rules for Message Flow connections?They must connect from the boundary or object within a Pool to the boundary or object within a different Pool
Draw two ways that data can be output from one Task and then input into another TaskSee figures
Why do the different behaviors of the Gateways share the same basic diamond shape?Gateways represent a controlling mechanism for Sequence Flow. A diamond in the model shows a place where Sequence Flow control is neededTushar Jain
Questions: Set 3Exercise 1
How can Artifacts be used to enhance the information content of a BPMN diagram? Draw a timed delay in a process What do Pools represent?
Tushar Jain
Answers: Set 3Exercise 1
How can Artifacts be used to enhance the information content of a BPMN diagram?New Artifacts can be created and added to the diagram to allow visualization of key model factors
Draw a timed delay in a processSee figure
What do Pools represent?Participants in a Process diagram, either a specific entity (e.g., PSTN) or a business role (e.g., Shipper)
Tushar Jain
Questions: Set 4Exercise 1
Whats the difference between Exclusive and Inclusive Gateways? Draw the synchronization of two parallel paths What do Lanes generally represent? And what can they represent?
Tushar Jain
Answers: Set 4Exercise 1
Whats the difference between Exclusive and Inclusive Gateways?Only one outgoing path is chosen for Exclusive Gateway while at least one to all outgoing paths may be chosen for an Inclusive Gateway
Draw the synchronization of two parallel pathsSee figure
What do Lanes generally represent? And what can they represent?The mostly are used to represent organizational roles (e.g., Employees) or departments (e.g., Sales). The can represent most any object attribute that the modeler wants to use to partition activitiesTushar Jain
Questions: Set 5Exercise 1
How to Associations affect the main flow of a Process? Draw a Message Flow between one white box Participant and one black box Participant What are the rules for adding marker or icons to activities?
Tushar Jain
Answers: Set 5Exercise 1
How to Associations affect the main flow of a Process?They dont. They can only affect the requirements for an activity
Draw a Message Flow between one white box Participant and one black box ParticipantSee figure
What are the rules for adding marker or icons to activities?The marker or icon cannot change the footprint of the activity and cannot conflict with any standard BPMN element
Tushar Jain
AgendaBPMN Background Basic Concepts Exercise 1 Additional Concepts Process Modeling Methodologies Orchestration & Choreography Exercise 2 Complex Example Questions
Tushar Jain
Normal FlowConcepts - 2
Normal Sequence Flow refers to the flow that originates from a Start Event and continues through activities via alternative and parallel paths until it ends at an End Event Normal Flow does not include exception flow or compensation flow
Tushar Jain
Link Events Within a ProcessConcepts - 2
Link Events can be used for Off-Page connectors Link Events can be used as Go-To objects
Tushar Jain
Process LevelsConcepts - 2
Processes can be developed hierarchically, with multiple levels through Sub-Processes Sequence Flow cannot cross a Sub-Process boundaryMessage Flow and Associations can cross SubProcess boundaries
Tushar Jain
Data FlowConcepts - 2
Tushar Jain
Exception HandlingConcepts - 2
Intermediate Events attached to the boundary of an activity represent triggers that can interrupt the activity. All work within the activity will be stopped and flow will proceed from the Event. Timer, Errors, Messages, etc. can be Triggers.
Tushar Jain
Compensation and TransactionsConcepts - 2
A Transaction is an activity that has a double border. Transactions are supported by a transaction protocol (e.g. WS-Transaction) Normal Outgoing Sequence Flow represents the path to follow a successful completion A Cancel Intermediate Event represents the path to follow a cancelled completion An Exception Intermediate Event represents the path to follow a transaction hazard (but no compensation is performed) Activities used for compensate (with marker) are outside normal flow and are Associated normal activities. Compensation flows backwards.
Tushar Jain
LoopingConcepts - 2
Tushar Jain
TimersConcepts - 2
Tushar Jain
AgendaBPMN Background Basic Concepts Exercise 1 Additional Concepts Process Modeling Methodologies Orchestration & Choreography Exercise 2 Complex Example Questions
Tushar Jain
Process Modeling MethodologiesMethodologies
BPMN is intended to be methodology independentSimple or complex diagrams can be created based on the chosen methodology Methodologies determine what information is captured about a process
Many different methodologies can be used for modeling with BPMNSome may require extended Artifacts
Examples of methodologies:LOVeM, EPCs, RAD methodology, IDEF Consulting organization methodologiesTushar Jain
General Modeling ConceptsMethodologies
A process is chronological. Accurate models should be oriented on a time line (in general, from left to right in sequence) Processes generally begin with triggering events, and work their way through to significant business resultsThey can also represent smaller segments of re-usable work
All tasks or activities are assigned to roles that are meaningful to people in the business. Be sure you have captured all relevant roles, which may sometimes be outside of the clients company A complete model should display how objects or data (or both) are transferred and where they are going A process can be modeled in a hierarchical fashion (e.g., with Sub-Processes) The choices made for decisions, which occur within a process, determine which of all potential paths will be takenTushar Jain
General Modeling GuidelinesMethodologies
Establish organization standards or guidelines for developing models and naming model elements, e.g.,Establish naming conventions for each type of modeling object. For example, all activity names could have the following format verb + (adjective/descriptor) + noun example: Verify Account
Avoid redundancy in naming, e.g., do not include the word Process in the Process names or the words Task or Activity in Task names To help with report outputs, names should be 32 characters or less To help with readability, all words should be capitalized
Establish a set of standard nouns, verbs, and acronyms that are used for naming objects Establish standards for versioning methods associated at the process model and artifact level to provide requirement traceabilityTushar Jain
AgendaBPMN Background Basic Concepts Exercise 1 Additional Concepts Process Modeling Methodologies Orchestration & Choreography Exercise 2 Complex Example Questions
Tushar Jain
Orchestration vs. ChoreographyOrchestration & Choreography
Orchestration: Workflow, internal processes, private processesContained within one Pool
Choreography: Collaboration, global processes, B2B processesDefined by the interaction between Pools
Tushar Jain
OrchestrationOrchestration & Choreography
Orchestration defines processes that are internal to a specific organizationThus, they are contained within a single Pool
Tushar Jain
ChoreographyOrchestration & Choreography
A Choreography process depicts the interactions between two or more business entities (as modeled with Pools) Shown by the Message Flow between the Pools Or a sequence of interaction (global) types of activities
Tushar Jain
AgendaBPMN Background Basic Concepts Exercise 1 Additional Concepts Process Modeling Methodologies Orchestration & Choreography Exercise 2 Complex Example Questions
Tushar Jain
Create a Process for Expense ReimbursementExercise - 2
In this exercise you will read a text descriptive information about a process and will map the process on paper The process is a sample expense reimbursement process:This process provides for reimbursement of expenses incurred by employees for the company. For example buying a technical book, office supplies or software. In a normal day there are several hundreds of instances of this process created.
Concentrate on the basic flow of the ProcessTushar Jain
Process Information: Expense ReimbursementExercise - 2
After the Expense Report is received, a new account must be created if the employee does not already have one The report is then reviewed for automatic approvalAmounts under $200 are automatically approved Amounts equal to or over $200 require approval of the supervisor In case of rejection, the employee must receive a rejection notice by email
The reimbursement goes to the employees direct deposit bank account If no action has happened in 7 days, then the employee must receive an approval in progress email If the request is not finished within 30 days, then the process is stopped and the employee receives an email cancellation notice and must re-submit the expense report
Tushar Jain
AnswerExercise - 2
Tushar Jain
AgendaBPMN Background Basic Concepts Exercise 1 Additional Concepts Process Modeling Methodologies Orchestration & Choreography Exercise 2 Complex Example Questions
Tushar Jain
Complex ExampleComplex Example
Tushar Jain
Complex ExampleComplex Example
The BPM model shown is for a Travel Agency that receives the customers trip criteria and displays matching flight and hotels. Once the customer makes a selection, the agency charges the customers credit card and books the flight and hotel. An itinerary is sent to the customer and a link to the airline check-in website is sent to the customer 24hrs before the trip date. The modeler follows the 6 steps.Tushar Jain
Create a Process for Expense ReimbursementComplex Example
Define the Process Participants (Pools): Start by defining the process participants. In the example shown, there are three participants: The Customer, The Travel Agency and the Financial Institution. The process is developed from the point of view of the Travel Agency, hence, the Customer and the Financial Institution are considered as external Participant who will be communicated with using messages. Each Participant is represented as a Pool. Define the level of activity detail to show within each Pool: If the activities performed by a participant are irrelevant and instead the process is focused on the messages exchanged with the participant, then the process model shows minimal (like in the case of the Financial Institution) to no activities (like in the case of the Customer) within that Pool. Define how to categorize the activities within each Pool: Since it is necessary to distinguish between the automated activities performed by the Travel Agencys website and the manual activities performed by the Customer Service dept, the two are shown as two Lanes within the Travel Agency Pool.
Tushar Jain
Create a Process for Expense ReimbursementComplex ExampleDefine the activities that lead to a successful end: Note: the following steps correspond to the steps in the BPMN diagram belowDefine the starting event of the process. The process starts when the web site receives a message from the customer with the desired flight and hotel room criteria. (flight dates, no. of stops, no. of nights, hotel rating, etc). (BPMN: Start Message Event) The web site performs two sub-processes simultaneously (in parallel) to retrieve the flights and hotel rooms that meet the customer criteria. (BPMN: Parallel Expanded Sub-Process) The Web site presents the available flights and hotel rooms to the customer. The website decides the next step based on the event that will take place, which will be one of three: a) no customer response for 15 minutes (which may make the displayed flights and hotel rooms obsolete), b) the customer requests to continue booking with a selected flight and hotel room, and c) receive the customers request to cancel. (BPMN: Event-Based Gateway) In the happy path, the process will receive a message from the customer with a request to continue booking for selected flight and hotel room. (BPMN: Intermediate Message) The website requests and gets the customers credit card information. The website requests authorization from the Financial Institution to charge the customers credit card. (BPMN: Task with a possible Time-out Exception Flow). Execution within the Travel Agencys lane is paused (step 9) waiting for a response from the Financial Institution. The Financial Institution processes the authorization request. The Financial Institution sends back the authorization request response. The paused website receives the response and continues execution. The website evaluates the response received (BPMN: Data-Based Decision Gateway). In the happy path, the credit card charge is authorized. (BPMN: Default Flow). The website performs a transaction that includes two activities: booking the flight and booking the hotel room. The Transaction insures that all activates are completed successfully or all of them will be cancelled. (BPMN: Transaction). In the happy path, the booking is successful for both. The website prepares the trip itinerary. The website emails the trip itinerary to the customer. At the same time (in parallel), the Customer Service dept mails the paper itinerary to the customers physical address. The process continues when both itineraries are sent to the customer. (BPMN: Parallel Join) The website closes the order. The website waits until 24 hrs before the trip date. The website emails the customer a link to the airlines check-in website. (BPMN: Sub-process with Activity Looping) The process ends successfully.
Tushar Jain
Create a Process for Expense ReimbursementComplex Example
Define the alternate paths that lead to a successful end: First Alternate Path: At step 7, if the request to authorize the credit card times out (more than 10 seconds), then the flow is routed to steps: 22, 23, 24, 8, 9, 25, 26, 27, 28 and resumes at step 15. Second Alternate Path: At step 13, if booking fails for the first, second or third time, then the flow is routed to steps: 29, 30, and resumes at step 13. Examine the model to find more alternate paths. Define the exception paths that will not lead to a successful end: First Exception Path: At step 4, if the system waits for 15 minutes without receiving a response from the customer, the flow is routed to steps: 39, 40, 41, 42, 43 and 21. Second Exception Path: At step 11, if the credit card charge are not authorized, the flow is routed to steps: 50, 51, 52, 42, 43, and 21.Examine the model to find more alternate paths.
Tushar Jain
SummarySummary
Tushar Jain
Questions
Tushar Jain
Hindi
Thai
Traditional Chinese Russian
GraciasSpanish
Thank YouArabic
ObrigadoBrazilian Portuguese
GrazieItalian Simplified Chinese
DankeGerman
MerciFrench Korean
Tamil
Japanese
Tushar Jain