Book Image

Oracle BPM Suite 12c Modeling Patterns

By : Vivek Acharya
Book Image

Oracle BPM Suite 12c Modeling Patterns

By: Vivek Acharya

Overview of this book

Table of Contents (19 chapters)
Oracle BPM Suite 12c Modeling Patterns
Credits
Disclaimer
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Preface
Index

Sequence flow pattern


One of the fundamental steps in the BPM process modeling is to build a process model (diagram) which enables a shared understanding between participants on a process flow pattern. The process participants are not going to discuss each and every page of the document, neither will a collaborative, iterative process improvement or approach succeed with a group of people sitting and walking through documents. However, this group will be interested in a process model (diagram) and discuss the flow, sequence, and process patterns visible through the process model. This makes sequence flow patterns of paramount importance, as each and every activity is related to the other. In a process diagram, this relationship is created and managed through sequence flows. The following table summarizes the details of the sequence flow pattern:

Signature

Sequence Flow Pattern

Classification

Basic Flow Control Pattern

Intent

Offers sequence routing.

Motivation

The fundamental constituent to weave process components and demonstrate dependency and state transition between tasks/activities.

Applicability

The sequence pattern enforces a transitive temporal ordering to process activities. In business terms, sequences denote a strong dependency between activities and cater to strictly separating process involvement at organizational boundaries. They define the behavior of a business process.

Implementation

Widely adopted in most of the modeling languages including Oracle BPMN.

Known issues

Difference in acceptance.

Known solution

Usage of tokens in process instances.

The sequence is the simplest pattern and is implemented through a graphical sequence of actions, as graphical form is used for the sequencing of patterns. In BPMN, the model elements that are to be executed in sequence are connected with sequence flow connectors. When activities are connected with sequence flow connectors, processing of the second activity will not commence before the first activity is completed. This pattern defines the dependency of one task on the other and governs the fact that execution of one task is dependent on the other and cannot be completed until that task gets completed. Ordering of tasks in a business process is determined by sequence flow, and it governs how the process token will flow through the process. With sequence pattern, you can create a series of consecutive tasks, which are executed one after another based on the sequence connector's connections.

Categories: The sequence flow can be categorized as follows:

  • Incoming sequence flow: This refers to flow that leads into a flow object

  • Outgoing sequence flow: This refers to flow that leads out of a flow object

Some activities/flow objects can have both the sequence flows, and most of the activities/objects in a process have them. However, the start object can only contain an outgoing sequence flow and the end object can only contain an incoming sequence flow.

There are different types of sequence flows which are as follows:

  • Default sequence flow/unconditional sequence flow

  • Conditional sequence flow

Working with the sequence flow pattern

Perform the following steps to check the sequence flow usage in action:

  1. Download the application (SalesQuoteDemo) contained in the download link of this chapter.

  2. Open SalesQuoteProject in JDeveloper 12c.

  3. Open SalesQuoteProcess; this will open the process flow in the design area.

  4. Go to Approvers Swim lane and click on Exclusive Gateway (ApprovalsOutcome) that works on the ApproveDeals and ApproveTerms outcomes. The process is shown in the following screenshot:

  5. Click on the outgoing sequence flow with the Approve tag. In the properties, you will find that the type of sequence flow is Unconditional. This is the default sequence flow from the Exclusive Gateway.

  6. Now, click on the sequence flow with the Deal or Terms Reject tag and check its properties.

  7. The sequence flow type is Condition, and it has a conditional expression build. When this conditional expression returns true, the process token will take this sequence flow path. This is shown in the following screenshot:

  8. Click on the sequence flow with the OnlyDealsApproved tag and check its properties. This sequence flow is also a conditional flow with the following expression:

    DealapproverAppr ovalStatus == "APPROVE" and termsapproverApprovalStatus == "REJECT"

Tip

Downloading the example code

You can download the example code files for all Packt books you have purchased from your account at http://www.packtpub.com. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you.

Elucidating the sequence flow pattern

The conditional sequence flow governs the token movement based on conditions associated with the sequence flows, where conditions are expressed using the x-path expressions. A path that is taken out of the gateways when none of the conditions specified on the conditional flow is evaluated. This is termed as default sequence flow, and it's drawn as an arrow line with a tick mark at one end.

Upon the arrival of token at the gateways, conditions associated with the drawn sequence flows are evaluated, and that sequence route is picked whose conditional evaluation returns true. Then, the token starts trailing this path. However, if none of the evaluations of the conditional flow returns true, then the default route is picked.

Note

Conditional sequence flows can be associated with exclusive and inclusive gateways for split.