Your message has been sent.
This article has been saved to your account.
Go to my account
This article has been emailed to your Kindle.
Send this article
The adoption of Business Process Management (BPM) is increasingly becoming one of the most popular approaches for boosting overall organizational excellence. Built on Oracle's SOA (Service Oriented Architecture) Suite infrastructure, BPM Suite 11g provides enhanced support for application integration services and business events, Web 2.0 and E2.0 style collaborations, and high scalability. It is a full-featured, enterprise-grade BPMS that has sufficient easy-to-use features to make it also suitable for small departmental quick-win projects.
In this article by Heidi Buelow, Manoj Das, Manas Deb, Prasen Palvankar and Meera Srinivasan, authors of the book Getting Started with Oracle BPM Suite 11gR1 - A Hands-On Tutorial, we will learn to create a BPM application.
(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 188.8.131.52 | Oracle JDeveloper 184.108.40.206. 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:
eBook Price: $35.99
Book Price: $59.99
(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]
eBook Price: $35.99
Book Price: $59.99
About the Author :
Heidi Buelow is a BPM Product Manager with Oracle and is responsible for Oracle BPM Suite and programs such as beta and technical previews. Heidi joined Oracle in 2006, and previously was Chief Application Architect developing a Business Process Management engine, developer toolset, and application framework. Heidi started her career as a software developer at Xerox working on the Xerox Network Services and Star Workstation products where she first learned to appreciate object-oriented and services-oriented technologies. She holds a Bachelor of Science degree in Computer Science from the University of Southern California.
Manas Deb is a senior director in the Fusion Middleware/SOA, BPM, Governance Suites Product Group at Oracle HQ. He currently leads outbound product management and many strategic engagements initiatives for Oracle's SOA, BPM, and Governance solutions, worldwide. He is also responsible for Oracle/HQ-based SOA Methodology initiatives. He has worked in the software industry for over twenty years, most of which was spent in software product management/marketing and on architecting and leading a wide variety of enterprise-level application development and business integrations projects in a wide variety of industries. A graduate of The Indian Institute of Technology (KGP), Manas attended post-graduate studies at University of Texas at Austin. He received his PhD in an inter-disciplinary program comprising Computer Science, Applied Mathematics, and Engineering. Manas also has an MBA with specialization in international business.
Manoj is Director of Product Management at Oracle, responsible for Oracle's BPM Suite of products. Manoj's BPM journey started at Siebel Systems, where he was responsible for the next generation process-centric and insight-driven application platform. He plays a leadership role setting BPM and SOA industry standards, especially in BPMN 2.0, BPEL, and Business Rules. He is widely recognized at industry conference and in Information Technology publications. Manoj has a BS in Computer Science from IIT Kanpur and an MBA from UC Berkeley. He has held senior Product Management, Development Management, and Product Development positions at Oracle, Siebel, Mentor Graphics, and elsewhere.
Meera Srinivasan is a BPM Product Manager with Oracle and is responsible for Oracle BPM Suite and Oracle BPA Suite. She has 15 years of extensive experience in integration, SOA, BPM, and EA technologies and represents Oracle at OMG, OASIS and other industry consortia. Meera joined Oracle in 2003, and was part of the SOA Product Management team managing Adapters. Prior to joining Oracle, she spent seven years with TIBCO Software, a pioneer in electronic trading, message-oriented middleware, and enterprise integration. At TIBCO, she was an Engineering Manager involved in managing the development of various Adapters and EAI technologies. She holds a Master of Science degree in Computer Science from the University of Florida at Gainesville.
Prasen Palvankar is a Director of Product Management at Oracle and is responsible for outbound SOA Suite and BPM Suite product-related activities such as providing strategic and architectural support to Oracle's SOA Suite and BPM Suite current and prospective customers and also includes field and partner enablement, and training. Prasen joined Oracle in 1998 and worked as a Technical Director in the Advanced Technology Solutions group in Oracle Consulting delivering large-scale integration projects before taking on his current role five years ago. Prior to joining Oracle, he worked as a Principal Software Engineer at Digital Equipment Corporation.