Oracle® BPM 11g Hands-On Workshop Lab Guide

Copy right© 2010

TABLE OF CONTENTS
AGENDA: ...................................................................................................................................... 4 GETTING STARTED .................................................................................................................. 5 LAB 1: BPMN MODELING...................................................................................................... 14 Introduction................................................................................................................................... 14 Naming Convention ...................................................................................................................... 15 Creating the BPM Project for Quote Process .............................................................................. 16 Creating the high-level outline of the BPMN process .................................................................. 18 Adding conditional split for Business Practices Review Step....................................................... 27 Adding parallel paths for approvals ............................................................................................. 30 Adding loops for redo of Quote .................................................................................................... 34 LAB 2: PROCESS SIMULATION WITH BPM STUDIO ..................................................... 39 Process Simulation Overview ....................................................................................................... 39 Process Simulation Lab ................................................................................................................ 39 Creating Process Simulation Models............................................................................................ 40 Creating the Project Simulation Definition .................................................................................. 45 Running the simulation ................................................................................................................. 47 Analyze the Simulation Results ..................................................................................................... 48 LAB 3: PROCESS IMPLEMENTATION ............................................................................... 51 Naming Conventions ..................................................................................................................... 51 Launch BPM Studio ...................................................................................................................... 51 Business Catalog........................................................................................................................... 53 Creating a Business Object........................................................................................................... 53 Data Inputs and Data Outputs ...................................................................................................... 56 Creating Data Objects .................................................................................................................. 57 Implementing “Enter Quote Details” Interactive Task ................................................................ 60 Configuration of the Service Task................................................................................................. 73 DAY 2 ENVIRONMENT SETUP ............................................................................................. 90 LAB3 CONTINUED ................................................................................................................... 94 Mapping swim lane Roles to LDAP Roles .................................................................................... 94 Deploying the process ................................................................................................................... 96 Using the Oracle BPM Workspace ............................................................................................. 100 Monitoring the Process Instance using Workspace .................................................................... 107 LAB 4: BPM COMPOSER ...................................................................................................... 110 Introduction................................................................................................................................. 110 Creating a Process Blueprint in BPM Composer ....................................................................... 110 Creating a Process Template in BPM Studio ............................................................................. 114 Creating a Mediator Service....................................................................................................... 123 Creating a Process from a Project Template using Composer .................................................. 132

Confidential

Page 2 of 167

LAB 5: MONITORING AND ANALYTICS ......................................................................... 139 Adding Monitoring to a BPMN Process ..................................................................................... 139 Configuring BPM Project for BAM Monitoring ......................................................................... 146 Creating BAM Dashboards......................................................................................................... 152 Viewing BAM Dashboards.......................................................................................................... 159 APPENDIX ................................................................................................................................ 162 Set up MDS Connection .............................................................................................................. 162 Publish BPM Project in BPM Studio to MDS ............................................................................ 166

Confidential

Page 3 of 167

12:00 Sign In Introductions and JDeveloper Install Oracle BPM Product Overview Presentation and Demo BREAK Process Modeling with BPMN Presentation Modeling Lab1 LUNCH Process Simulation Presentation Simulation Lab 2 BREAK Process Implementation Presentation Implementation Lab 3 Day 1 Wrap up Q&A 12:00-1:00 1:00-2:30 2:30-2:45 2:45-4:30 4:30-? DAY 2 9:00-10:30 Implementation Lab (con’d) Deploy and Testing BREAK Customization and BPM Composer Presentation Composer Lab 4 LUNCH Process Analyti cs Pre sentation Process Analyti cs Lab 5 Day 2 Wrap up Q&A 10:30-10:45 10:45-12:00 12:00-1:00 1:00-3:00 3:00-? Confidential Page 4 of 167 .Agenda: DAY 1 8:30-9:00 9:00-9:30 9:30-10:30 10:30-10:45 10:45.

Confidential Page 5 of 167 .in’s.exe in the location you downloaded to (c:\BPMWorkshop) 2) Click Next on the Welcome screen.Getting Started We’re going to be installing Oracle JDeveloper and then adding the SOA and BPMN editor plug. 1) Double-click jdevstudio11113install.

3) Make sure the “Create a New Middleware Home” radio button is selected. If you do not want to use the default installation directory make sure you install to path which does NOT contain spaces (do NOT install to Program Files). 4) Select Complete install and click Next. Confidential Page 6 of 167 .

Confidential Page 7 of 167 . 6) Keep the default of All Users and click Next.5) Click Next on the Confirm Installation Directories page.

it will take a few minutes to complete.7) Click Next to start the installation. When it completes. Confidential Page 8 of 167 . De-Select the Run QuickStart option and click Done.

0 Start Menu Program group or double-click jdeveloper.1.1.3.8) To Start JDeveloper either click the JDeveloper Studio 11. Confidential Page 9 of 167 .0 option under the Oracle Fusion Middleware 11. 10) Just click OK on the file associations screen.1.1.exe from Windows Explorer under yo ur <Middleware Home>\jdeveloper path 9) Select Default Role and OK to open.3.

Confidential Page 10 of 167 . 13) Select Help from the Menu Bar.11) De-select the usage tracking option and click OK 12) De-select Show tips at Startup and close the Tip of the Day.

Confidential Page 11 of 167 . 16) Select the Install for Local File radio button then click Browse.14) Select Check for Updates 15) Click Next on the Welcome page.

zip and click Open.17) Navigate to your C:\BPMWorkshop (or wherever you saved the download files) and select the soa-jdev-extension. 18) Click Next 19) Click Finish Confidential Page 12 of 167 .

22) You’ll need to restart JDeveloper one more time.zip file. Instead of Step 17 we’ll instead select the bpm-jdev-extension. 21) Repeat steps 13 through 16. Confidential Page 13 of 167 .20) Click Yes to restart.

Lab 1: BPMN Modeling
Introduction
Note: The solution for this chapter can be found in c:\BPMWorkspace\Solutions\SalesQuoteLab_lab1.zip The first exercise is based on building the Sales Quote Process model. You first create an outline of the process flow as a BPMN model using the Oracle BPM Studio. Oracle JDeveloper with the BPMN Editor extension is called Oracle BPM Studio. Implementation details are added in a later exercise. The Sales Quote scenario is as follows:  The business process implements a solution for Sales Representatives to submit Sales Quotes and manage all the approvals within a particular Sales organization. A quick recap on the business process definition and its flow is detailed below. The Business Process is triggered by a Sales Representative creating a Task to Enter the Quote details in the “Enter Quote” interactive step. The next step is to determine the list of approvers for the Quote using business rules and also to determine whether additional review by Business Practices is required. This is accomplished through the “Determine Approval Rules” step. After the rules have been evaluated, the next step is to check whether “Business Practices Review” is required and if “yes” go through the “Business Practices Review” step. The Quote then has to get approved for the deal structure and terms. After the “Business Practices Review” has been completed, the process instance moves to the “Approve Quote” and “Approve Terms” activities that are executed in parallel. The “Approve Quote” activity is executed by approvers in the “Approvers” role and the “Approve Terms” by individuals that have been assigned the “Contracts” role in the organization. Once these 2 steps in the business process have been completed successfully, the process instance moves on to the “Finalize Contracts” step and waits for its final approval by an individual in the “Contracts” role.

 

Confidential

Page 14 of 167

The complete flow is shown in the figure below.

Naming Convention
   The folder and the application should be called SalesQuoteLab The project and the composite should be called QuoteProcessLab The process should be called RequestQuoteLab

Confidential

Page 15 of 167

Creating the BPM Project for Quote Process
1. Open BPM Studio and select the BPM Process Analyst mode when you start JDeveloper.

 2. On the Upper Left Select New Application.

Confidential

Page 16 of 167

and click Finish Confidential Page 17 of 167 . choose BPM Application in the center panel and click Next. 4. Enter QuoteProcessLab for the Project Name. Enter SalesQuoteLab for the Application Name.3.

5. 6. Creating the high-level outline of the BPMN process 7. Close the Overview tab by hovering your mouse over the tab and clicking the X. Go to the BPM Project Navigator by clicking on tab on the left hand side. Confidential Page 18 of 167 . Right-click QuoteProcessLab and select New | Process.

a default swim lane – Role gets created and the swim lane points to the default logical role – “Role”. Confidential Page 19 of 167 .8. 11. The Start Event of type “None” signifies that there is no external event triggering the process. Select From Pattern » Manual Process. Click Finish. This creates a RequestQuoteLab process with a Start Event (thin circle) and End Event (thicker circle) of type “None” with an Inte ractive Task of type User Task in between. The first activity after the Start Event creates the process instance. Specify the name for the Process – “RequestQuoteLab”. 12. In addition. 9. Click Next 10.

In BPM Studio. the swim lanes in the BPMN process point to logical Roles. The Interactive Tasks refers to a step that is managed by the workflow engine. Right click on the User Task step. 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. The actual work is performe d only when the Performe r executes on his Task. Confidential Page 20 of 167 . Now. The Performe rs represent the business users who need to carry out the Interactive Task. Click OK. 14. The associated Task (work to be performe d) is shown in the inbox of the assigned Performe rs when the Interactive Task is triggered. 13. The Task is presented to the Pe rforme rs through a browser based worklist application. This will be addressed in Lab 2 . select Properties and specify name “Ente r Quote Details” for the step. the Performe r is automatically set to the “Role” associated with the swim lane in to which the Inte ractive Task is dropped.Note: In BPM Studio. change the name of the default role Role to “SalesRep” by going to QuoteProcessLab/ Organization node.

