Introduction To BPMN - OMG

Transcription

IBM Software GroupIntroduction to BPMNStephen A. White, BPM Architect, IBMOctober 16, 2006 IBM Corporation

IBM Software Group WebSphere softwareIntroductionThis tutorial introduces business process modelingusing the BPMN process modeling standard. Thissession will show how BPMN can support differentmethodologies as well as different modeling goals(e.g., orchestration and choreography), usingactual business processes as examples. Samplebusiness models will also be presented andexplored to illustrate the main concepts andnotational innovations. Two short exercises (onpaper) will give students the feel of modeling withthe major BPMN model elements.2

IBM Software Group WebSphere softwareTopicsBPMN BackgroundBasic ConceptsExercise 1Additional ConceptsProcess Modeling MethodologiesOrchestration vs. ChoreographyExercise 2Summary3

IBM Software Group WebSphere softwareBackgroundWhat is Process Modeling?The capturing of an ordered sequence of business activitiesand supporting informationBusiness processes describe how a business pursues itsobjectivesThere are different levels of process modeling:Process Maps – simple flow charts of the activitiesProcess Descriptions – flow charts extended withadditional information, but not enough to fully define actualperformanceProcess Models – flow charts extended with enoughinformation so that the process can be analyzed, simulated,and/or executedBPMN supports each of these levels4

IBM Software Group WebSphere softwareBackgroundWhat is BPMN?BPMN is flow-chart based notation for defining BusinessProcessesBPMN is an agreement between multiple modeling toolsvendors, who had their own notations, to use a single notationfor the benefit of end-user understand and trainingBPMN provides a mechanism to generate an executableBusiness Process (BPEL) from the business level notationA Business Process developed by a business analyst canbe directly applied to a BPM engine instead of going throughhuman interpretations and translations into other languages5

IBM Software Group WebSphere softwareBackgroundOrigins of BPMNThe Business Process Management Institute (BPMI—now a part ofthe OMG) develops BPML (an XML process execution language) andrealizes need for a graphical representationBPML was later replaced by BPEL as the target executionlanguageAugust, 2001, the Notation Working Group is formed. The group wascomposed of 35 companies, organizations, or individuals.BPMN 1.0May, 2004, the BPMN 1.0 specification was released to thepublic.February, 2006, BPMN 1.0 was adopted as an OMG standardCurrently, there are 39 companies that have implementations ofBPMN6

IBM Software Group WebSphere softwareBackgroundA BPM HourglassAudiences:Business EnvironmentPurposes:BPMNModelingStrategy ConsultantsBusiness AnalystsProcess DesignersSystem ArchitectsIntersectionPointBP ScopeBPELExecutionSoftware EngineersTechnology ImplementationCopyright 2005, OMG7

IBM Software Group WebSphere softwareBackgroundBPMN Development DriversMust be acceptable and usable by the business communityMust be able to generate executable processes (e.g., BPEL)through a BPMN Model (a combination of graphical elementsand supporting information (attributes))Although executable processes triggered the development ofBPMN, it was expected that BPMN would be used for moregeneral business purposesBPM is intended to be Methodology AgnosticMethodologies will give guidance as to the purpose andlevel of detail for modelingBPMN is as complex as it needs to be. Just use what youneed 8

IBM Software Group WebSphere softwareTopicsBPMN BackgroundBasic ConceptsExercise 1Additional ConceptsProcess Modeling MethodologiesOrchestration vs. ChoreographyExercise 2Summary9

IBM Software Group WebSphere softwareBPMN Basic ConceptsDiagram ElementsBack10

IBM Software Group WebSphere softwareBPMN Basic ConceptsDiagram Elements, Cont.Back11

IBM Software Group WebSphere softwareBPMN Basic ConceptsActivitiesAn activity is work that isperformed within a businessprocess. An activity can beatomic or non-atomic(compound). The types ofactivities that are a part of aProcess Model are: SubProcess, and TaskActivities are rounded rectanglesThey can be performed once orcan have internally defined loops12

IBM Software Group WebSphere softwareBPMN Basic ConceptsTasksA Task is an atomic activity that isincluded within a Process. A Taskis used when the work in theProcess is not broken down to afiner level of Process Model detailThere are specialized types ofTasks for sending and receiving,or user-based Tasks, etc.Markers or icons can be added toTasks to help identify the type ofTaskMarkers must not change thefootprint of the Task or conflictwith any other standard BPMNelement13

