bpmn 2 0-tutorial

Upload: tonyaessd9130

Post on 30-Oct-2015

103 views

Category:

Documents


1 download

TRANSCRIPT

  • 7/16/2019 BPMN 2 0-Tutorial

    1/61

    BPMN 2.0 Tutorial

    Daniel BrookshierDistinguished Fellow

    No Magic Inc.

  • 7/16/2019 BPMN 2 0-Tutorial

    2/61

    About the Tutorial

    Generated from MagicDraw UML

    Based on current BPMN 2.0 for UML referenceimplementation.

    Developed by Daniel Brookshier, Distinguished Fellow,No Magic Inc. [email protected]

  • 7/16/2019 BPMN 2 0-Tutorial

    3/61

  • 7/16/2019 BPMN 2 0-Tutorial

    4/61

    What is BPMN ?

    Business Process Modeling Notation

    Developed by Business Process Management Initiative (BPMI),and is currently maintained by the Object Management Groupsince the two organizations merged in 2005

    Supports business process management for technical andbusiness users

    Bridge communication gap between business process design and

    implementation

  • 7/16/2019 BPMN 2 0-Tutorial

    5/61

    What?

    BPMN is simple

    Process diagrams business people like

    Less complex (business likes that too)

    Under the covers, technical enough for techies

  • 7/16/2019 BPMN 2 0-Tutorial

    6/61

    What Does BPMN Not Do?

    State transitions

    Functional decomposition

    Organizational hierarchies

    Data modeling

  • 7/16/2019 BPMN 2 0-Tutorial

    7/61

    What is BPMN Like?

    Similar to flowcharts and UML Activity diagrams

    Flow of activities with various messaging and data

    Can be used for service orchestration in SOA

  • 7/16/2019 BPMN 2 0-Tutorial

    8/61

    Primary Components

  • 7/16/2019 BPMN 2 0-Tutorial

    9/61

    Why BPMN?

    Standard notation

    Model concepts and/or implementation of

    business process

    Models high-level process concepts

    Notation is not complex

  • 7/16/2019 BPMN 2 0-Tutorial

    10/61

    Issues With BPMN

    Limited complexity

    Process/conversation oriented

    Very high level

    Cannot see details of tasks or data

  • 7/16/2019 BPMN 2 0-Tutorial

    11/61

    Solving BPMN Issues ViaUML

    BPMN as an extension to UML

    Enhanced ability to implement complexity

    Link implementation with orchestration

    Greater tool support Fill in gaps with details state, decomposition, data,

    implementations

    BPMN for UML specification in progress at OMG

  • 7/16/2019 BPMN 2 0-Tutorial

    12/61

    Executable Verses

    Non-executable

    Process flows can be executable or non executable

    Executable process follows specific rules

    Formal condition expressions are typically not includedin non-executable form

    Executable does not have Manual, Abstract, and other

    non-execution elements

  • 7/16/2019 BPMN 2 0-Tutorial

    13/61

    BPMN Diagram Zoo

    Process Flow of activity, decisions, dataand events

    Collaboration Conversations andinteractions (also process)

    Choreography Tasks performed by

    participants and how participantscoordinate interactions via messages.

  • 7/16/2019 BPMN 2 0-Tutorial

    14/61

    Simple BPMN Process Diagram

  • 7/16/2019 BPMN 2 0-Tutorial

    15/61

    Process with Pools and Lanes

  • 7/16/2019 BPMN 2 0-Tutorial

    16/61

    Simple Collaboration

  • 7/16/2019 BPMN 2 0-Tutorial

    17/61

    Simple Collaboration

  • 7/16/2019 BPMN 2 0-Tutorial

    18/61

    Understanding Collaborations

  • 7/16/2019 BPMN 2 0-Tutorial

    19/61

    BPMN Choreography

    Sequence of interactions between Participants.

    Choreographies exist outside of or in between Pools.

    A Choreography Task is an atomic Activity in a ChoreographyProcess.

    The task represents an Interaction, which is one or two Messageexchanges between two Participants.

    Helps to show who initiates the activity and the first message.

  • 7/16/2019 BPMN 2 0-Tutorial

    20/61

    Simple Choreography Task With

    Messages

  • 7/16/2019 BPMN 2 0-Tutorial

    21/61

    BPMN Choreography Diagram

  • 7/16/2019 BPMN 2 0-Tutorial

    22/61

    Setting Messages on

    Choreography

  • 7/16/2019 BPMN 2 0-Tutorial

    23/61

    Example BPMNDiagrams

  • 7/16/2019 BPMN 2 0-Tutorial

    24/61

    Book Loan and Reservation

    (Librarian Perspective)

  • 7/16/2019 BPMN 2 0-Tutorial

    25/61

    Loan a book (main scenario)

  • 7/16/2019 BPMN 2 0-Tutorial

    26/61

    Book Loan and Reservation

    (Reader Perspective)

  • 7/16/2019 BPMN 2 0-Tutorial

    27/61

    Loan a Book

  • 7/16/2019 BPMN 2 0-Tutorial

    28/61

    Process Symbols

  • 7/16/2019 BPMN 2 0-Tutorial

    29/61

    Activities

    Work that is performed within a Business Process.

    Activity can be atomic or non-atomic (compound)

    High-level, so does not describe the activity detail (notthe job of BPMN)

    Three types: Task, Sub-process, and Transaction

  • 7/16/2019 BPMN 2 0-Tutorial

    30/61

    Activiy Symbols

  • 7/16/2019 BPMN 2 0-Tutorial

    31/61

    Task Symbols (1 of 2)

  • 7/16/2019 BPMN 2 0-Tutorial

    32/61

    Task Symbols (2 of 2)

  • 7/16/2019 BPMN 2 0-Tutorial

    33/61

    What are Sub Processes?

    Is in the context of the process and can access thecontextual data.

    Can be expanded or collapsed to show detail of thesub-process or to hide the detail.

    Sub process MUST define an internal process with astart and end event.

    A sub process is only reusable within the parent

    process (i.e. it is not reusable in the overall design).

  • 7/16/2019 BPMN 2 0-Tutorial

    34/61

    Sub Process Symbols

  • 7/16/2019 BPMN 2 0-Tutorial

    35/61

    Gateways

    Gateways are used to control how SequenceFlows interact as they converge and divergewithin a Process.

    Capable of consuming or generating additional

    tokens.

    Define decisions/branching (exclusive,inclusive, and complex), merging, forking, and

    joining.

  • 7/16/2019 BPMN 2 0-Tutorial

    36/61

    Gateway Symbols

  • 7/16/2019 BPMN 2 0-Tutorial

    37/61

    About Data Symbols

    Data Objects provide information about whatActivities require and/or what they produce

    Represent a singular object or a collection of

    objects

    Data Input and Data Output provide the sameinformation for Processes

  • 7/16/2019 BPMN 2 0-Tutorial

    38/61

    Data

  • 7/16/2019 BPMN 2 0-Tutorial

    39/61

    Event Symbols Types

  • 7/16/2019 BPMN 2 0-Tutorial

    40/61

    Start Events

  • 7/16/2019 BPMN 2 0-Tutorial

    41/61

    Intermediate Events

    E d E

  • 7/16/2019 BPMN 2 0-Tutorial

    42/61

    End Events

    End Event indicates where a Process will end.

    In terms of Sequence Flows, the End Event ends the flow of theProcess, and thus, will not have any outgoing Sequence Flows.

    No Sequence Flow can connect from an End Event.

    Depending on the type, other rules are enforced (like errorhandling and/or how the process is terminated).

    E d E t S b l

  • 7/16/2019 BPMN 2 0-Tutorial

    43/61

    End Event Symbols

    E d E t (1 f 3)

  • 7/16/2019 BPMN 2 0-Tutorial

    44/61

    End Events (1 of 3)

    E d E t (2 f 3)

  • 7/16/2019 BPMN 2 0-Tutorial

    45/61

    End Events (2 of 3)

    End E ents (3 of 3)

  • 7/16/2019 BPMN 2 0-Tutorial

    46/61

    End Events (3 of 3)

    Pools

  • 7/16/2019 BPMN 2 0-Tutorial

    47/61

    Pools

    A Pool is the graphical representation of a Participant ina Collaboration.

    It also acts as a swimlane and a graphical containerfor partitioning a set of Activities from other Pools

    Usually in the context of B2B situations

    Pool MAY have internal details, in the form of theProcess that will be executed

    Pool MAY have no internal details, i.e., it can be a"black box."

    Lanes

  • 7/16/2019 BPMN 2 0-Tutorial

    48/61

    Lanes

    Lane (Swimlane) is a sub-partition within a Process

    Extend the entire length of the Process

    Lanes are used to organize and categorize Activities

    Pool and Lanes

  • 7/16/2019 BPMN 2 0-Tutorial

    49/61

    Pool and Lanes

    CONDITIONAL FLOW

  • 7/16/2019 BPMN 2 0-Tutorial

    50/61

    CONDITIONAL FLOW

    Default Sequence Flow

  • 7/16/2019 BPMN 2 0-Tutorial

    51/61

    Default Sequence Flow

    Exception Flow

  • 7/16/2019 BPMN 2 0-Tutorial

    52/61

    Exception Flow

    Data Flow

  • 7/16/2019 BPMN 2 0-Tutorial

    53/61

    Data Flow

    Compensation Flow

  • 7/16/2019 BPMN 2 0-Tutorial

    54/61

    Compensation Flow

    Message Flows

  • 7/16/2019 BPMN 2 0-Tutorial

    55/61

    Message Flows

    Flow of Messages between two Participants that are prepared tosend and receive them.

    A Message Flow MUST connect two separate Pools.

    They connect either to the Pool boundary or to Flow Objects withinthe Pool boundary.

    They MUST NOT connect two objects within the same Pool.

    Message Flows

  • 7/16/2019 BPMN 2 0-Tutorial

    56/61

    Message Flows

    Message Flow Between Lanes

  • 7/16/2019 BPMN 2 0-Tutorial

    57/61

    Message Flow Between Lanes

    Data Associations

  • 7/16/2019 BPMN 2 0-Tutorial

    58/61

    Data Associations

    Data Associations are used to move data between Data Objects,

    Properties, and inputs and outputs of Activities, Processes, andGlobalTasks.

    Tokens do not flow along a Data Association, and as a result theyhave no direct effect on the flow of the Process.

    Used for retrieving data from Data Objects or Process Data Inputsto fill the Activities inputs and push the output values from theexecution of the Activity back into Data Objects or Process DataOutputs.

    Data Association Example

  • 7/16/2019 BPMN 2 0-Tutorial

    59/61

    Data Association Example

  • 7/16/2019 BPMN 2 0-Tutorial

    60/61

  • 7/16/2019 BPMN 2 0-Tutorial

    61/61

    Thank You

    Daniel Brookshier

    [email protected]