16.15. Highlight the default role named “Role” and use the pencil icon to edit it to be “SalesRep”. This opens up the Organization pane. select BPM Project Navigator to view the contents of the BPM project. In the left navigation bar. 17. Click on the “+” sign to add the following Roles – “Approvers”. Right-click on Organization node and select open. “Business Practices” and “Contracts”. Confidential Page 21 of 167 .

Click OK. Confidential Page 22 of 167 . Right-click on the process diagram just below the SalesRep-Lane. The performe r or assignee for the Enter Quote Details – User Task is now set to the “SalesRep” Role.18. 20. Close the Organization window by hovering over the tab and clicking X. 19. Select “Business Practices” from the list of options available. 21. Drag the End activity to the right to give us more room to work. Choose the “Add Role” option. Click Yes when prompted to save.

You’ll find it by opening the Activities node. Open the View->Component Palette. Confidential Page 23 of 167 . 23. Click on User Task from the BPM Component Palette.22.

Important: Note that the click-and-drop action from Component Palette to process canvas works a bit diffe rently than other drag-and-drop actions you have to release the mouse button afte r the click to select the component in the palette (instead of holding down the mouse button) and then click in the process canvas to drop it. The connection lines are automatically created. 25. “Business Practices Review” and click OK. Name this User Task. 24. Drop this new User Task after the existing Enter Quote Details – User Task by hovering on the center of the connector between Enter Quote Details and End until the connector turns blue. Confidential Page 24 of 167 . Then click the mouse button to drop the Task.

27. 28. The performer or assignee for the Business Practices Review . Confidential Page 25 of 167 . Create two more lanes for Approvers and Contracts.26. Drag the End activity to the right side of the Contracts lane.User Task is automatically set to Business Practices role. Drag the new Business Practices Review – User Task to the Business Practices lane.

29. and name them –“Approve Deal”. Move the other 2 User Tasks – “Approve Terms ” and “Finalize Contracts ” to the “Contracts ” Lane. “Approve Terms” and “Finalize Contracts” respectively. Move the “Approve Deal” to the “Approve rs” Lane. Confidential Page 26 of 167 . Drop 3 User Tasks on to the process diagram. 31. Do a Save All either by choosing File | Save All from the Menu Bar or clicking the icon. 32. Make sure when you drop that the connector line has turned blue. 30. one following the other.

33. Add it to the Business Practices swim lane. Click & drop an Exclusive (XOR) Gateway from the Gateways Pane and add it to the process right after the Enter Quote Details step (not on top of a connector). We now have a high.level outline of the process. Confidential Page 27 of 167 . The modified diagram should look something like this: 34. 36. Finally add a Service Task right after the “Finalize Contracts – User Task” from the BPM Component Palette and name it “Save Quote”. We can now start adding the conditional branching to include the scenario where the Business Practices Review step can be completely bypassed. Do a Save All Adding conditional split for Business Practices Review Step 35.

39.37. First.Gate way will have 2 outgoing branches – the conditional one leads to Business Practices Review and the default branch directly joins with the Approve Deal step. Confidential Page 28 of 167 . In the Properties Editor set the Name to “Is Business Practices Review required?” 38. select the connector coming from Enter Quote Details (currently connected to Business Practices Review) and drag it to the gateway. This Is Business Practices Required? .

Right-click on the outgoing connections and select Properties. Next. right-click on the gateway again and select Add Default Sequence Flow and click on Approve Deal. Confidential Page 29 of 167 . Finally. right-click on the gateway and select Add Conditional Sequence Flow and click on Business Practices Review. 42. Name the cond itional path to “Yes” and the default path to “No”. 41.40.

This creates a pair of Parallel Gate ways to indicate the parallel split and parallel join (merge). 45. 46.Adding parallel paths for approvals 43. Click OK. Confidential Page 30 of 167 . Right-click on the Parallel Merge Gateway to bring up the Properties Editor and set the Name to “Approvals Merge“. 47. This can be achieved through a Parallel (AND) Gate way. We need to modify the process flow further to promote Approve Deal and Approve Terms steps as parallel and concurrent activities. 44. In the Properties Editor set the Name to “Approvals“. Click & drop a Parallel Gateway from the Gate way Pane and place to the right of the Approve Deal step in the process (not on a connector).

Rewire the outgoing connections from both the Is Business Practices Review Required? – Gateway and Business Practices Review steps to point to the Approvals Gateway. Confidential Page 31 of 167 .48. Rightclick and choose the delete option to delete the sequence flow going out of Approve Deal step. 49. On the Approve Deal step. select the connector coming from the activity.

Confidential Page 32 of 167 .50. Move around the gateway first to give you more room. 51. Drag the Approve Deal User Task and drop it on the connector between the Approvals and Approvals Merge Gateways. 52. Right-click on the Approvals Gateway and select the “Add sequence flow to converging gate way” option to create a parallel path. Delete the outgoing sequence flow from Approve Terms step. Drag the newly created flow connector down a little bit to give you some room.

54. Confidential Page 33 of 167 . Connect it to Finalize Contracts. Now drop the Approve Terms step to the newly created parallel path between Approvals and ApprovalsMerge gateways.53. Right-click the ApprovalsMerge gateway and select Add default sequence flow.

Click & drop an Exclusive Gateway – “Business Practices Outcome” just after the Business Practices Review step (Do not drop on a connector). the modified process diagram looks like the figure below. Confidential Page 34 of 167 . The Exclusive (XOR) Gate way is required to create a loop. The Business Practices Review. Now. 59.55. 58. also called the happy path.User Tasks can have 2 possible outcomes – “APPROVE” or “REJECT”. Take some time to review: Adding loops for redo of Quote 57. There is one last modification to be done before we complete the outline. the “REJECT” outcome redirects the process to the “Enter Quote Details” so that the Sales Representative can refine the quote and resubmit. Do a Save All 56. Approve Deal and Approve Terms . On the other hand. The “APPROVE” outcome continues the process along the main path.

right-click and add the conditional path to Enter Quote Details step. 61.60. Confidential Page 35 of 167 . 62. Name the conditional path as “Business Practices Reject”. Drag the outgoing sequence flow from Business Practices Review to Business Practices Outcome gateway. The outgoing business exception path from the newly added Exclusive Gateway should redirect the process flow to the Ente r Quote Details step. Select the Business Practices Outcome – Gateway.

Select the Business Practices Outcome – Gateway. 64. Drag & drop an Exclusive Gateway – “Approvals Outcome” just after the Approvals Merge step Confidential Page 36 of 167 . 65. the process flow goes to Enter Quote Details step if the Approve Terms or Approve Deal outcome is “REJECT”. Similarly. right-click and add the default path to Approvals step.63. Name the default path to “Business Practices Approved”.

Confidential Page 37 of 167 . Drag the outgoing sequence flow from ApprovalsMerge Parallel Join Gateway and redirect it to the newly added Approvals Outcome XOR Gate way. 67. Drag the Approve Terms activity into the Contracts swimlane.66.

69.68. The completed process outline looks like the following diagram. Confidential Page 38 of 167 . 70. Draw a conditional sequence flow from Approvals Outcome Gate way to Enter Quote Details step. Do a Save All. Draw a default sequence flow from Approvals Outcome Gate way to Finalize Contracts step. 71. Name this branch to “Deal or Terms Rejected”. Name this branch to “Approved”.

It consists of Process Simulation Model of multiple processes. You need to create Process Simulation Models and Project Simulation Definitions to run simulation. A sudden increase of the number of instances flowing through the process. You need to ask the Confidential Page 39 of 167 . Process Simulation Lab This exercise will demonstrate how a business analyst can analyze and propose changes to business processes using Oracle BPM Studio.Lab 2: Process Simulation with BPM Studio Process Simulation Overview Business process simulation until now has seldom been implemented. It can verify that the desired output meets the metric objectives and easily finds bottlenecks in redesigned processes and leads to breakthroughs. The Process Simulation Model captures a “What. Because of tight development schedules. you can mimic the behavior of your business process.if” experiments to see what the impact will be of:    Reducing or increasing the number of people assigned to an activity. by configuring parameters within the Process and Project Simulation Models. This allows you to create different simulations based on different combinations of resource allocations and activity behavior. You can have multiple Process Simulation Models for a particular business process model.is” and desired “should-be” processes typically falls victim of having too little time. the plan to simulate the current “as. However. The Project Simulation Definition is used to take the dependency and shared resources across processes in to account. It helps run “what.  Throughput and process analysis Activity-based costing Resource allocation Make changes to the process to optimize the flow The simulation algorithm is based on discrete events that can process events in a serial fashion as they occur in time. Changing the approval ratio from 70% approved / 30% disapproved to a worse case 50% approved / 50% disapproved. This can help avoid the embarrassment and cost of launching a new process with a flaw that only becomes obvious on day 3 of production. The objectives of this exercise are  Run simulations on business processes and analyze the following results. Simulation is a powerful tool and it is worth the time spent doing simulations before going into production. The simulation does not execute the actual code of each activity within the process.if scenario” for a particular business process model.

