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

Defining Role and Organization Units


Once finished with defining a process model, you, as Process Analyst, will define the roles (who will perform which responsibility/task) and Organization Units (Organization association, Calendar rules, and Holiday rules). You will define Application Roles in the BPM Studio, and those Application Roles are mapped to organizational users.

Getting ready

Roles authorize the people with a set of responsibilities (tasks) to perform. Later, you divide the tasks based on these roles by creating swimlanes in the process. Each horizontal swimlane is associated with a role.

The roles we will create in Project | Organization are logical roles. LDAP defines the actual users, and during deployment of BPM projects, logical roles are mapped to LDAP roles. Use BPM Studio to map roles to specific users using LDAP.

How to do it...

Now, you have created Application and Project. You already know the Process Flow. Let's create the processes. However, we still don't know "who will perform what", that is, the roles yet need to be defined. Let's organize our Processes, based on roles and Organization Units. Every process has some task/work to be performed. It's the Roles that help decide who has the responsibility to perform the task/work.

Creating a Role

You will create application roles, and later, these roles will be mapped to organizational users. This is done as follows:

  1. 1. Double-click Organization in the Project navigator. Project Editor will open the Organization window.

  2. 2. Select the Roles tab.

  3. 3. Click the "add" (+) icon to add roles.

  4. 4. The role name dialog appears. Enter Name of the role, say Sales Representative. Repeat this step to create other roles listed.

Associating Roles with members

Here, you will map Application Roles to organizational users. This is done as follows:

  1. 1. Click the Roles tab in Organizations.

  2. 2. In the Roles | Members section, choose User as the Type.

  3. 3. Click on Browse (Identity lookup browse).

  4. 4. Select the Application Server connection and Realm from the drop-down lists.

  5. 5. In Search Pattern, specify *(search all) and select User Name from the drop-down list as the search string. This will list all the users in the Realm.

  6. 6. Select the User. As you are associating members to the Sales Representative role, choose a user (member) meant to perform the Sales Representative role.

  7. 7. Repeat the preceding steps for all the users and associate them with members.

    Note

    However, in actual scenarios, Process Analysts need not know which user in the organization is mapped to application roles. This assignment is typically done by Process Admins through the Worklist Application or EM.

Creating Organization Units

Organization units represent a division in an organization, and once defined, process participants might be assigned to one of the organizational units. This is done as follows:

  1. 1. Click Organization, in the Project navigator, and select the Organizational Chart tab.

  2. 2. Click + to add an organization unit root node, which will contain organization units based on geography; say FusionNXorganizationUnit:

  3. 3. Let's say your Sales Representative is from APJ | India. However, for his/her sales quote he/she needs approvals from the APJ head.

  4. 4. When you have finished the preceding steps, click Save.

Associating members to Organization Units

The Organization Units and Roles defined in BPM Studio are abstract. They need to be mapped to your real-world organization FusionNX. During deployment of your project, the components of the modeled organization and roles are mapped to your real-world organization:

  1. 1. In Organization, select the Organization Unit tab.

  2. 2. Scroll to Members Section. Select User as the Type and click Browse, to browse Identity Lookup.

  3. 3. Select Application Server and Realm.

  4. 4. In Search Pattern, search for all (*), with User Name as search string.

  5. 5. When users are listed, choose the appropriate user to associate with the Organization Unit. Say, for APJ | India, associate Sales Representative user and APJ with Approvers.

  6. 6. When you are finished, click Save.

Creating Calendar Rules for Organization Units

In this section, you will define the working hours of an individual, as follows:

  1. 1. In the Organization Unit editor window, select the Calendar tab.

  2. 2. Click the "add" (+) icon to create a calendar, say FusionNXCal.

  3. 3. Click the created Calendar rule to define Time Zone and Work Days with hours:

  4. 4. Chose the Work Days by selecting the checkbox, and specify the Starting Time and Finish Time for each day.You can include an optional Holiday rule for Calendars.

  5. 5. When you have finished the preceding steps, click Save.

Creating Holiday rules

Use the following steps to create a Holiday rule:

  1. 1. Open JDeveloper in the default role and go to View | Application Navigator.

  2. 2. Select FusionNX_Application, which you have just created, and select the SalesQuoteToContractDemo project, which you have already created. This is the Project navigator.

  3. 3. In the Project navigator go to Open Organization.

  4. 4. In the Organization Unit editor window, select the Holiday tab

  5. 5. Click the "add" (+) icon to create a Calendar, say FusionNXHolidayRule.

  6. 6. Select Holiday Rule and click the "add" (+) icon.

  7. 7. Provide the following details for the Holiday rule, and then click OK.

    • Description: Fill in a description of the Holiday rule

    • Type: Common (Common/Fixed)

    • Date: This refers to the dates for this Holiday rule. To specify a range, you must create a new entry for each day

  8. 8. When you have finished the preceding steps, click Save.

How it works...

Creating roles works only when Process Analyst has the Process Flows defined. This has resulted in the following list of Roles:

  • Sales Representative

  • Business Analyst

  • Approvers

  • Contracts

Roles are defined in Organization Resources inside the BPM Project. Check the preceding screenshot of the Project navigator; you can identify Organizational Chart in it. Organizational Chart is used to define Roles, Organization Units, Calendar Rules, and Holiday rules.

Associating roles to members allows you to define what members of your real-world organization are responsible for performing the activities and tasks within your process.

FusionNX operates in multiple geographical locations and has sales units that are divided based on geography, say America, EMEA, APJ, and so on. Hence, organization units were categorized by geography. You know that the Sales Representative is from APJ in the India Organization Unit and that the Approver is from APJ.

To define when resources are working in an Organization, create Calendar rule, and to define when resources are not working, define Holiday rules in an organization.