IBM Software Group WebSphere softwareBPMN Basic ConceptsSub-ProcessesSub-Processes enable hierarchicalProcess developmentA Sub-Process is a compound activity thatis included within a Process. It iscompound in that it can be broken downinto a finer level of detail (a Process)through a set of sub-activitiesFor a collapsed version of a Sub-Process,The details of the Sub-Process are notvisible in the Diagram. A “plus” sign in thelower-center of the shape indicates thatthe activity is a Sub-Process and has alower-level of detail.For an expanded version of a SubProcess, the details (a Process) arevisible within its boundary.There are two types of Sub-Processes:Embedded and Independent (Re-usable)14

IBM Software Group WebSphere softwareBPMN Basic ConceptsEventsAn Event is something that“happens” during the courseof a business process.These Events affect the flowof the Process and usuallyhave a trigger or a result.They can start, interrupt, orend the flowEvents are circlesThe type of boundarydetermines the type ofEvent15

IBM Software Group WebSphere softwareBPMN Basic ConceptsStart EventsStart Events indicate where a Processwill beginThere are different “Triggers” thatindicate the specific circumstances thatstart the ProcessNone Start Events are used to markthe start of Sub-Processes or whenthe start is undefinedThe Link Start Event will beremoved in the next version of BPMNAny one of the Triggers included ina Multiple Start Event will start theProcess16

IBM Software Group WebSphere softwareBPMN Basic ConceptsIntermediate EventsIntermediate Events occur after aprocess has been started and beforea process is endedThere are different “Triggers” thatindicate the specific circumstancesof the EventThey can be placed in the normalflow of the Process or attached tothe boundary of an activity17

IBM Software Group WebSphere softwareBPMN Basic ConceptsIntermediate Events (Normal Flow)Events that are placed withinthe process flow representthings that happen duringthe normal operations of theprocessThey can represent theresponse to the Event (i.e.,the receipt of a message)They can represent thecreation of the Event (i.e.,the sending of a message)18

IBM Software Group WebSphere softwareBPMN Basic ConceptsIntermediate Events (Attached to Boundary)Events that are attached to theboundary of an activity indicatethat the activity should beinterrupted when the Event istriggeredThey can be attached toeither Tasks or Sub-ProcessesThey are used for error handling,exception handling, andcompensation19

IBM Software Group WebSphere softwareBPMN Basic ConceptsEnd EventsEnd Events indicates where a processwill endThere are different “Results” that indicatethe specific circumstances that end theProcessNone Start Events are used to markthe start of Sub-Processes or when thestart is undefinedThe Link End Event will be replacedin the next version of BPMN (probablywith a Signal)20

IBM Software Group WebSphere softwareBPMN Basic ConceptsGatewaysGateways are modeling elements thatare used to control how SequenceFlows interact as they converge anddiverge within a ProcessAll types of Gateways are diamondsDifferent internal markers indicatedifferent types of behaviorAll Gateways both split and mergethe flowIf the flow does not need to becontrolled, then a Gateway is notneeded. Thus, a diamond represents aplace where control is needed21

IBM Software Group WebSphere softwareBPMN Basic ConceptsExclusive GatewaysExclusive Gateways (Decisions) are locations within a businessprocess where the Sequence Flow can take two or morealternative paths. This is basically the “fork in the road” for aprocess.Only one of the possible outgoing paths can be taken when theProcess is performedThere are two types decision mechanism:Data (e.g., condition expressions)Events (e.g., the receipt of alternative messages)They are also used to merge Sequence FlowThe merging behavior may change in the next version ofBPMN22

IBM Software Group WebSphere softwareBPMN Basic ConceptsExclusive Gateways, Based on DataThese are the mostcommonly used type ofGateways.They can be shown withor without an internal “X”marker. Without is themost common use.The Gateway (Decision)creates alternative pathsbased on defined conditions23