“ 2. you can find 2 folders – Simulation Definitions for storing Project Simulation Definitions and Simulation Models for storing Process Simulation Models. If you don’t already have the BPM project from Lab #1 opened. 6. start the BPM Studio 11g and open up the SalesQuoteLab application workspace. In the BPM Project Navigator go to the Simulations node and expand underneath it. Confidential Page 40 of 167 . Underneath this node.right questions to get the right response! In order to perform simulation the process needs to be complete and semantically valid. Open up the “Processes” node. 5.zip. you can use the project from c:\BPMWorkshop\Solutions\SalesQuoteLab_lab2. Double-click on the “RequestQuoteLab” element This opens the Request Quote Lab main process and you are now looking at the process diagram showing in the standard Business Process Modeling Notation (BPMN). 4. You will be simulating the process that was created in Lab #1. Creating Process Simulation Models 1. Switch to the BPM Navigator Pane (ViewBPM Project Navigator) 3. If you were not able to complete it or would like to use an already completed process.

right-click and choose the New Process Simulation Model. A Process Simulation Model can configure the following settings for a process: • Process settings • Amount and rate of instances created in the process. 9. exponential etc. uniform. Type in “NormalLoad” for the Simulation Model that you will be creating now and click OK. Confidential Page 41 of 167 . This can either be a constant or statistical distribution such as normal. 8. This will open up the NormalLoad simulation model definition.7. Select the Simulation Models folder.

