Oracle BPM Suite 11g Sample – People Assignment Oracle BPM Suite 11g – People Assignment Contents Oracle BPM Suite 11g – People Assignment ..................................................................... 1 1 Oracle BPM Suite 11g – People Assignment .............................................................. 1 1.1 1.2 1.3 1.4 1.5 Concepts ............................................................................................................................... 1 1.1.1 BPM Process Roles (Logical Roles)........................................................................... 1 1.1.2 Organization Unit ......................................................................................................... 2 1.1.3 Extended User Properties ........................................................................................... 2 1.1.4 Parametric Roles ........................................................................................................... 3 Sample Overview ................................................................................................................ 3 1.2.1 Scope ............................................................................................................................... 3 1.2.2 What’s Included ............................................................................................................ 3 Understanding the Purchase Requisition sample .......................................................... 3 1.3.1 Context ........................................................................................................................... 3 1.3.2 Overview ........................................................................................................................ 4 1.3.3 Create Purchase Requisition by Employee ............................................................... 4 1.3.4 Approve Purchase Request ......................................................................................... 5 1.3.5 Approve Spec by IT ..................................................................................................... 7 1.3.6 Approve funding by IT................................................................................................ 8 Set up..................................................................................................................................... 8 1.4.1 BPM Roles & Members ............................................................................................... 8 1.4.2 Set up and add members to Organization Units ..................................................... 9 1.4.3 Set up Extended User Properties ............................................................................. 10 1.4.4 Set up Parametric Roles ............................................................................................. 11 Testing................................................................................................................................. 11 Oracle BPM Suite 11g Sample – People Assignment 1 1.1 Oracle BPM Suite 11g – People Assignment Concepts 1.1.1 BPM Process Roles (Logical Roles) The swim lanes in a BPMN process represent a logical Role. The assignees or participants of the human tasks dropped in to this swim lane in most cases are derived from the swim lane role. These logical Roles have to be mapped to a physical LDAP user or group before the BPMN process can be deployed to a run-time. The logical Roles can be specific to a process or can be shared across processes in a project. This can be either accomplished inside BPM Studio or inside BPM Workspace if you have Administrator privileges. Inside BPM Studio, Each Project in addition to having a Processes folder also has an Organization folder. This node is used to define the BPM Roles, mapping of LDAP Users & Groups as members to the BPM Role. http://download.oracle.com/docs/cd/E21764_01/user.1111/e15175/bpmug_ws_admin.htm#BAJ JBCEE Figure shows defining Roles and members of a Role inside BPM Studio With Oracle BPM 11g R1 PS4 FP release, the logical Roles can be shared as shown in the figure below. You can also specify escalations for each Role. Oracle BPM Suite 11g – People Assignment 1 Oracle BPM Suite 11g Sample – People Assignment Figure shows defining Roles and members of a Role inside BPM Workspace – Administration Panel. 1.1.2 Organization Unit An organizational unit represents departments or divisions within an organization. Organizational units can contain child organizational units, creating a hierarchy that corresponds to your organization. Organization Unit contains a list of members just like BPM Role and might have a Business Calendar associated with it. Organization Units are useful when you wish to associate the process steps or the process itself with members of an organization unit as in this sample. You only want those members of a BPM Role belonging to a certain Organization Unit to be able to perform this task and filter out other members of the BPM Role who do not belong to the specific Organization Unit. The process instance in this case is associated with a specific Organization unit and this information is usually part of the incoming process instance payload. Only those members that belong to both the BPM Role and Organization Unit are assigned to the human workflow task. http://download.oracle.com/docs/cd/E21764_01/user.1111/e15175/bpmug_ws_admin.htm#BAJHHFDD 1.1.3 Extended User Properties User specific properties can be defined either in an LDAP or defined outside of LDAP inside BPM Workspace. In most situations, it might not be possible to extend LDAP to specify process specific user extension attributes. In these situations, the recommendation is to create Extended User Properties for the various Oracle BPM Suite 11g – People Assignment 2 Oracle BPM Suite 11g Sample – People Assignment members inside the BPM Workspace. These extended user properties can be used to filter members of a Role by evaluating conditional expressions based on these properties. For example, the extended user properties can be Location, Job skills, Priority, Languages, Job Level etc and you can define conditions such as “this step can be performed only by a support person in New Mexico, whose Job Level is manager, Language is Spanish etc”. http://download.oracle.com/docs/cd/E21764_01/user.1111/e15175/bpmug_ws_admin.htm#BAJDJAHC 1.1.4 Parametric Roles Parametric Roles are used for dynamic role assignment based on evaluation of conditions. These conditions can be based on Extended User Properties and Organization Units. Refer to this documentation link on creating, editing and deleting Parametric Roles. http://download.oracle.com/docs/cd/E21764_01/user.1111/e15175/bpmug_ws_admin.htm#BAJDJIAG 1.2 Sample Overview 1.2.1 Scope This sample covers Organization Unit, Parametric Roles & Extended User Properties, Sticky User and Participant Exclusion List. Note: This sample will work with Oracle BPM 11 g R1 PS4 FP release and above. 1.2.2 What’s Included The sample Application has 2 Projects: 1.3 1. PurchaseRequisition BPM Project that includes the Purchase Requisition process. 2. CreatePurchaseReq ADF Project that contains the User Interface for the first human process step of the Purchase Requisition BPM Project. All other human steps are not associated with a UI Project. Understanding the Purchase Requisition sample 1.3.1 Context 1. Organization Unit: You need to use Organization Unit when there is a need to filter out members of a Role based on a specific Organization Unit. For example, a support request originating in North America can only be handled by a person in Support Role belonging to the North American Support Organization Unit. 2. Parametric Role and Extended User Properties: You need to use Parametric Role when there is a need to filter out members of a Role based on specific properties associated with the members. For example, a support request originating in Texas, North America of type priority 1 can only be handled by a person in Support Role belonging to the Texas location of the North American Support Organization Unit and who has been designated to handle priority 1 type of support requests. The Extended User Properties are used to capture the properties associated with a member for Parametric Role evaluation. 3. Sticky User: You select the Sticky User setting in the human workflow task definition when you want the same member who acted on the previous human step in a specific swimlane role to also act on the subsequent step in the same swimlane. Oracle BPM Suite 11g – People Assignment 3 Oracle BPM Suite 11g Sample – People Assignment 4. Participant Exclusion List: This is the opposite of Sticky User. You specify the “Participant Exclusion List” in the human workflow task definition when you want to filter out the member who acted on the previous human step in a specific swimlane role to not work on the subsequent step in the same swimlane. 1.3.2 Overview Every employee is required to submit a purchase requisition request to be approved through his management chain as well as the IT department before it can be fulfilled. The request contains details such as: Requisition Id Requisition Date Requestor Org Requisition Value Requisition Status Priority Location Item o Item Id o Item Type o Item Price o Quantity 1.3.3 Create Purchase Requisition by Employee The employee creates a Purchase Requisition by filling a form on the company website. The employee has to specify the Organization Unit, the location and the priority of the request. This triggers the process instance. This is an Initiator Task – Interactive or human workflow task type that triggers the process instance. All members of the Employee task can work on this step. It has to be associated with a Task Form or User Interfaces. The User Interface is part of the zip file. Oracle BPM Suite 11g – People Assignment 4 Oracle BPM Suite 11g Sample – People Assignment In addition to mapping the output of the Create Purchase Requisition process step to the purchaseReqProcess Data Object, the Organization Unit of the process instance is set to the organizationUnit – Predefined Variable. The process instance after this step is tied to the Organization Unit contained in the incoming process instance payload. Please refer to Set up section to understand how to define Organization Units and members of an Organization Unit in BPM Workspace. 1.3.4 Approve Purchase Request The manager of the employee and the manager’s manager need to approve the purchase requisition (management chain workflow pattern). If the manager rejects, the process ends. Add a Management task from the BPMN Palette. Select Properties/Implementation and create a human workflow task implementation of type Sequential Management workflow pattern. Then edit the task definition. Edit the Assignees section Oracle BPM Suite 11g – People Assignment 5 Oracle BPM Suite 11g Sample – People Assignment . Use BPM XPATH Expressions – getLastPerformer() to access the employee id of the employee who submitted the purchase request. Then use Identity XPATH functions to set the assignees to manager and manager’s manager of the employee who has submitted the request. Oracle BPM Suite 11g – People Assignment 6 Oracle BPM Suite 11g Sample – People Assignment 1.3.5 Approve Spec by IT The purchase requisition request then needs to be approved by the IT department. In this sample, the purchase request needs to be approved by the IT department under the same Organization Unit (there are 2 Organization units for purposes of this sample – EMEA IT and North America IT). The Purchase Requisition request contains the Organization Unit field to which this employee belongs. You will have to use this information to filter members of the IT group. In addition, depending on Priority (Number - - for purposes of simplicity can have only one of 2 values – 1, 2) and Location (String type - for purposes of simplicity can have only one of 2 values – CA, TX), the assignees are further filtered. The Location and Priority are part of the Purchase Requisition Request payload of the incoming message. If the IT rejects the spec of the Purchase Requisition Request, it goes back to the Create Purchase Requisition step. Open up the associated Human workflow Task definition to understand the role assignment. This is captured in the screen shot above. The assignment is based on Parametric Role. The role is set to the swimlane role (all members of the swimlane role), the location property of the Parametric Role is set to the location attribute of the incoming purchase request payload and the priority of the Parametric Role is set to the priority attribute of the incoming purchase request payload. The Organization Unit for the process instance was set in the previous step. So, only those members who belong to the swimlane Role as well as the Organization Unit of the process instance and whose properties – location and priority match with the incoming request can work on this process step. Please refer to Set up section to understand how to define Parametric Roles and Extended User Properties for members in BPM Workspace. Oracle BPM Suite 11g – People Assignment 7 Oracle BPM Suite 11g Sample – People Assignment 1.3.6 Approve funding by IT Once the spec is approved, the funding needs to be approved by a different member of the IT department. The same constraints as the previous step in terms of assignee apply to this step as well. Only those members of the IT department who belong to the same Organization Unit, location and priority as that of the Purchase Requisition Request will be able to work on this step. In addition, it should be a different person from the previous step. If the funding is approved the process ends in fulfillment of the purchase requisition. If not, the process ends in cancellation of the purchase requisition (same state as when manager rejects the purchase requisition request). Open up the task definition for this step. The assignment is the same as the previous step. The only addition is in the Participant Exclusion List section. Here the member who acted on the previous step (BPM.GetLastPerformer()) is filtered. 1.4 Set up 1.4.1 BPM Roles & Members This is already done for you and specified as part of the BPM Project. Role Member Employee jcooper (manager – jstein and manager’s manager is – wfaulk) IT Approvals Jausten, jverne, mmitch, fkafka, ltolstoy, istone, mtwain, vhugo, cdickens, wshake, rsteven Oracle BPM Suite 11g – People Assignment 8 Oracle BPM Suite 11g Sample – People Assignment 1.4.2 Set up and add members to Organization Units Org Unit Members North America IT Eheming, jausten, jverne, mmitch, fkafka, ltolstoy, istone, mtwain EMEA IT Vhugo, cdickens, wshake, rsteven http://download.oracle.com/docs/cd/E21764_01/user.1111/e15175/bpmug_ws_admin.htm#BAJHHFDD Figure shows adding Organization Units inside BPM Workspace Figure shows adding members to Organization Unit inside BPM Workspace Oracle BPM Suite 11g – People Assignment 9 Oracle BPM Suite 11g Sample – People Assignment 1.4.3 Set up Extended User Properties Name Org Unit Location Priority eheming North America IT CA 1 jausten North America IT CA 1 jverne North America IT CA 2 mmitch North America IT CA 2 fkafka North America IT TX 1 ltolstoy North America IT TX 1 istone North America IT TX 2 mtwain North America IT TX 2 vhugo EMEA IT FR 1 cdickens EMEA IT GB 1 wshake EMEA IT FR 2 rsteven EMEA IT GB 2 http://download.oracle.com/docs/cd/E21764_01/user.1111/e15175/bpmug_ws_admin.htm#BAJDJAHC The Extended User Properties and possible values are defined in the top half section. The values of various Extended User Properties for the members are defined in the bottom half section. Note: Currently the Extended User Properties can be only of type “String” or “Number” (Integer). Further, there can be only one set of Extended User properties for a given member. Oracle BPM Suite 11g – People Assignment 10 Oracle BPM Suite 11g Sample – People Assignment 1.4.4 Set up Parametric Roles http://download.oracle.com/docs/cd/E21764_01/user.1111/e15175/bpmug_ws_admin.htm#BAJDJIAG 1.5 Testing 1. Go to BPM Workspace. Log in as “jcooper”. Submit a purchase requisition request. Set the Priority to 1, Location to CA, organization Unit to “North America IT” in the purchase Oracle BPM Suite 11g – People Assignment 11 Oracle BPM Suite 11g Sample – People Assignment requisition request. Other fields can have any valid values. Upload 2 documents (create dummy word documents) as attachments to UCM. 2. Login to the BPM Workspace as jstein, who is jcooper’s manager and approve the request. 3. Logout and login as wfaulk, who is jstein’s manager, and approve the request. 4. Login as jausten and approve the spec 5. Log in as eheming and approve the funding (You can also log in as “jausten” – you will see the task but the Actions will not have APPROVE option). 6. In the EM console, check the process flow. You should see the completion of the process. 7. Try changing the location and priority as well as Organization Unit and test if the right members are assigned to the “Approve Spec” and “Approve funding” tasks. Oracle BPM Suite 11g – People Assignment 12