IBM Software Group WebSphere softwareBPMN Basic ConceptsExclusive Gateways, Based on EventsThis type of Decisionrepresents a branching pointin the process where thealternatives are based onevents that occurs at thatpoint in the Process, ratherthan conditionsThe Multiple IntermediateEvent is used to identify thisGatewayThe Event that follow theGateway Diamonddetermine the chosen pathThe first Event triggeredwins24

IBM Software Group WebSphere softwareBPMN Basic ConceptsInclusive GatewaysInclusive Gateways areDecisions where there ismore than one possibleoutcomeThe “O” marker is used toidentify this GatewayThey are usually followed bya corresponding mergingInclusive lateDocumentsPrepare MainProposal25

IBM Software Group WebSphere softwareBPMN Basic ConceptsComplex GatewaysComplex Gateways are Decisionswhere there is more advanceddefinitions of behavior can be definedThe asterisk marker is used toidentify this GatewayComplex behavior can be defined forboth the merging and splittingbehavior26

IBM Software Group WebSphere softwareBPMN Basic ConceptsParallel GatewaysParallel Gateways areplaces in the Process wheremultiple parallel paths aredefinedThey are not required forforking in most situations.They can be used formethodological purposesThe “ ” marker is used toidentify this GatewayThe Gateway is also used tosynchronize (wait for)parallel paths27

IBM Software Group WebSphere softwareBPMN Basic ConceptsConnectorsA Sequence Flow is usedto show the order thatactivities will be performedin a ProcessA Message Flow is used toshow the flow of messagesbetween two entities thatare prepared to send andreceive themAn Association is used toassociate data, informationand artifacts with flowobjects28

IBM Software Group WebSphere softwareBPMN Basic ConceptsSequence FlowA Sequence Flow is used toshow the order that activitieswill be performed in aProcessThe source and target mustbe one of the followingobjects: Events, Activities,and GatewaysA Sequence Flow cannotcross a Sub-Processboundary or a Pool boundary29

IBM Software Group WebSphere softwareBPMN Basic ConceptsConditional Sequence FlowA Sequence Flow MAY have adefined condition if it exits anactivitySuch an activity must haveat least two Sequence FlowsThe condition has to be True toallow the flow to continue downthe Sequence FlowA mini-diamond shows thatthe Sequence Flow has aconditionAt least one of the outgoingSequence Flow must be chosenduring Process performance30

IBM Software Group WebSphere softwareBPMN Basic ConceptsDefault Sequence FlowA Sequence Flow that exitsan Exclusive or InclusiveGateway may be defined asbeing the default pathA hatch mark at the linebeginning shows thedefault Sequence FlowThe default path is chosenonly if all the other conditionsof the Gateway are False31

IBM Software Group WebSphere softwareBPMN Basic ConceptsIn BPMN, separate Poolsare used to represent theParticipantsA Message Flow can connect tothe boundary of the Pool or to anobject within the PoolMessage Flow are not allowedbetween objects within a singlePoolEmployeeA Message Flow is used to showthe flow of messages betweentwo Participants of ProcessCompanyMessage Flow32

IBM Software Group WebSphere softwareBPMN Basic ConceptsAssociationsAn Association is used toassociate objects to oneanother (such as Artifactsand Activities)Associations are used toshow how data is input toand output from ActivitiesText Annotations can beAssociated with objectsOrder[Approved]Review andApproveOrderFulfill OrderOrderApproved?RejectOrder33

IBM Software Group WebSphere softwareBPMN Basic ConceptsSwimlanesBPMN uses the concept known as “swimlanes” to help partitionand/organize activitiesThere are two main types of swimlanes: Pool and LanePools represent Participants in an interactive (B2B) BusinessProcess DiagramLanes represent sub-partitions for the objects within a Pool34

IBM Software Group WebSphere softwareBPMN Basic ConceptsA Participant may be abusiness role (e.g., “buyer” or“seller”) or may a businessentity (e.g., “IBM” or “OMG”)A Pool may be a “black box” ormay contain a ProcessInteraction between Pools ishandled through Message FlowSequence Flow cannot crossthe boundary of a Pool (i.e., aProcess is fully contained withina Pool).Receive.PO MessageSellerPools represent Participants inan interactive (B2B) BusinessProcess DiagramBuyerPoolsOrder.Send.35