number of people associated with a Role if it is a User Task. 3 seconds Cost Outgoing Flows $100 N/A Confidential Page 42 of 167 . 11. Std Deviation) Normal. change the Distribution Type to Constant. To configure the frequency of process instances created. Select the Start activity at the bottom. Activity Name Approve Deal Duration (Distribution type. For example. and change the Period to 5 minutes as shown in the figure below. select the Flow Nodes tab and set the parameters as shown in the table below: (Resources will not be defined in the Process Simulation Model but will be specified while creating the Project Simulation Definition). Probability percentage of instances routed through the different outgoing transitions Cost for processing the activity and cost of the activity + the cost of the resource if it is an interactive human centric step • Routing Settings • • Cost Settings • 10. 12. 20 minutes. First click on the Flow Nodes tab. Mean. This can either be a constant or a statistical distribution. To set the Activity based parameters.• Activity Settings • Average Execution Time.

Activity Name Approve Terms Business Practices Review Enter Quote Details Finalize Contracts Is Business Practices Review Required? Gateway Business Practices Outcome Gateway Duration (Distribution type. Std Deviation) Normal. Mean. 20 minutes. 3 seconds Normal.. 3 seconds Normal.1 (100%) Enter Quote Details –0 13. 10 minutes.9 (90%) Approvals .1 (10%) N/A - Approvals. Example screen shots are provided below: Confidential Page 43 of 167 .. 3 seconds Normal.3 seconds N/A Cost Outgoing Flows $50 N/A $100 N/A $30 $60 - N/A N/A Business Practices Review . 30 minutes. 20 minutes.

Confidential Page 44 of 167 .The Outgoing Flows tab is used to define the Routing probability. Save All. 14.

Set this for all Human Task activities. You are creating a project simulation model because this is what actually determines which processes and process simulation models should be used and how resources should be configured for the simulation. Hover over the tab and click X Creating the Project Simulation Definition As you know.15. You need to select “Use Organization Resources” in order to use the Roles that you have already defined when you created the “Request Quote” process model. Close the NormalLoad tab. BPM projects can consist of many processes. you will create a project simulation model. note that there are two Simulations folders – Simulation Definitions and Simulation Models. Do a Save All 17. 16. In this step. 1. Similarly. right click the Simulation Definitions folder and click New Simulation. In the BPM Project Navigator/Simulations tab. each project simulation can consist of one or more processes and their corresponding simulations. As shown below. Confidential Page 45 of 167 .

you configure your simulation for your current number of peop le available to perform the activities in their roles. 5. Change the Duration to 10 hours. each project simulation can consist of one or more process simulations. Enter AsIsSalesQuoteSimulation as the Simulation Name.flight instances finish before the simulation ends. 4. Confidential Page 46 of 167 . 7. 3. In this panel. Check the checkbox for Include in simulation. Check the checkbox beside Let in. As mentioned before. Make sure you set the capacity for each resource as shown in the figure below. Click the Resources tab 6.2. Click the + button to set the participants for the roles you already have included in this project. The “Normal Load” process simulation model is the only item in the list and is the only simulation you can include. the organization resources.

Close the AsIsSalesQuoteSimulation tab by hovering over the tab and clicking X Running the simulation Click the Simulation tab in the bottom window as shown below. If you do not see this tab. Confidential Page 47 of 167 .8. Do a Save All 10. Note: To select the predefined roles. open the simulation view from the menu by clicking View -> Simulations. double-click the Roles cell and then the magnifying glass to open the roles list 9.

click the Run to end button in the Simulation View. change the report type to Bar in the drop-down just below the Chart tab in the left side of the simulation view. for your convenience. 13. Start by looking at over all process execution time.11. Analyze the Simulation Results Now that you’ve run the simulation. This starts simulation in an interactive mode where you can follow the progress on your process diagram. it’s time to analyze the results. click the Start button. First. When you clicked the Start button. note that the process diagram view opened up and you now can see the simulation run its course. 12. This will make the chart more readable by showing the activities on the vertical axis and values out the horizontal axis. Confidential Page 48 of 167 . With the process diagram open in the top window. To complete the simulation without waiting.

on the right side of the simulation chart tool bar. To investigate why the process is taking this long to process orders. You now see one big bar showing the overall average process time for the Order Management process. 17. Confidential Page 49 of 167 .45 hours for processing the Quote. Now you have drilled into the process and can now see the average times for processing for each activity. Select the icon to filter out the activities that have a negligible processing time. The Approve Deal has an average cycle time of nearly 5 hours which is unacceptable. It takes 3.14. Now click the Indicators the Time checkbox. drill down in to simulation results for Activities as shown in the figure below. 18. 16. Select 15.

You see that the Approve Deal is taking much more time than any of the other activities combined.30 hours. Confidential Page 50 of 167 . Aha! It looks like orders that need approve deals are backed up for most of the processing time with no one working on them. This is a surprise because it takes only 20 minutes approximately to complete the step. Maybe there is a bottleneck here? To find out.19. You can see that the maximum average waiting time is nearly 4. take a look at average waiting time.

variables. and Adapter Services and binding them to the process activities. Now. you will know how to:     Implement Process Activities and create Task. e.g. activities. Rule and Adapter Services Define the different kinds of Data Objects (variables) Define Data Inputs and Data Outputs (arguments) Map arguments to instance variables The tasks you will complete in this lesson are:        Understanding of Business Catalog Define Task Services and map to Interactive Tasks Define Adapter Services and map to Service Task. you will further enhance the process by creating data types.Lab 3: Process Implementation In the first exercise. EnterQuoteUILab Launch BPM Studio 1. Objectives After completing this lesson. launch BPM Studio Confidential Page 51 of 167 . you built a basic process with roles. and transitions. Create Business Objects (data types) Create Data Inputs (input arguments) and Data Outputs (output arguments) for process and process steps Create Variables (Data Objects) Create Data Mappings Naming Conventions     The folder and the application are called SalesQuoteLab The project and the composite are called QuoteProcessLab The process is called RequestQuoteLab The user interface (UI) project names all end with UILab. In this lesson. Task Services.

Click OK. you need to go to Applications Navigator. Confidential Page 52 of 167 . When prompted for the developer type. right-click your BPM Project(QuoteProcessLab) and select Project Properties from the context menu. When the project opens. select Default Role. Note: If you receive an error dialog similar to this: 3.2.

Go to Technology Scope . Rule Services) as well as Business Objects (Data). BPEL processes. Business Catalog The Business Catalog holds the different types of Services (System. Some folders have a lock to indicate that the artifacts inside them cannot be deleted. There are different folders for holding different types of BPM artifacts. select SOA and add it to the right pane as shown in the figure below. scroll down the list on the left . Creating a Business Object Confidential Page 53 of 167 . Task Services.4.

xsd file. This brings up the Business Object dialog. Type in “Quote” in the Name field. Click on the Magnifying Glass next to the Destination Module. you create a Business Object named Quote defined by the QuoteRequest element in the Quote. Click on the New symbol to add a module under Business Catalog with the name “Data”.Complex types are referred to as Business Objects in BPM Studio and represented by XML Schema. Business Objects are stored under the Business Catalog folder. right-click on Business Catalog. Perform the following steps to create this Business Object. In this example. This brings up the Module List dialog. select New and then select Business Object. 2. 3. In the BPM Project Navigator. 1. Confidential Page 54 of 167 . There are 2 ways to create a Business Object   Create from scratch Browse an external schema definition and create Business Objects from it.

xsd file in the lab materials C:\BPMWorkspace\MyFiles\xsd folder. Select the Based on External Schema option and click the Magnifying Glass icon.4. Click OK 5. Click on the Import Schema Files icon on the top right corner to import an XSD file into your BPM Project. 6. Select the Copy to Project option in the Import Schema File dialog and select the Magnifying Glass icon 7. Confidential Page 55 of 167 . This brings up the SOA Resource Browser window. This brings up the Type Chooser dialog. Locate and select the Quote.

9. You can add description and documentation details here as desired. 10. The Quote Business Object opens.8. 11. Confidential Page 56 of 167 . Sub-process) or Process. Click OK and click OK again. Data Inputs and Data Outputs Data Input refers to the information required to start the Activity (Task. Expand the Project Schema Files folder in the Type Chooser and select the QuoteRequest element. Click OK to close the SOA Resource Browser and click OK again on the Localize Files dialog. A collection of Data Inputs is referred to as an Input Set. close the Quote window. When finished. This completes the creation of the Quote Business Object. It is the input argument.

Boolean. Approve Deal and Approve Terms activities. you create 3 String variables for the outcomes of Business Practices Review. If the Structure pane is not visible. or it can be a complex type. The End Event has only Input Set. you create a Boolean variable used to determine if the Business Practices Review step is required or not. highlight your RequestQuoteLab process to view the Structure pane in the lower left of the screen. In the BPM Project Navigator. It is the output argument.  A Data Object has a Type.Data Output refers to the data that is returned from the Activity or Process. Note: As you will see in later section. Other activities can have both Input and Output Sets. Activity Level (local variables) – Visible within a particular scope of the process. Creating Data Objects Data Objects represent variables. In addition. The lifetime of the Data Object is limited to the lifetime of the scope. In this lab. The type can be scalar or native type: String. Integer. Data Objects can be one of:   Process Level (process variables) – Visible throughout the process and persisted through the life time of the process instance. A collection of Data Outputs is referred to as an Output Set. or System) that it is bound to. the input and output arguments of the process step is the same as the inputs and outputs of the Service (Task. The Start Event has only Output Set. Confidential Page 57 of 167 . Project Level (BPM project variables) – Visible across processes within a particular BPM Project. You also create a complex variable of the QuoteRequest type in Quote. Rules. Array. select ViewStructure and be sure you have your process selected in the BPM Project Navigator. 1. The Output Set of the Start Event and the Input Set of the End Event determine the arguments of the Process.xsd. Decimal.

Right click on the Process Data Objects folder and select New to launch the Create Data Object window. Process Data Object Name approveDealOutcome approveTermsOutcome businessPracticesOutcome businessPracticesReviewRequire Type String String String Bool Confidential Page 58 of 167 . Do this for each of the scalar Data Objects listed below.2. Enter a value for the Name field and select the appropriate scalar type. 3.

7. Click OK and click OK again Confidential Page 59 of 167 . 6. Now create a Data Object of type Quote Business Object. 5.4. Right-click on Process Data Objects in the Structure Pane and select New. Type in “quote” for the Name of the Data Object. To set the quote to the type Quote Business Object. you have to select the “…” option. This brings up the Create Data Object dialog. This brings up the Type Chooser window. Select Component from the list of types and then choose the Quote from the list of Business Objects 8.

you need to implement the process activities. Now. you defined the outline of the process and specified only the Name and Description for the activities. You can either browse for existing Task Services or create one on the fly. Right click on the Enter Quote Details user activity and select Properties Confidential Page 60 of 167 .9. 1. Multiple Interactive Tasks can share the same Task Service. in order to execute the process. In this exercise. Click on SaveAll icon on the Menu Bar Implementing “Enter Quote Details” Interactive Task Defining the Task Service In the first exercise. Every Interactive Task has to be bound to a Task Service. you create a new Task Service.

Confidential Page 61 of 167 . Set the parameter to Editable. This automatically sets the outcome to “SUBMIT”. In the Properties dialog. Click on the green + next to Parameters to launch the Data Object dialog 8. 7. click the Implementation tab 3. 9. In the Create Human Task dialog Enter the name.2. Drag quote from the Data Object Navigator window to the Parameters section. 10. “EnterQuoteDetails” 5. Select Initiator for Pattern. Type in “Enter Quote” for the title. Click OK and click OK again. 6. Click the green + next to Human Task 4.

Confidential Page 62 of 167 . Double-click the . 12. 2.11. Expand the Business Catalog > HumanTasks folder to examine the newly created Task Service and the Types folder to see the associated types. Do a SaveAll Generate Form for the Task 1. This completes the creation of the EnterQuoteDetails Task Service. Now open the Task Service.task file to open the Task Editor with the Task Service definition.

Confidential Page 63 of 167 . once the taskDetails1. 5. 3 dialogs open to give you an opportunity to do some customization. The user interface for the Task Service is generated automatically. The GUI designer will take a few moments to complete. simply click OK to all the dialogs.jspx form appears click Save All. Click on the Create Form menu and select Auto-Generate Task Form 4. For this exercise. Enter the Project Name “EnterQuoteUILab” Click OK.3.

and Business Practices Review share common outcomes and payload. and add the parameter. quote with the Editable checkbox checked. Confidential Page 64 of 167 . 11. Close all the Task windows by right-clicking the RequestQuoteLab tab on the left and selecting Close Others from the context menu. Complete the Task Service configuration of the remaining 4 Interactive Tasks. 10. Approve Terms. So we’ll create one Task Form and one Task which will be used by all three. Right click Business Practices Review activity and select the Properties window and the Implementation tab. Click the “+” symbol to create the Task Service. 7.6. 9. Three of our remaining Interactive Tasks namely Approve Deal. Enter the Name as “ApproveQuote”. 8. Select the Pattern as Simple. Enter the title as “Approve Quote”.

task file under Business Catalog-> HumanTasks. 16. Do a SaveAll 15. Double-click the ApproveQuote. The Approve Quote properties dialog looks like the picture below. 14. Confidential Page 65 of 167 . We’ll now generate a Task Form similar to what we did above. Click OK and click OK again. 13.12.

Confidential Page 66 of 167 . 20.17. As before. Once the taskDetails1. We can now set both the Approve Deal and Approve Terms Interactive Tasks to use the Approve Quote human task. Name the project “ApproveQuoteUILab” and click OK. Select Auto-Generate Task Form. Right-click the Approve Deal task and select properties. Close all the Task windows by right-clicking the RequestQuoteLab tab on the left and selecting Close Others from the context menu..jspx form is done initializing do a SaveAll 19. from the Create Form drop-down menu. click OK on each of the three dialogs that appear. 18.

Do a SaveAll Confidential Page 67 of 167 . select the Magnifying Glass. Type “Approve Deal” in the Title and click OK. Select ApproveQuote from the list and OK to return to the ApproveDeal dialog.21. From the Implementation tab. 23. 22. We’ll override the Title.

We’ll create a new Task and Task Form for the Finalize Quote activity.24. Go to the implementation tab from the Finalize Contracts activity by right-clicking and choosing Properties. As we only want it to have one Outcome of OK. Click the green (+) plus sign to create a new Human Task. Back in the Approve Terms dialog we’ll override the Title to be “Approve Terms”. Confidential Page 68 of 167 . Do a SaveAll 26. Click OK. 25. Repeat Step 19 above for the Approve Terms Interactive Task. 27.

28. Set the Name to “FinalizeContracts”, the Pattern to Simple, set the Title to “Finalize Contracts” and select the Magnifying Glass next to Outcomes.

29. De-Select the APPROVE and REJECT outcomes and Select OK(the outcome). Select OK

Confidential

Page 69 of 167

30. Back in the Human Task dialog. Click the green (+) plus icon next to Parameters, drag in the quote data object, select Editable and click OK.

31. Click OK again to return to the process model. Do a SaveAll. 32. Double-click the FinalizeContracts.task file under Business Catalog-> HumanTasks.

Confidential

Page 70 of 167

33. Select Auto-Generate Task Form.. from the Create Form drop-down menu. Name the project “FinalizeContractsUILab” and click OK.

34. As before, click OK on each of the three dialogs that appear. Once the taskDetails1.jspx form is done initializing do a SaveAll 35. Close all the Task windows by right-clicking the RequestQuoteLab tab on the left and selecting Close Others from the context menu.

36. When completed return to the BPM Project Navigator tab.

Task data mapping When creating Human Tasks directly from our Interactive Tasks the data associations are completed automatically(this was the case for Enter Quote Details, Business Practices

Confidential

Page 71 of 167

Complete steps 1-3 for the Approve Terms activity as well. Our other Interactives (Approve Deal and Approve Terms) were associated with the existing ApproveQuote task. and Finalize Contracts). Do a SaveAll.Review. so we’ll have to create the data associations for these manually. 37. Confidential Page 72 of 167 . Drag the quote data object from the panel on the right to both the Inputs and Outputs boxes on the left panel. 41. Check Use Associations and click the pencil icon . choose Properties and go to the Implementation tab. Right-click on Approve Deal activity. 39. Make sure you drag to the correct boxes as shown below(quote matches to QuoteRequest on both Input and Output). Click OK when done. 38. 40.

First you create the service by adding a Service Reference to the application using the composite editor.Configuration of the Service Task Now complete the following to add a service to your application which implements the SaveQuote Service Task.xml by double-clicking. 42. open the Application Navigator from the View menu. Navigate to the composite editor by opening the Application Navigator and then expanding QuoteProcessLab and opening composite. you go back to the BPM process and bind the service to the SaveQuote Service Task. Confidential Page 73 of 167 . Then. If it is not visible.

43. Note that with the composite editor. You do not use the click-and-drop method used in the BPM process editor. Confidential Page 74 of 167 . Drag-and-drop the File Adapter from the Component Palette to the right hand External References pane in the composite editor. you must drag the File Adapter and drop it on the External References pane.

44. The following screens show you the steps: choose the write operation. Do not select the Native Format Translation Required option. specify the destination file name and directory – /home/oracle NOTE: This refers to a path on the server. Confidential Page 75 of 167 .xsd file you used earlier. and for the schema choose the QuoteRequest schema from the Quote. Walk through steps in the File Adapter wizard and create a service called SaveQuote to write to a file.

Confidential Page 76 of 167 .

Bind Service Activity to Service 45. Open RequestQuoteLab BPMN process. Verify that the SaveQuote service is present. 49. select Properties and click Implementation tab 50. Navigate back to BPM Project Navigator 47. Go to Business Catalog/Services/Externals folder and expa nd it. Right click on Save Quote Service Activity step. 46. Choose Service Call from the Implementation drop-down and click the Magnifying Glass. Confidential Page 77 of 167 . 48. The File Adapter service that you just created in the composite application gets promoted to the Business Catalog in the BPM Project Navigator automatically.

Pass Data to Service 52. Click the pencil icon. Click SaveQuote in the Type chooser and select OK. Select Use Associations within Data Associations section and select type Simple.51. Confidential Page 78 of 167 .

Confidential Page 79 of 167 . and then clicking the pencil icon next to Use Associations to bring up the Data Associations window. Now click OK and click OK again. The task outcome of these tasks is a string value of “APPROVE” or “REJECT”. Approve Deal and Approve Terms Interactive tasks have to be evaluated for conditional branching. 55. You set these values when you defined the task. opening the Implementation tab.53. 1. The outcomes ge t mapped to the Data Objects so you can then use the Data Objects in the conditional expressions used for branching. selecting Properties. Open the Business Practices Review activity by right-clicking. Do a SaveAll. Drag-and-drop the quote data object from the right hand panel to the Inputs area 54. Data Association configuration for conditional flows The outcomes of the Business Practices Review. The Save Quote Service Task is complete.

Do the same for the Approve Deal activity. instead mapping outcome to approveDealOutcome: Confidential Page 80 of 167 . 4.2. Drag and drop the businessPracticesOutcome data object from the right panel to the box indicated on the Outputs panel. Click OK twice to return to the model. 3.

Map the outcome of the Approve Terms step as shown in the figure below: 6. 7. Confidential Page 81 of 167 .5. Double click on the Business Practices Reject transition line and go to the Properties tab. Do a SaveAll Now that we’ve saved the outcomes from our Interactive Tasks we can use these to provide the conditional expressions we need for our Transitions.

Click on the Expression Editor icon. 4)Click OK and OK again Confidential Page 82 of 167 . 2)Click on the Insert Into Expression button to move the data object to the top. 3)Type in”==”REJECT””.8. Complete the following steps in the Expression Editor 1)Select the businessPracticesOutcome data object from the center Variables panel. That’s two equal signs and REJECT surrounded by double quotes.

