(For more resources on Oracle, see here.)
The BPM Application consists of a set of related business processes and associated shared artifacts such as Process Participants and Organization models, User Interfaces, Services, and Data. The process-related artifacts such as Services and Data are stored in the Business Catalog. The Business Catalog facilitates collaboration between the various stakeholders involved in the development of the business process. It provides a mechanism for Process Developer (IT) to provide building blocks that can in turn be used by the process analyst in implementing the business process.
Start BPM Studio using Start | Programs | Oracle Fusion Middleware 22.214.171.124 | Oracle JDeveloper 126.96.36.199. BPM Studio supports two roles or modes of process development. The BPM Role is recommended for Process Analysts and provides a business perspective with focus on business process modeling. The Default Role is recommended for Process Developers for refinement of business process models and generation of implementation artifacts to complete the BPM Application for deployment and execution.
Tutorial: Creating SalesQuote project and modeling RequestQuote process
This is the beginning of the BPM 11gR1 hands-on tutorial. Start by creating the BPM Application and then design the Sales Quote business process.
- Open BPM Studio by selecting the BPM Process Analyst role when you start JDeveloper or if JDeveloper is already open, select Preferences from the Tools menu and in the Roles section, select BPM Process Analyst. Go to File | New to launch the Application wizard.
- In the New Gallery window, select Applications in the Categories panel. Select BPM Application in the Items panel. Specify the Application Name —SalesQuoteLab; the folder name should also be set to SalesQuoteLab.
- Click on the Next button. Enter QuoteProcessLab for the Project Name. Click on the Finish button.
- Go to the View | BPM Project Navigator. The BPM Project Navigator opens up the QuoteProcessLab – BPM Project that you just created.
A single BPM Project can contain multiple related business processes. Notice that the BPM Project contains several folders. Each folder is used to store a specific type of BPM artifact. The Processes folder stores BPMN business process models; the Activity Guide folder is used to store the process milestones; the Organization folder stores Organization model artifacts such as Roles and Organization Units; the Business Catalog folder stores Services and Data; the Simulation folder stores simulation models to capture what-if scenarios for the business process and the Resources folder holds XSLT data transformation artifacts.
- To create a new business process model, you need to right-click on Processes and select New | Process. This launches the Create BPMN Process wizard. Select From Pattern option and select the Manual Process pattern. Recall that the Sales Quote Process is instantiated when Enter Quote task gets assigned to the Sales Representative role. The Asynchronous Service and the Synchronous Service patterns are used to expose the BPMN process as a Service Provider.
- Click on the Next button. Specify the name for the Process—RequestQuoteLab. Click on the Finish button. This creates a RequestQuoteLab process with a Start Event (thin circle) and End Event (thicker circle) of type None with a User Task in between. The User Task represents a human step that is managed by the BPM run-time engine—workflow component. The Start Event of type None signifies that there is no external event triggering the process. The first activity after the Start Event creates the process instance. In addition, a default swim lane—Role, gets created.
In BPM Studio, the swim lanes in the BPMN process point to logical roles. A logical role represents a process participant (user or group) and needs to be mapped to physical roles (LDAP users/groups) before the process is deployed.
- Right-click on the User Task step, select Properties, and specify the name Enter Quote Details for the step. Click on the OK button.
- The next step is to rename the default created role to SalesRep. Navigate to QuoteProcessLab—BPM Project node and select the Organization node underneath it. Right-click on the Organization node and select Open. This opens up the Organization pane.
- Highlight the default role named Role and use the pencil icon to edit it to be SalesRep. Click on the + sign to add the following roles—Approvers, BusinessPractices, and Contracts. The following screenshot shows the list of roles that you just created:
- Close the Organization window. Go back to the RequestQuoteLab—process model. The participant for the Enter Quote Details—User Task is now set to the SalesRep role. Ignore the yellow triangular symbol with the exclamation for now. It indicates that certain configuration information is missing for the activity.
- Right-click on the process diagram just below the SalesRep-Lane. Choose the Add Role option.
- Choose Business Practices from the list of options available. Click on the OK button.
- Open the View | Component Palette. Drag and drop a User Task from the Interactive Tasks section of the BPMN Component Palette.
Note: The Interactive Tasks refers to a step that is managed by the workflow engine. The Assignees (Participants) represent the business users who need to carry out the Interactive Task. The associated Task (work to be performed) is shown in the inbox of the assignees (similar to Email Inbox) when the Interactive Task is triggered. The User Task is the simplest type of Interactive Task where the assignee of the task is set to a single role. The actual work is performed only when the Assignee executes on his Task. The Task is presented to the Assignee through a browser based worklist application. In BPM Studio, the Assignee is automatically set to the role associated with the swim lane into which the Interactive Task is dropped.
- Place this new User Task after the existing Enter Quote Details—User Task by hovering on the center of the connector until it turns blue and name it Business Practices Review. The connection lines are automatically created.
- Drag the new Business Practices Review—User Task to the Business Practices lane. The performer or assignee for the Business Practices Review—User Task is automatically set to Business Practices—role.
- Create two more lanes for Approvers and Contracts. Drag and drop three User Tasks on to the process diagram, one following the other, and name them Approve Deal, Approve Terms, and Finalize Contracts respectively. Pin the Approve Deal step to the Approvers Lane. Pin the other two User Tasks—Approve Terms and Finalize Contracts steps to the Contracts Lane. Finally add a Service Task right after the Finalize Contracts step from the BPM Component Palette and name it Save Quote. The modified diagram should look like the following:
(For more resources on Oracle, see here.)
The high-level outline of the process is complete. The next step is to modify the process further to promote Approve Deal and Approve Terms steps as parallel and concurrent activities. This can be achieved through a Parallel (AND) Gateway.
- Drag-and-drop a Parallel Gateway from the Gateway Pane and place it right before the Approve Deal step. Click on OK. This creates a pair of Parallel Gateways to indicate the parallel split and parallel join (merge).
- Right-click on the Parallel Split Gateway to bring up the Properties Editor and set the Name to Approvals.
- Right-click on the Parallel Merge Gateway to bring up the Properties Editor and set the Name to Approvals Merge.
- Rewire the outgoing connection from the Business Practices Review step to point to Approvals Gateway.
- Select Approve Deal incoming and outgoing sequence flows, right-click, and choose the Delete option to delete the incoming and outgoing sequence flows.
- Move the Approve Deal User Task and insert it between the Approvals and Approvals Merge Gateways.
- Right-click on the Approvals Gateway and select the Add Sequence Flow to Converging Gateway option to create a parallel path.
- Delete the outgoing sequence flow from Approve Terms step. Now drop the Approve Terms step to the newly created parallel path between Approvals and Approvals Merge gateways.
- Rewire the connections such that the outgoing connection from the Approvals Merge- Gateway is now pointing to the Finalize Contracts step. Do this by right-clicking on the Approvals Merge Gateway task and clicking on Add default sequence flow:
- There is one last modification to be done before completing the outline. The Business Practices Review, Approve Deal, and Approve Terms—User Tasks can have two possible outcomes—APPROVE or REJECT. The APPROVE outcome continues the process on the happy path. On the other hand, the REJECT outcome redirects the process to the Enter Quote Details step so that the Sales Representative can refine the quote and resubmit. The Exclusive (XOR) Gateway can be used to create a loop. Drag and drop an Exclusive Gateway—Business Practices Outcome just after the Business Practices Review step. Change outgoing sequence flow from Business Practices Review to Business Practices Outcome gateway by first selecting the connection leaving Business Practices review and then dragging the connection’s arrow over to the new Business Practices Outcome Gateway task.
- The outgoing business exception path from the newly added Exclusive Gateway should redirect the process flow to the Enter Quote Details step. Right click on the Business Practices Outcome Gateway and select Add conditional sequence flow. Join the connection to Enter Quote Details step. Right-click on this new connection and select Properties. Enter Business Practices Reject as the connection name. Right-click on the Business Practices Outcome Gateway and select Add default sequence flow. The connection line appears and you need to join it to the Approvals step. Name the default path to Business Practices Approve.
- Similarly, the process flow goes to Enter Quote Details step if the Approve Terms step or Approve Deal step outcome is REJECT. Drag and drop an Exclusive Gateway and name it Approvals Outcome just after the Approvals Merge step. The outgoing business exception path from the newly added Exclusive Gateway should redirect the process flow to the Enter Quote Details step as shown in the figure below. Change outgoing sequence flow from Approvals Merge Parallel Join Gateway to flow to the newly added Approvals Outcome XOR Gateway.
- Right-click on Approvals Outcome—Exclusive (XOR) Gateway and select the Add default sequence flow option. A connection appears and you need to join it to Finalize Contracts step. Right-click on the default connection to bring up the Properties wizard. Go to the Description tab. Type in Approved for the connection name.
- Right-click on Approvals Outcome—Exclusive (XOR) Gateway again and select the Add conditional sequence flow option. A connection appears and you need to join it to the Enter Quote Details step. Right-click on the conditional connection to bring up the Properties wizard. Go to the Description tab. Type in Deal or Terms Rejected for the connection name. The completed process outline looks like the following diagram. Save the process.
In this article we learned about creating a BPM Project. The simplicity and expressiveness of BPMN extends modeling to a wider business audience. It enables business users to get involved in understanding and improving their own processes. In addition, the BPMN models allow high fidelity mapping between business requirements and the actual executable process, as the model is the implementation. This business-empowered, model-driven execution allows business and IT stakeholders to collaborate throughout the process development life cycle.
- Oracle Coherence 3.5 [book]
- EJB 3.0 Database Persistence with Oracle Fusion Middleware 11g [book]
- The Business Analyst's Guide to Oracle Hyperion Interactive Reporting 11 [book]
- Using Oracle Service Bus Console [article]
- Introduction to Oracle Service Bus & Oracle Service Registry [article]
- BPMN 2.0 Concepts and The Sales Quote Process [article]