IBM Software Group WebSphere softwareBPMN Basic ConceptsManagementWeb ServerLanes represent subpartitions for the objectswithin a PoolThey often representorganization roles (e.g.,Manager, Associate), butcan represent any desiredProcess characteristicSequence Flow can crossLane boundariesAdministrationLanes36

IBM Software Group WebSphere softwareBPMN Basic ConceptsArtifactsArtifacts provide the capability to show informationbeyond the basic flow-chart structure of the ProcessThere are currently three standard Artifacts inBPMN: Data Objects, Groups, and AnnotationsAdditional Artifacts may be standardized in laterversionSets of vertical market Artifacts may also bedevelopedA modeler or tool can extend BPMN by defining newArtifacts37

IBM Software Group WebSphere softwareBPMN Basic ConceptsText AnnotationsText Annotations are amechanism for a modeler toprovide additional informationabout a ProcessText Annotations can beconnected to a specific object onthe Diagram with an Association38

IBM Software Group WebSphere softwareBPMN Basic ConceptsData ObjectsData Objects are Artifacts that areused to show how data anddocuments are used within a ProcessData Objects can be used to defineinputs and outputs of activitiesData Objects can be given a “state”that shows how a document may bechanged or updated within theProcess39

IBM Software Group WebSphere softwareBPMN Basic ConceptsGroupsGroups are Artifacts that are used to highlight certain sections ofa Diagram without adding additional constraints for performance –as a Sub-Process wouldGroups can be used to categorize elements for reportingpurposesGroups are not constrained by restrictions of Pools and Lanes40

IBM Software Group WebSphere softwareBPMN Basic ConceptsArtifacts are ExtendibleModelers and Modeling Toolscan add new Artifacts to adiagramSpecific industries ormarkets may have their ownset of ArtifactsTheir shapes must not conflictwith existing shapesThey are not part of normal flow,but can be associated with otherelements41

IBM Software Group WebSphere softwareTopicsBPMN BackgroundBasic ConceptsExercise 1Additional ConceptsProcess Modeling MethodologiesOrchestration vs. ChoreographyExercise 2Summary42

IBM Software Group WebSphere softwareExercise 1In this exercise you will given a set of short answerquestions that cover the basic BPMN elementsSome questions will require a written answer andsome will require a (simple) drawn answer43

IBM Software Group WebSphere softwareExercise 1Questions: Set 1What is the difference between a Task and a SubProcess?Draw a Task with a timeout and the follow-up to thetimeoutWhat are the main restrictions for Sequence Flow?44

IBM Software Group WebSphere softwareExercise 1Questions: Set 2What are the rules for Message Flow connections?Draw two ways that data can be output from oneTask and then input into another TaskWhy do the different behaviors of the Gatewaysshare the same basic diamond shape?45

IBM Software Group WebSphere softwareExercise 1Questions: Set 3How can Artifacts be used to enhance theinformation content of a BPMN diagram?Draw a timed delay in a processWhat do Pools represent?46

IBM Software Group WebSphere softwareExercise 1Questions: Set 4What’s the difference between Exclusive andInclusive Gateways?Draw the synchronization of two parallel pathsWhat do Lanes generally represent? And what canthey represent?47

IBM Software Group WebSphere softwareExercise 1Questions: Set 5How to Associations affect the main flow of aProcess?Draw a Message Flow between one “white box”Participant and one “black box” ParticipantWhat are the rules for adding marker or icons toactivities?48

IBM Software Group WebSphere softwareExercise 1Answers: Set 1What is the difference between a Task anda Sub-Process?A Sub-Process can be broken downinto a lower level detail (another Process)while a Task cannotDraw a Task with a timeout and the followup to the timeoutSee figure to the rightWhat are the main restrictions for SequenceFlow?A Sequence Flow can only connectActivities, Events, and Gateways, theycannot cross the boundary of a SubProcess or the boundary of a Pool49

IBM Software Group WebSphere softwareExercise 1Answers: Set 2What are the rules for Message Flowconnections?They must connect from the boundaryor object within a Pool to the boundaryor object within a different PoolDraw two ways that data can be output fromone Task and then input into another TaskSee figures to the rightWhy do the different behaviors of theGateways share the same basic diamondshape?Gateways represent a controllingmechanism for Sequence Flow. Adiamond in the model shows a placewhere Sequence Flow control is needed50