Add the condition for the Yes path for Is Business Practices Review Required? Gateway.9. Do the same for the Deal or Terms Rejected transition as shown in the figure below: 10. Confidential Page 83 of 167 .

the user who initiates the task would enter the input data. 1. Confidential Page 84 of 167 . Do a SaveAll Configuration of Script Tasks Finally. 3.11. Using a script to set the input data makes testing this process easier but when running such a process for real. Name it “Initialize Quote”. you need to add a Script Task to set the payload (the input data) for the Enter Quote Details task and to determine whether the Business Practices Review activity is required or not. 2. The script goes right before the Enter Quote Details Interactive Task. Click and drop a Script Task from the BPMN Component Palette and place it between the Start and Enter Quote Details steps. Click the Implementation tab and select Use Associations. Select the XPath option and click the pencil icon to edit.

Drag the quote data object from the right panel and drop on the palette in the middle. Click the Expression Builder icon on the left Confidential Page 85 of 167 . 5.4.

2)Click the Insert into Expression button 3) Place two single quotes inside the parentheses of the expression. Confidential Page 86 of 167 .Complete the following steps in the Expression Builder: 1)Select the parseXML function on the bottom right. then place your cursor between the quotes.

xml copy the entire contents and paste it in between the quotes on the parseXML expression. Click OK 7. Confidential Page 87 of 167 . Using a text editor open c:\BPMWorkshop\MyFiles\input\testData. Drag the businessPracticesReviewRequire data object onto the center palette.6.

Click OK to close the Associations Editor and OK again to close the Activity editor and return to the process.8. In the Expression editor type “false()” and click OK to return to the Association page 9. Do a SaveAll. Click the Expression Builder icon next to the new box we just created. 10. Confidential Page 88 of 167 .

Confidential Page 89 of 167 .11. Go back to Enter Quote Details step and set the input mapping to the quote Data Object as shown in the figure below. This completes the abstract implementation of the process. 12. We will continue the rest of this lab tomorrow.

Add a line to your hosts file in the format <ipaddress>tab orabpmserver. 1. Confidential Page 90 of 167 . Example below: orabpm-server 174.Day 2 Environment Setup Your instructor will give you instructions on how to connect to Oracle’s wireless network. open your hosts file located in C:\Windows\System32\drivers\etc b. Edit your hosts file: a.144 c. Save and close the file.129.168. You will also be assigned an IP address (each student will have their own). Using notepad or another text editor.

Open JDeveloper and choose the Default Role a.2. Select File|New from the menu bar Confidential Page 91 of 167 .

Choose Connections from the Categories. 1. select Application Server Connection from the Items and click OK.a. leave the default for the type and click Next Confidential Page 92 of 167 . Type in BPMServer for the Connection Name.

Leave the username as weblogic and type in welcome1 as the password. click Next. If successful click Finis h Confidential Page 93 of 167 . Enter orabpm-server as the hostname and domain1 as the WebLogic Domain. you should see nine connection test succeed. Click Next 4.2. 3. Click Test Connection.

Choose the Application Server connection for your server. Right click on Organization and select Open 3. select the SalesRep role from the list of Roles 4. You use the preseeded roles in the LDAP of the Oracle Weblogic Server installed as part of this training The BPM engine (Oracle Weblogic Server) has to be running to map the Process Roles to the LDAP roles. 1. navigate to BPM Process Navigator 2. In the Organization editor. In BPM Studio. It may take a while. Confidential Page 94 of 167 . Be sure your server is running before continuing. Click on the green + within the Members sub-panel 5.Lab3 Continued Mapping swim lane Roles to LDAP Roles Process Roles have to be mapped to LDAP Roles for the process to run.

Confidential Page 95 of 167 . Click the Lookup icon to search for users.6. Then the OK button. perform role mapping as shown in the table be low for the remaining Process Roles: Approvers Business Practices Contracts Process Owner cdickens jstein wfaulk jstein 9. 7. In a similar manner. 8. Do a SaveAll and close the Organization tab. Select user “jcooper” and click the Select button.

right-click and select Deploy. Highlight the BPM Project QuoteProcessLab. Go to Applications Navigator. Confidential Page 96 of 167 . 2.Deploying the process 1.

3. Confidential Page 97 of 167 . Follow the steps as shown in the screen shot below.

Confidential Page 98 of 167 .

Confidential Page 99 of 167 .

mail reader to view incoming tasks for which you are responsible. Recall that:  James Cooper (user id “jcooper”) was assigned the Sales Representative (SalesRep) role and will be able to do the Enter Quote Details activity Confidential Page 100 of 167 . The participants in the process and their roles and groups have already been created. or window. attachments. the Workspace displays your current tasks. Using the Oracle BPM Workspace Oracle BPM's Workspace is a web application that allows you to interact with a process in relation to your assigned role or roles within your company. You can use the Workspace interface like an e. When complete you should see the following message in the Deployme nt tab. When you select a pending task. Workspace allows you to:         Invoke instance activity tasks Route completed instances automatically to the user or system responsible for the next step in the process Delegate required tasks to a specific end user Perform operations on a batch of instances Add notes and attachments to an instance of a process Customize how your activities and instances are organized View detailed activity documentation.It will take some time to compile and upload to the server. the Workspace allows you to execute the transaction or transactions associated with the task. The Workspace allows you to access your work with an Internet browser from any location. The Workspace helps you to manage your tasks effectively and efficiently with minimal training. It serves as a portal. and audit trail information Search for instances in processes A Quick Tour of the BPM Workspace For each process in which you have been assigned a role. notes. into a business process for which you have an assigned role.

