business process modeling notation bpmn (1.0/1.1)

87
Tushar Jain Business Process Modeling Notation BPMN (1.0/1.1) Tushar Jain [email protected] http://architecture-soa-bpm-eai.blogspot.com/ http://oracle-fusion-middlware.blogspot.com/

Upload: tushar

Post on 18-Nov-2014

1.946 views

Category:

Documents


8 download

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