IBM Software Group WebSphere softwareExercise 1Answers: Set 3How can Artifacts be used to enhance theinformation content of a BPMN diagram?New Artifacts can be created andadded to the diagram to allowvisualization of key model factorsDraw a timed delay in a processSee figure to the rightWhat do Pools represent?Participants in a Process diagram,either a specific entity (e.g., FedEx) ora business role (e.g., Shipper)51

IBM Software Group WebSphere softwareExercise 1Answers: Set 4What’s the difference between Exclusive andInclusive Gateways?Only one outgoing path is chosen forExclusive Gateway while at least one to alloutgoing paths may be chosen for anInclusive GatewayDraw the synchronization of two parallel pathsSee figure to the rightWhat do Lanes generally represent? And whatcan they represent?The mostly are used to representorganizational roles (e.g., Associate) ordepartments (e.g., Finance). The canrepresent most any object attribute that themodeler wants to use to partition activities52

IBM Software Group WebSphere softwareExercise 1Answers: Set 5How to Associations affect the main flow ofa Process?They don’t. They can only affect therequirements for an activityDraw a Message Flow between one “whitebox” Participant and one “black box”ParticipantSee figure to the rightWhat are the rules for adding marker oricons to activities?The marker or icon cannot change thefootprint of the activity and cannotconflict with any standard BPMNelement53

IBM Software Group WebSphere softwareTopicsBPMN BackgroundBasic ConceptsExercise 1Additional ConceptsProcess Modeling MethodologiesOrchestration vs. ChoreographyExercise 2Summary54

IBM Software Group WebSphere softwareBPMN Additional ConceptsNormal FlowNormal Sequence Flow refers to the flow thatoriginates from a Start Event and continues throughactivities via alternative and parallel paths until it endsat an End EventNormal Flow does not include exception flow orcompensation flow55

IBM Software Group WebSphere softwareBPMN Additional ConceptsLink Events Within a ProcessLink Events can be used for Off-Page connectorsLink Events can be used as “Go-To” objects56

IBM Software Group WebSphere softwareBPMN Additional ConceptsProcess LevelsProcesses can be developed hierarchically, withmultiple levels through Sub-ProcessesSequence Flow cannot cross a Sub-Process boundaryMessage Flow and Associations can cross SubProcess boundaries57

IBM Software Group WebSphere softwareBPMN Additional ConceptsData FlowSequence Flow and Data Flow aredecoupledThey can be bound togetherUse case for decoupling58

IBM Software Group WebSphere softwareBPMN Additional ConceptsException HandlingIntermediate Events attached to the boundary of an activityrepresent triggers that can interrupt the activity. All work within theactivity will be stopped and flow will proceed from the Event. Timer,Errors, Messages, etc. can be Triggers.59

IBM Software Group WebSphere softwareBPMN Additional ConceptsCompensation and TransactionsA Transaction is an activity that hasa double border. Transactions aresupported by a transaction protocol(e.g., WS-Transaction)Normal Outgoing Sequence Flowrepresents the path to follow asuccessful completionA Cancel Intermediate Eventrepresents the path to follow acancelled completionAn Exception Intermediate Eventrepresents the path to follow atransaction hazard (but nocompensation is performed)Activities used for compensate (withmarker) are outside normal flow andare Associated normal activities.Compensation flows “backwards.”60

IBM Software Group WebSphere softwareBPMN Additional ConceptsLoopingActivity Looping: Do-While;While-Do; Multiple InstanceSequence Flow Looping61

IBM Software Group WebSphere softwareBPMN Additional ConceptsTimersTimers to add delays inthe ProcessTimeouts for exceptionhandling62

IBM Software Group WebSphere softwareBPMN Additional ConceptsAd-Hoc ProcessesThere is no pre-defined Sequence Flow63

IBM Software Group WebSphere softwareTopicsBPMN BackgroundBasic ConceptsExercise 1Additional ConceptsProcess Modeling MethodologiesOrchestration vs. ChoreographyExercise 2Summary64

IBM Software Group WebSphere softwareProcess Modeling MethodologiesBPMN is intended to be methodology independentSimple or complex diagrams can be createdbased on the chosen methodologyMethodologies determine what information iscaptured about a processMany different methodologies can be used formodeling with BPMNSome may require extended ArtifactsExamples of methodologies:LOVeM, EPCs, RAD methodology, IDEFConsulting organization methodologies65