type in http://orabpm-server:8001/bpm/workspace 2. William Faulkner (user id “wfaulk’) was assigned the role “Contracts” and will be able to perform both Approve Terms and Finalize Terms activities. Log in as “jcooper/welcome1”. expiration. On the top left side. you are in the Tasks section. below the Inbox. Confidential Page 101 of 167 . To access the Workspace. John Steinbeck (user id “jstein”) was assigned the role ”Business Practices” and will be able to do the Business Practices Review activity. The Inbox option shows the list of task items assigned to you and your Group in the right pane of the Workspace (similar to an email inbox). you can see that there are other Views as well and you can query Tasks based on priority. When you first access Workspace after logging on. He also has the role of the Process Owner and will be able to perform process administrative functions. Charles Dickens (user id “cdickens”) was assigned the role “Approvers” and will be able to do Approve Deal activity.   1. time window etc.

You enabled this earlier when you set the XPath Expression in the “Enter Quote Details” Task definition: Confidential Page 102 of 167 . instances in the Enter Quote Details activity would appear in the list.On the bottom left side. The default view displayed is “Me & Group” with Status set to “Assigned”. the name of the customer submitting this order is customer Acme. As a result. The right-hand section shows the task items for all the process instances in the Inbox. The Title column displays information that explains the task. Each role is associated with certain activities in a process. but would see only those in the Approve Terms and Finalize Terms activities. each end user processes the instance by completing the tasks assigned to him or her. If it is an Interactive Activity. you can assign the task to a particular user as long as he or she is assigned to the role for that activity. when you log onto Workspace. there are pre-seeded reports available to look at different task related performance metrics. For example. if you are a Sales Representative. Alternatively. Once a task is completed. anyone assigned to the role for that next activity gets the task and can process it. a Contracts person logging onto Workspace would not be able to see instances in the Enter Quote Details activity. On the other hand. The items appearing in your list are based on the roles assigned to you. Think of this field as the subject on an e-mail. As an instance flows through a business process. the process advances to the next activity in the business process. In the example above. your role might be assigned to the Enter Quote Details activity in your company's Sales Quote process. each task is listed in the right pane of the workspace. Description of columns in My Tasks: Title When you click the Inbox.

Selecting a particular task item opens the UI interfaces associated with it in the section below.Number Each task item has a unique process instance id which is displayed under the Number column. Date The date represents the timestamp at which the Task is created. There can be several task items for the same process instance. State The State column indicates the status of the task in the process instance. For example. Double-clicking it opens it in a new window. the status of a task can be “Assigned” or “Completed” or “In process”. Confidential Page 103 of 167 .

up blocker in your browser to see it. The BPM process is available to the Sales Rep in Workspace. go to the Applications section and click on the process you just deployed [QuoteProcessLab] RequestQuoteLab v1. You see that a new task item is now available in the Inbox of jcooper.Triggering the Sales Quote Process Recollect that the Sales Quote process is triggered b y the Sales Representative role with an Initiate task. The double-click action opens it in another window while single-click opens it in the lower pane of the screen. Close the task here and go on to the next section. Executing the Interactive Tasks and completing the Process 2. You can single. While logged in as jcooper.0. Confidential Page 104 of 167 . Click the Refresh icon in the Tasks tab. 3. 4. This auto-generates a task item for the Ente r Quote Details step and opens the task in a new window – you may have to turn off the pop. The user interface is the form that was defined for this task.or double-click on this item to launch the user interface associated with the task. 1.

The file attachment now appears as a link for other participants. The notes added by the process typically point out problems that might have occurred and how to correct them. You can also add a note in the Comments section. Any user can add a note to any task item in their view that has not been processed or completed. The process may also add notes automatically to an instance as it flows through the process. Confidential Page 105 of 167 .Files can be attached to tasks by anyone involved in a process at any activity and later viewed and used by other participants involved in later activities for the instance in the process. go to the Attachments section (all the way at the bottom) and select the “+” symbol to bring up a file browser and add documents. The notes added by the process automatically appear identical to end user-added notes. Other users who work with the task can also access any notes added previously and then add a note of their own if they choose. They can view the attachment by simply clicking on the link. To attach a file to an instance.

Notice the new task in the Inbox for cdickens. The Approve Terms task item is now removed from the Inbox and the Finalize Contracts task item gets automatically created. Select the task and then select Approve from the Actions menu or click the Approve button on the task to submit the task with the Approve outcome. The task has now left jcooper’s Inbox. 11. In this lab. The Approve Deal task item is now removed from the Inbox of cdickens. Select the Approve Terms task item and go to Actions and select Approve.5. Click on the Refresh icon if you don’t see the new task for finalizing the contracts. Confidential Page 106 of 167 . The Business Practices Review step is always skipped as we have set the “businessPracticesReviewRequired” Boolean data object to be always false. 8. Log out again and log in as wfaulk Contracts role. Log out as jcooper and log in as cdickens with welcome1 as the password. The process now moves to the Approvers and Contracts roles at the same time for the Approve Deal and Approve Terms process steps respectively. you can select the Submit button at the top right-hand corner to complete the task. 7. 9. 10. 6.

Confidential Page 107 of 167 . 13. Click OK The top right section is now populated with process instances that match the search criteria. This section displays the process instances that the user jstein is associated with. Go to Process Tracking tab. To search. 3. 2. Monitoring the Process Instance using Workspace 1. select the Advanced tab. From an end user perspective. 4. wfaulk can act on the Finalize Contracts task item as well. Status: All. at any Role. Instead of having to log in and log out for each role. As the Contracts role is responsible for both Approve Terms and Finalize Contracts. that you added the jstein user to the Process Owner role and he has privileges for all the tasks in the process. Change the options to Processes:All. the most important thing to learn about the Workspace is how to execute activities as the process advances. Log in to Workspace as jstein with password welcome1. Assigned:Anyone. Go to the directory and view the file. Recollect. Highlight a specific process instance. who is the process owne r and approve all the tasks.12. you could also login once as jstein. Click on Actions and select OK. This completes the process instance and a file now exists in the output directory you entered for the SaveQuote service.

priority etc. Click on the symbol next to the Audit trail and it shows the list of activities completed for that process instance as well as the activity that it is currently waiting on in a tabular format. Confidential Page 108 of 167 .This populates the process instance details in the bottom window. 5. The Open Activities provides information on the task items belonging to that process instance that is assigned but not yet completed. The Details segment provides information on the general process status such as whether it is running or completed. the creation time.

6. to see the process instance flow You can also view any Comme nts or Attachme nts associated with the task instance that the process is waiting on. Confidential Page 109 of 167 . Switch to the Graphical vie w in a graphical format.

We will begin the lab assuming a Business Analyst persona.. As we have already completed labs which went into detail on modeling and implementation we will be creating an incredibly simple HelloWorld process. Objectives After completing this lesson. complete the implementation and deploy it to the run time. projects can be shared directly between the Composer and Studio environme nts. Again. blueprints. This blueprint is stored in our Metadata Services Repository and shared with a Process Developer. Export the project so it can be opened in BPM Studio As noted above. the template will be shared with our Process Owne r who has privileges to create a new project from the template. due to firewall restrictions on Amazon EC2 we’re not able to create those connections. this could alternatively be accomplished by a direct connection from BPM Studio to MDS Confidential Page 110 of 167 . However. Our user community and the tools we’ll be using are below: Persona Business Analyst Developer Process Owner User Name Wshake Weblogic Sfitzger Tool Used Composer BPMStudio(JDeveloper) Composer Note: Normally templates. an abstract model which defines our flow and activities.Lab 4: BPM Composer Introduction This lab will introduce us to support of various different application development lifecycles using both BPM Studio and BPM Composer. Creating a Process Blueprint in BPM Composer In this exercise we will login to BPM Composer as wshake (a Business Analyst who has the privilege to create new processes). the developer will add services to the project and convert it to a Process Template. you will know how to:   Create process blueprint using BPM Composer. We will use BPM Composer to create a Process Blueprint. The Appendix to the lab guide shows how to set up the connection and examples of using Studio to communicate directly with MDS.

Click the Create New Project tile Confidential Page 111 of 167 .1. Open your browser (Firefox 3+ or IE7+) and go to http://orabpmserver:8001/BPM/Composer. Login as wshake/welcome1 2..

3. Right-click the Process Node and Select New|Process. Select the Create a Blank Project option. and click Create. leave Synchronous Service as the pattern. name the Project HelloWorld. Confidential Page 112 of 167 . and click OK. 4. make sure the Enable Sharing and Begin Editing Now checkboxes are selected. 5. In the New Process dialog set the Name to SayHello.

