Book Image

Oracle BPM Suite 11g Developer's cookbook

By : Vivek Acharya
Book Image

Oracle BPM Suite 11g Developer's cookbook

By: Vivek Acharya

Overview of this book

Oracle Business Process Management Suite is a complete set of tools for creating, executing, and optimizing business processes.Oracle BPM Suite 11g offers the flexibility that business demands, hand-in-hand with the power IT requires. The result is an agile platform that brings together your existing applications, enabling you to react quickly to new business requirements.With this cookbook we will develop rich, interactive business processes using the Oracle Business Process Management suite.With Oracle BPM Suite 11g Developer's Cookbook, a common process model based on BPMN is presented to the specific role assigned to readers in each chapter. Explore Oracle BPM 11g with Modelling, Implementation, Simulation, Deployment, Exception Management, BPM and SOA in Concert, Advanced Rules and Human tasks, End User Interaction and Run-time.Oracle BPM Suite 11g Developer's Cookbook will help readers learn BPM 11g through a Real World Sample Process.This book is divided into four sections: the first section, Modeling, lays the foundation and demonstrates how to implement the Modeling of Business processes for a Use Case of a Fictitious Organization which needs BPM to be implemented at their site (with data objects and information handling). In the second section, Implementation, we learn about Process Implementation, Human Interaction, Business Rules, and much more. In the third section, Measuring, we learn about Post Process Development, Performance Analysis and Simulation Models. In the last section, Deployment, Migration and Run-Time, we learn deployment and migration, and Post Deployment Run-Time.
Table of Contents (20 chapters)
Oracle BPM Suite 11g Developer's Cookbook
Credits
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
Oracle BPM—Application Development Lifecycle

Controlling Process Flow—Sequence Flows


Task # 4 is performed at the Contracts swimlane by the Contracts role. You will merge the outcome of the Approval Deal and Approval Terms User tasks. Data objects that have already been created (approveDealOutcome and approveTermsOutcome) will contain the values of outcome from the Approve Deal and Approve Terms User tasks, respectively.

How to do it...

  1. 1. Merge Outcome: Merge the outcome of Approve Deal and Approve Term User tasks:

    • Go to Component Palette | BPM | Gateways

    • Click on Parallel Gateway

    • Click on the Contracts swimlane, where you want to place the Parallel Gateway

    • Name the Parallel Gateway Merge Approvals

    • Create an unconditional, unnamed sequence flow from the Approve Deal and Approve Terms User tasks to the gateway Merge Approvals.

    • When you have finished the preceding steps, click Save

  2. 2. Create a Finalize User task:

    • Go to Component Palette | BPM | Activities

    • Select a User task from the interactive section

    • Click on the Contracts swimlane and position User task before theEnd event

    • In the User task Properties window, enter the following:

    • In the Basic tab, enter Name = Contract Finalize

    • Leave the implementation tab as default

    • When you have finished the preceding steps, click Save

    • Create an unconditional sequence flow from the gateway Approvals Outcome to the Contract Finalize User task.

    • Name the sequence flow as Approved

    • When you have finished the preceding steps, click Save

  3. 3. Switch on Approve Deal and Approve Terms outcome:

    Post merger, you have to switch on the outcome of Approve Deal and Approve Terms User tasks. Create Exclusive Gateway to implement conditional switch on outcomes.

    • Go to Component Pallet | BPM | Gateway and select Exclusive Gateway

    • Click on the Contracts swimlane, where you want to place the Exclusive Gateway

    • Name the gateway Approvals Outcome

    • When you have finished the preceding steps, click Save

  4. 4. Create sequence flows:

    To implement the outcome scenario

    If the outcome of Approve Deal OR Approve Terms User tasks is REJECT, then send the quote back to the Sales Representative

    Else: Send it to Finalize Contract User task

  5. 5. When REJECT:

    • Click on the sequence flow icon on top of the process editor to create a sequence flow

    • Create a conditional sequence flow from the gateway Approvals Outcome to the Enter Quote User task.

    • Enter the following information in the properties of the sequence flow:

    • In the Description tab, enter Name = Deal or Terms Rejected

    • In the Properties tab, Type = Condition

    • In the Expression section, choose Simple Expression

    • Select Expression Builder

    • You can find the approveDealOutcome and approveTermsOutcome process Data objects. They hold the outcome values from User tasks:

    • approveDealOutcome == REJECT or approveTermsOutcome == REJECT

    • When you have finished, click Save

  6. 6. When APPROVE:

    • Create an unconditional sequence flow from the Gateway Approvals Outcome to the Contract Finalize User task.

    • Name the sequence flow Approved

    • When you have finished the preceding steps, click Save

How it works...

As per Process Flow:

If: the outcomes for the Approve Deal or the Approve Terms User tasks' is REJECT,

Else: The contract will be finalized.

You can also use the parallel gateway to merge process paths split by the parallel gateway. The merge of the parallel gateway waits for a token to arrive from each of the incoming sequence flows. After all tokens arrive, only one token is passed to the outgoing sequence flow.

In addition, you should design your process so that a token arrives for each incoming sequence flow, for the merging parallel gateway. If you do not, your process can freeze if the merger is expecting tokens that do not arrive.