IBM Software Group WebSphere softwareProcess Modeling MethodologiesExample of EPC Modeled in BPMN66

IBM Software Group WebSphere softwareProcess Modeling MethodologiesGeneral Modeling ConceptsA process is chronological. Accurate models should beoriented on a time line (in general, from left to right insequence)Processes generally begin with triggering events, and worktheir way through to significant business resultsThey can also represent smaller segments of re-usableworkAll tasks or activities are assigned to roles that are meaningfulto people in the business. Be sure you have captured allrelevant roles, which may sometimes be outside of the client’scompanyA complete model should display how objects or data (or both)are transferred and where they are goingA process can be modeled in a hierarchical fashion (e.g., withSub-Processes)The choices made for decisions, which occur within a process,determine which of all potential paths will be taken67

IBM Software Group WebSphere softwareProcess Modeling MethodologiesGeneral Modeling GuidelinesEstablish organization standards or guidelines for developing modelsand 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 wordProcess in the Process names or the words Task or Activity inTask namesTo help with report outputs, names should be 32 characters orlessTo help with readability, all words should be capitalizedEstablish a set of standard nouns, verbs, and acronyms that are usedfor naming objectsEstablish standards for versioning methods associated at the processmodel and artifact level to provide requirement traceability68

IBM Software Group WebSphere softwareTopicsBPMN BackgroundBasic ConceptsExercise 1Additional ConceptsProcess Modeling MethodologiesOrchestration vs. ChoreographyExercise 2Summary69

IBM Software Group WebSphere softwareOrchestration vs. ChoreographyOrchestration: Workflow, internal processes, privateprocessesContained within one PoolChoreography: Collaboration, global processes, B2BprocessesDefined by the interaction between Pools70

IBM Software Group WebSphere softwareOrchestration vs. ChoreographyOrchestrationOrchestration defines processes that are internal to aspecific organizationThus, they are contained within a single Pool71

IBM Software Group WebSphere softwareOrchestration vs. ChoreographyChoreographyA Choreography processdepicts the interactionsbetween two or morebusiness entities (asmodeled with Pools)Shown by the MessageFlow between the PoolsOr a sequence of interaction(global) types of activitiesBPMN V2.0 will likely updatehow Choreographies aremodeled72

IBM Software Group WebSphere softwareTopicsBPMN BackgroundBasic ConceptsExercise 1Additional ConceptsProcess Modeling MethodologiesOrchestration vs. ChoreographyExercise 2Summary73

IBM Software Group WebSphere softwareExercise 2 – Create a Process for ExpenseReimbursementIn this exercise you will read a text descriptiveinformation about a process and will map theprocess on paperThe process is a sample expense reimbursementprocess:This process provides for reimbursement ofexpenses incurred by employees for thecompany. For example buying a technical book,office supplies or software. In a normal day thereare several hundreds of instances of thisprocess created.Concentrate on the basic flow of the Process 74

IBM Software Group WebSphere softwareExercise 2Process Information: ExpenseReimbursementAfter the Expense Report is received, a new account must becreated if the employee does not already have oneThe report is then reviewed for automatic approvalAmounts under 200 are automatically approvedAmounts equal to or over 200 require approval of thesupervisor In case of rejection, the employee must receive arejection notice by emailThe reimbursement goes to the employee’s direct deposit bankaccountIf no action has happened in 7 days, then the employee mustreceive an approval in progress emailIf the request is not finished within 30 days, then the process isstopped and the employee receives an email cancellationnotice and must re-submit the expense report75

IBM Software Group WebSphere softwareExercise 2Expense Reimbursement Process76

IBM Software Group WebSphere softwareTopicsBPMN BackgroundBasic ConceptsExercise 1Additional ConceptsProcess Modeling MethodologiesOrchestration vs. ChoreographyExercise 2Summary77

IBM Software Group WebSphere softwareSummaryThis tutorial covered:The background of BPMNBasic BPMN ConceptsAdditional BPMN ConceptsProcess Modeling MethodologiesOrchestration and ChoreographyTwo Exercises78

This 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