Select Publish from the Editing drop-down. It will expose it as a Web Service.e. Drop it when the sequence flow line begins to pulse. we have a Start and End Message gateways. Drag the Service Task activity between the Start and End gateways. This service enables our process (i. Confidential Page 113 of 167 . 7. Because we selected Synchronous Service as the pattern. Select the label and rename it CallAService. 8. We’re done with our process.6.

For brevities sake we are going to create a Mediator which will accept an input value. In the real world. Services. mediators are often use to provide transformation and routing capabilities to our composite to talk to an actual Web Service or Adapter service.9. Sign out of BPM Composer Creating a Process Template in BPM Studio Process templates can be created in BPM Studio to create a catalog of Business Objects. Select Export Project from the Tools drop-down.exp on your desktop (or somewhere else you can find it). Save it C:\JDeveloper\mywork\HelloWorld. 11. and return an output value. Process Data Object. Confidential Page 114 of 167 . We’ll just be echoing back a response without a real service behind it. In our example will add one simple Service to our initial blueprint which will allow our Process Owner to create a deployable project. Rules and Human Tasks which can then be shared with others (typically process owners) who provide a final concrete project which is customized and deployed for a specific use case. 10.

From the Menu Bar. 2. Select Import BPM Project. select File|Import. Open BPM Studio/JDeveloper with a Default role if not already open. 3.1. Confidential Page 115 of 167 .

Confidential Page 116 of 167 .4.exp file you saved in the earlier step and click through to import. Open the HelloWorld.

Switch to the BPM Project Navigator tab. Confidential Page 117 of 167 .5.

Call it stringDataOjbect leave the type as String and click OK. 8. Confidential Page 118 of 167 . remember it will be a WebService rather than a Form which starts this process. Create a new Process Data Object(variable) for you process in the structure pane on the lower left. We’ll be defining the input to our process. Navigate to the SayHello process and double-click to open in the editor. 7.6. Double-Click the Start node to open it.

Leave the type as String and click OK. Confidential Page 119 of 167 . 11. Change the Name of the argument to inArg.9. 10. Switch to the Implementation tab and click the Green Plus icon. Check Use Associations and click the pencil to edit.

12. Click OK to exit the Start dialog. Click OK 13. Drag the stringDataObject variable to the Outputs on the right. Confidential Page 120 of 167 .

We’re going to do the same thing for our End message node. This will define the output we send to the calling client. 14. Double-click the End node to open.

15. Click the Green Plus Icon, and give it a name of outArg.

Confidential

Page 121 of 167

16. Select Use Associations and click the pencil icon.

17. Drag stringDataObject to the left Inputs field and click OK.

18. Click OK to exit the End dialog.

Confidential

Page 122 of 167

Creating a Mediator Service
Mediator services are valuable for performing routing and transformation operations outside of your BPMN model, but still within the same deployable unit. As stated before, these normally call real services, but in our simplified case we’re going to just echo back the request with some changed data. 19. Switch back to the Application Navigator view and find the composite.xml for the HelloWorld project and double-click to open the composite editor.

Confidential

Page 123 of 167

De-select the Create SOAP Binding checkbox and click OK. Select Synchronous Inte rface from the dropdown.20. Drag a Mediator component from the component palette on the right and drop it into the middle Components lane above the model. Leave the default name of Mediator1. 21. Confidential Page 124 of 167 . 22.

23. Select Echo for the Target Type. 25. Confidential Page 125 of 167 . Click the Green Plus icon to create a static routing rule. Double-click the Mediator component to open it’s editor. 24.

On the From side of the dialog select expression. Then click the Expression Builde r icon. Click the Assign Values icon. 27.26. Click the Green Plus icon to assign values 28. Confidential Page 126 of 167 .

In the expression builder type in concat(“Hello “. Then select the inp1:input node and click Insert Into Expression 31. Add a close parentheses at the end “)” and click OK. 30.29. Confidential Page 127 of 167 .

On the To side again select expression and click the Expression Builder icon. click Insert Into Expression and click OK. 34. Select the inp1:input node. 33. Click OK again. Confidential Page 128 of 167 .32.

And OK again. Right-click the SayHello process tab and select Close Others from the context menu. Do a Save All 37.35. Confidential Page 129 of 167 . 36.

Right-click the HelloWorld project and select Convert To Template. Confidential Page 130 of 167 . Switch back to the BPM Project Navigator 39. 40. Right-click the SayHello process and select Prope rties.38.

42. check the boxes for Flow Sealed and Activity Sealed. Now we’ll override these preferences and say implementers Must Implement the CallAService activity. Right-click and select Properties. or double-click the Service Task. First we’ll set the properties globally for the process. 41. we can decide what users can or must modify to implement the process in Composer. click OK. For Permissions select Must Implement and click OK. In the Advanced tab.Now that we have a template. 43. Do a Save All Confidential Page 131 of 167 .

2. Log in as sfitzge r/welcome1. Click Create New Project. We’re switching hats again. 1.Creating a Process from a Project Template using Composer Usually at this point we can publish our te mplate to MDS directly from BPM Studio. give the project a name of MyHelloWorld. Again because of fire wall restrictions. From your browser go to http://orabpm-server:8001/BPM/Composer. we can’t. Confidential Page 132 of 167 . Your image contains this template already loaded to MDS. Our sample user is sfitzger. 3. Select the HelloWorld Template. check the Begin Editing Now checkbox and click Create. This time we’re a Process Owner who has been given privileges to create projects from templates and deploy them.

4. Select the Implementation tab. Highlight Mediator1 under the services and click OK. Right-click the SayHello process and select Open. 6. Right-click the CallAService activity and select Properties. Confidential Page 133 of 167 . 5. and the Change button to select Mediator1.

Under the execute panel.7. With CallAService select. Confidential Page 134 of 167 . click on the Data Association button. then drag the stringDataObject variable into BOTH the Inputs and Outputs fields exposed. click the down arrows to show the input attributes. 8. Then click the Apply button at the top.

9. Select Publish from the Editing drop-down.

We’re now ready to deploy. Normally, deployment would not be done by a Process Owner, but would instead launch an approval workflow to the BPM Administrator. But to save some steps, we’ll do it directly. 10. Select Deploy Project from the Tools drop drop-down.

11. Enter in the deployment dialog: New Revison Id:1.0, Deployer Username:we blogic, Password:welcome1, select Mark as Default and click Deploy.

Confidential

Page 135 of 167

12. You should see a dialog saying the deployment was successful, Click OK and sign out of Composer.

13. We can test this process directly from a SOAP test page. Go to http://orabpmserver:8001/soa- infra. When prompted enter weblogic/welcome1 as the username password.

Confidential

Page 136 of 167

14. Click the link for Test SayHello.service

15. For inArg specify anything and click Invoke.

Confidential

Page 137 of 167

You should see your Hello message back. click the link for Formatted XML. Confidential Page 138 of 167 .16. When the Test Result returns.

2. these are useful for counting iterations. In this scenario. Add a dime nsion business indicator for revenue. if it is not open. In cases where it is not.Lab 5: Monitoring and Analytics Adding Monitoring to a BPMN Process In this lab. In this scenario. In BPM Studio. you will have created the following dashboard: Adding Business Indicators Process Analytics capture standard data such as workload and cycle time and process specific data. This opens the Structure panel with the BPM process context. you add a counter to count the number of times the quote needs to be revised. open the RequestQuoteLab BPMN process and select it by clicking on an empty spot on the canvas. where revenue is a numerical dimension. and counters for analyzing the process. you analyze discounts offered to understand its distribution across deal sizes (total net revenue) and industries. you create dimensions for industry and revenue.   Now add the measures. you create a measure for discount. At the end of this lab. you add process analytics information to the Sales Quote process. dimensions. you can open it using Ctrl+Shift+S or selecting Structure in the Vie w menu Confidential Page 139 of 167 . Dimensions – These specify how process analytic data may be sliced. Business Indicators are used to specify what process specific data should be captured. such as for numbers and date/time. and needs ranges to be specified. Navigate to the Structure panel. In this scenario. a set of ranges must be specified for the data. The number of iterations is clearly an interesting data point for analytics and can be used for creating dashboards as a challenge exercise. For the purposes of this lab. There are 3 types of Business Indicators supported:  Measures – These are numerical data that typically signify a value that is interesting in process analytics. Counters – As the name indicates. A dimension has to have a finite set of values. revenueDimension as follows: 1.

Specify the following values: Name: revenueDimension Business Indicator: Dimension Type: Int We could have revenue as a measure as well. Specify ranges for dividing numerical revenue data into finite set of values: Name <100K 100K – 250K 250K – 500K >500K Start 0 100000 250000 500000 Finish 100000 250000 500000 214783646 The above ranges are just suggestions. we may allow easier specification of uppe r and lowe r ends) Confidential Page 140 of 167 . the refore we named it with Dimension suffix.3. Right click on Business Indicators and select New 4. you can choose any values that make sense to you Tip: 214783646 is the largest value possible (in future. Click the green plus icon to add ranges. 5.

industry Specify the following values: Name: industry Business Indicator: Dimension Type: String Confidential Page 141 of 167 . It does not enable deletion of all digits. Add another Dimension business indicator for industry.Important Tip: The editing of the values is quirky. 6. so you may find it easier to move the caret to beginning and deleting all but the last digit before starting typing ne w value.

Add Counter business indicator for counting number of times Quote is revised. discount Specify the following values: Name: discount Business Indicator: Measure Type: Int 8. numQuoteEdits Specify the following values: Name: numQuoteEdits Business Indicator: Counter Confidential Page 142 of 167 . Add Measure business indicator for discount.7.

Move mouse over the connector between Enter Quote Details activity and Is Business Practices Required? gateway 4. Click on the Script activity in the Component Palette 3. Assign data to industry. and click on the pencil icon 9. we need to assign data to them. Drag and drop industry into the variables panel 12. That is. Create data associations for the Assign Indicators activity as follows 7. leave Type as Simple. Since.Assigning Data to Business Indicators Now that we have defined our business indicators. To set the discount. in this scenario. discount. click on it 5. expand RequestQuoteLab node. Assign Indicators. Add Script activity. use a Script activity to assign data to the business indicators from the quote data object. click the Expression Builder icon to the right of the left input box for discount indicator Confidential Page 143 of 167 . Drag and drop revenueDimension into the variables panel 14. the Enter Quote Details output data association is already used for assigning to quote data object. 1. double click on Assign Indicators activity) 8. When the connector turns blue. In the right hand panel. and revenueDimension as follows 10. specify Name as Assign Indicators 6. In the properties dialog box. expand QuoteProcessLab node 11. then its summary child node 15. Select the Implementation tab of the properties dialog box (if not open from previous step. after Enter Quote Details activity as follows 2. then its quote child node. Drag and drop discount into the variables panel 13. Drag and drop industry to the source (left input text box) for industry indicator 16. Check Use Associations in the Data Associations sub-panel. In the right hand panel. Business indicators behave just like other data objects regarding data assignment (association). data can be assigned to them either as part of an activity’s output data association or within a Script activity.

totalNetRevenue) and click OK. Measurement marks also:   Allow specification of a business name which can be used for filtering during analysis Provide a visual notation to indicate the capture point If it is someone’s preference not to have measurement marks displayed on the canvas. it is possible to specify equivalent capture points by using the Sampling Point property of preceding activity.summary. and click OK again to close the Properties dialog. Click OK. Note the changed syntax of the round function. 20. Enter the expression round(quote. One can think of it as Confidential Page 144 of 167 . The completed expressions look like this. Adding Measure ment Mark By default. process analytic data is specified at the project level and there are 3 settings possible:    Generate for interactive activities only Generate for all activities Do not generate Measurement marks provide a way to add additional capture points. which can be used in combination to create a logical activity.effectiveDiscount) and click OK 18.summary. In addition to providing additional capture points. 19. Measurement Marks also support Start and End. In addition to above. use the Expression Builder to set the expression for revenueDimension indicator to round(quote. Again.17.

after Assign Indicators activity as follows 2. click on it 6. Since process analytic data is by default not captured after automatic activities. Click on Measurement 4. only applicable for analytics. unless you specify capture. Move discount business indicator to selected and click OK Adding Counte r In this scenario.a virtual e mbedded sub-process. When the connector turns blue. 1. you used a Script activity to assign data to business indicators. Expand the Artifacts accordion in the Component Palette 3. it will not be captured till the next interactive activity is completed. we want to track how many time. Add a measurement. Move mouse over the connector between Assign Indicators activity and Is Business Practices Required? gateway 5. a Quote has to be revised (due to rejections). Confidential Page 145 of 167 . In the previous section. Double click the added measurement 8. Name: QuoteEntered 10. QuoteEntered. This lab does not use this aspect of Measurement Marks. you need to specify a measurement mark. Since you want to track quotes as soon as they are entered. Measure ment Type: Single Measurement 9. Specify measurement properties 7.

Navigate to the BPM Navigator panel (use View menu if needed) Confidential Page 146 of 167 .11. Open BPM Project in JDeveloper (if not already open) 3. This setup is very simple and would usually be done earlier. we are breaking it out and doing it here. Do a Save All Configuring BPM Project for BAM Monitoring In this section. 1. In Counter Properties dialog. Right click on Enter Quote Details activity and select Ne w Counter Mark 12. select numQuoteEdits and click OK 13. we will setup our BPM Project for BAM Monitoring. Open Project Preferences for QuoteProcessLab 2. For flow of tutorial purposes.

4. QuoteProcessLab. Right click on the project. Enable BAM as a Data Target for Process Analytics Confidential Page 147 of 167 . and select Project Preferences 5.

select Process Analytics Summary 7. we don’t need to re-deploy those.6. Click Next on Deploy to Application Server Confidential Page 148 of 167 . In the Project Preferences dialog. Right-click QuoteProcessLab from the Application Navigator and click Deploy. Specify Data Object Path as /Samples/Monitor Express Running Instances to Create Sample Data We are going to deploy the project as a new version number. Also since we have not updated our Forms. 2. Check Enable BAM checkbox 9. Select the Data Targets tab 8. 1. Select eis/bam/soap as the BAM Adapter JNDI name 10.

0. 4. Set a new Revision ID of 2.3. Leave the Projects Unchecked. Confidential Page 149 of 167 . we don’t need to redeploy forms. leave “Overwrite any existing composites…” unchecked and click Next.

Continue to finish deployment. Confidential Page 150 of 167 .5.

specify any interesting mix for the following fields in the Enter Quote Details form. Confidential Page 151 of 167 .6. Log in as jcooper and initiate a few instances. this much is sufficient and the next steps in the process need not be completed. make sure you choose to launch the form for Revision 2:    Industry totalNetRevenue discount For purposes of the next section.

as weblogic 3. Log in to Oracle BAM. Click on Active Studio Confidential Page 152 of 167 .Creating BAM Dashboards Important: BAM web tools require Internet Explorer 1. Launch BAM Active Studio 2. http://orabpm-server:9001/OracleBAM.

Go to Shared Reports tab 6. Create a new report 5. Click on Create a New Report Confidential Page 153 of 167 .4.

Click on Click to add a report title and specify Request Quote Dashboard Confidential Page 154 of 167 . 8.7. Select the Horizontal Layout report layout.

Summary Function(s): Average. 11. You may have to use the scroll bar on the right.9. De-select the Sum function. drill down in to Data Objects. Click on 3D Bar Chart in the top pane. In Choose Data Object tab. Add chart to display discount grouped by revenue and industry 10. Chart Values: METRIC_discount 16. 17. Monitor Express and select BI_DEFAULT_QuoteProcessLab_RequestQuoteLab (Make sure you select the one with “Lab” in the title) 12. In Choose Data Fields: 14. Confidential Page 155 of 167 . Group By: METRIC_RANGE_revenueDimension and METRIC_industry 15. Click Next 13. Click Next. Samples.

Add a gauge to display discount 23. View Title: Discounts by Revenue and Industry 20. Click OK to return to the layout page. Click on “Change View Properties” 19. Click Apply to review 22.18. Confidential Page 156 of 167 . Vertical Axis Label: Discount % (Just type it in) 21.

Select METRIC_discount in the center picklist 28. Click on Range Gauge 25. In Choose Data Fields: 27.24. Select Average in the picklist below it 29. Click Next Confidential Page 157 of 167 . Choose Data Objects exactly as in previous step 26.

Click Change View Properties 31. Click OK 35.30. 65. Specify View Title as Discount Gauge 32. Click Apply to review. You can click the Collapse Edit Pane icon to see it. Save the Report Confidential Page 158 of 167 . 90 33. 34. Specify Value display ranges as 0. 30.

Launch BAM Active Viewer 1. Click on Active Viewer Confidential Page 159 of 167 . http://orabpm-server:9001/OracleBAM.Viewing BAM Dashboards In this section. we will use BAM Active Viewer to view both standard dashboard as well as the one we created in the previous section. as weblogic 2. Log in to Oracle BAM.

View the Request Quote Dashboard Confidential Page 160 of 167 .3. Click on Select Report and open the Request Quote Dashboard 4.

View the Standard Dashboards (Monitor Express Sample) 6. Open Monitor Express Dashboard 9.5. Drill down into Shared Reports/Samples/Monitor Express 8. Select Process View tab Confidential Page 161 of 167 . Click on Select Report 7.

18. Open the Resource Palette. 16. 14. 12. 13. 19.Appendix Set up MDS Connection 10. by selecting the menu View -> Resource Palette Confidential Page 162 of 167 . Start BPM Studio in Default Role 11. 15. 17.

Click the OK button.20. Confidential Page 163 of 167 . Right-click on New Connection and then Database. Click on the folder with the “+” sign 21. Password (default is welcome1) and Host Name where the database is installed. Once you're done. a Success! message appears if the parameters are correct. Go to IDE Connections. you can check the connection by pressing the Test Connection button. 22. Create a database connection to the MDS as shown in the screen shot below. You need to type the following fields: 23. Username (default is dev_mds but it is whatever was used at installation).

symbol again.24. click on the MDS. Select New Connection and select SOA- Confidential Page 164 of 167 . Now.

Choose the database connection that you just created in the previous step. Create a new SOA MDS Connection as shown in the screen shot below. Go to View/BPM MDS Navigator to open the BPM MDS Navigator. obpm should be automatically selected.25. Test the connection. Confidential Page 165 of 167 . In the Select MDS partition. 26.

but the same steps are for a BPM Project Template. and click OK Confidential Page 166 of 167 . In this example we are going to publish a BPM Project. Check that root folders Public and Templates folders are shown in the BPM MDS Navigator. Go to BPM Project Navigator. Check the Override box. Keep the default name of QuoteProcessLab. right click on the BPM project that you want to publish and select the Publish to BPM MDS menu item. 31. Open Configure Connection and choose the SOA MDS Connection that you just defined. Publish BPM Project in BPM Studio to MDS 29. In the BPM Project Navigator. The Publish to BPM MDS dialog pops up. 30. 28.27.

Confidential Page 167 of 167 . If you published a BPM Te mplate Project. To see the project just published go to the BPM MDS Navigator and expand the Public folder.32. the project should be listed in the correct location folder. then you would find it in the Templates root folder. 33. 34. .

Sign up to vote on this title
UsefulNot useful