Professional Documents
Culture Documents
Driven Development
BPM 11g PS6 Workshop
Contact: Angshuman Nandi
angshuman.nandi@oracle.com
October 4, 2013
Objectives
Process Modeling
Process Simulation
Human Task and Web Forms
Service Task Implementation
Business Rules and Conditional Gateways
Project Deploy and Run
Keep this open, You can continue the labs in a new tab or browser window.
Using notepad or another text editor, open your hosts file located in:
Windows: C:\Windows\System32\drivers\etc\
Linux: /etc/
Mac: /private/etc/
You will see three project folders. There is one with a completed project for
reference (Solution), a second folder is a Lab folder where you create your own
project. The third folder (Day2) is reserved for developer labs not covered today.
This opens the project’s home page. From the home page, you can see all of the
parts of the project: Processes, Rules, Human Tasks, Web Forms, and Business
Objects. You can also see information about your project.
HINT: You can enable Grid Visibility and Snap-To-Grid from toolbar.
Hover mouse on the Unassigned Role and click on the pencil icon . In the
dialog box: select Create radio button and type Employee to create a new role
called Employee. You can either hit Enter key or click somewhere outside the
dialog box to save the change to our role.
Re-open the dialog box by clicking the pencil icon and click on the
documentation link
NOTE: Throughout the labs you will be entering information into the
Editor Pane. It’s important to remember to click the Apply Changes
button in this dialog.
Rename the task by Clicking on the Business Rule Task name and enter
Approval Rules.
Drag Approval Rules to the empty space below the Submit Request activity.
This creates a second swim lane. Drag the End activity to the second lane too.
Click on the Edit transition flow between “Is Manual Approval Required?” and
Approve Request and name it “Yes” and keep the default Type of
Unconditional.
With the Approval Outcome gateway selected, Drag the arrow back to Submit
Request and drop it when you see the activity glow blue. You can reshape the
sequence flow by dragging the line as suitable.
Select the gateway Is Manual Approval Required? and hover over to see the
alternate transition arrow (Conditional Sequence Flow). Drag it to Save
Request. After dropping the arrow, readjust the line by dragging it out so that it
is visible. (note: to see the new line you just added, you may need to move Save
Request slightly lower)
With this the BPM Process flow is completed. The process should look like below
image:
Now we need to add a process to run against this Simulation Definition. For this,
For Approve Request give it 2 Resources, and Cost per hour as 300.
It will execute the simulation, ending with some data for analysis.
The generated bar diagram is showing different statistics for the Process against
the sample simulation run. Hover your mouse on each bar and it will give you the
statistic brief in words like below:
Now change from Units to Cost by selecting Cost from the dropdown besides
icon. It will show you the cost estimation for the process:
Close the Travel Request Process Tab by clicking the at the top right hand
corner.
Following the previous instructions, take a snap shot with the name
PTA_Snapshot_02.
2) Human tasks: define how users interact with a process-based application. They
define the user interface, data structures, and connectivity information.
3) Forms: define the interface that enables users to interact with your application.
For business applications created with Oracle BPM these forms are displayed in
Oracle Business Process Management Workspace.
In this Lab, you will implement both Human Task and Web Forms.
Presentation Style, and click on the green icon to create a new web form.
Enter name RequestForm and click Create
Forms or User Interfaces design is a key aspect of business process modeling and
with PS6 release, you can easily build a form using drag & drop, declarative
design paradigm. You can not only design forms, but they can also be tested and
You are presented with a blank form. We will now start to add form elements
Next drag and drop a Date component onto the form below the Name. A green
down arrow will appear during the drag to indicate it should be below the other
field. Change the Label to Date. Then drag and drop Money component onto the
form below the Date. Change the label to Total Amount and uncheck Enabled.
Total Amount field will be populated programmatically.
Details. Hover over Tab 2 and click on to delete the 3rd tab.
We will now Test the form that has been created, but Clicking on . When
done testing close window.
Continue building the form by adding remaining fields. Refer to Table and screen
shots for details.
# Label Component Tab Properties/Styles Hints
Type
1 Destination Dropdown Trip Details Label : Destination
Options:
NYC
Washington
San Francisco
LA
Miami
Phoenix
See below for
example
2 Purpose of Radio Trip Details Label : Purpose of
Visit Visit
Options:
Internal Meeting
Customer Visit
Training
Seminar
Item width(style) :
25%
3 Customer Text Trip Details Label : Customer
Name Name
Uncheck : visible
4 Justification Text Area Trip Details Label : Justification
Width(style): 80%
Click then click to test the form. When done testing close window.
Now make the Expense Line as repeatable by dragging and dropping Repeat into
Expense Details section just above the Expense Line section. You should see a
green Up arrow indicating it will be placed above Expense Details.
Drag and Drop Expense Line section inside the Repeat
Change the Max# property of Expense Line to 5.
Click
We can use JavaScript to add dynamic behavior to forms. Such as setting visibility, performing
calculations, and even invoking REST services.
If you would prefer not to manually type the code in the following rules. You can
instead copy and paste from a text file on the server. To do this, open a new tab in
your browser and go to:
http://psworkshop:7100/html/labhelper.txt
We will build a rule for dynamically enabling the Customer field, if the Purpose
of Visit is a Customer Visit. Click to edit the rule. Enter the rule as displayed
below.
if (PurposeOfVisit.value === "Customer Visit") {
CustomerName.visible = true;
}
else {
CustomerName.visible = false;
}
Test this rule by clicking Test Web Form option on the top.
Click icon to create a new Human Task field. Enter ApproveRequestHT, and
click Create.
For Presentation click Web Form. Click and select RequestForm. Click
Ok.
Click Save
Take a snap shot with the name PTA_Snapshot_03. You will need to click on
the Project Home tab. Then Snapshot.
Select the down arrow next to the tab manager(X). From the context menu
choose Close other tabs.
From the drop-down in the top right corner, select Business Catalog.
If you would prefer not to manually type the URL. You can instead copy and paste
from a text file on the server. To do this, open a new tab(it may still be open from
your last lab) in your browser and go to:
http://psworkshop:7100/html/labhelper.txt
Business Objects reside inside modules. Click on the icon to create a Parent
Module for the Business Object. Name it BusinessData.
You will now add attributes, or fields, to each of these Business Objects. Click on
RuleInput.
Click on Add New Attribute
Highlight RuleOutput.
Save.
Click on New Business Rule to create the rule. Call it ApprovalRule. De-
select Expose Composite Service
Type in ruleInput for Name and Select <component> from Dropdown. Then
select /BusinessData/RuleInput from BO dropdown.
Once again, click on the icon next to the Input and Output Data Objects.
Click Add.
Double-check it looks like the picture below and Click OK.
Click Save
Click on ApprovalRule to create the details for the rule.
Click on the drop-down arrow next to the icon, and select List of Ranges
Click on the icon, and enter the value 5000 in the End Point text field.
The remaining fields get populated automatically when you tab out of the End
Point field.
Change the aliases (High, Medium, Low, Very Low) to reflect what the
values represent. Your final table of values should look like:
Click on Conditions to bring it into focus. Click on the icon, and Add
Condition.
Double-click on the R1 cell, and choose Very Low and Low as the condition for
rule 1. After selecting the values, click outside of the drop down to accept them.
Double-click the cell directly under it. Enter value false and hit Enter.
Double-click the ?
Check the Actions checkbox (first, double-click to select the box, then click a
third time to set the checkmark).
Double-click the cell directly under it. Enter value true and hit Enter.
Click Save.
Similarly, Click on the Edit icon on the Rejected conditional flow, and click
on Implementation.
Click Save.
STEP 1: You will now complete Data Associations for your process.
Right-click on Submit Request, and click on Data Association.
Expand the requestDO complex dataObject on the right to expose its member
attributes.
Click Save.
information in our report. Click the Projects Icon at the top left.
Select Process Report from the drop-down menu.
Save
Now you will see that the project is shared, and also be able to see all
participants of the project.
Go back to main Composer Page by clicking on the Projects link on the top left.
Layout
Editor
Filters
Click on the Play button on the top ribbon alongside the Validate option. The
Player will initialize.
In the Identity Browser. First select Users from the dropdown. Then type in
jstein and click Search.
Repeat the steps above. Only this time we first set the Role to
PSTravelApplication.Employee and then select the user mtwain.
the Start icon to start the process player by clicking on the little arrow on
the Start event.
Now let’s make another request. Make sure this time your expense exceeds
$7000.
Note that all the fields from the Submit Request step are pre-populated on this
form. This is because we passed the requestDO onwards from Submit Request
via data associations. Click the Approve button.
Select PSTravelApplication.ProcessOwner
Search for weblogic user, select the checkbox and hit OK.
Click the Advanced Search Link and change the options to:
Processes=All
Assigned=Anyone, at any Role
Status=All
Click OK
With the List View option selected you can click the individual User Tasks and get
detailed audit on the individual tasks.
Tree View allows you to view the data as it travelled through the process.
Click Snapshots, when the dialog opens. Right-click the Snapshot you want and
choose Revert to Snapshot. Click Yes to confirm.
Alternately, you may also use the TravelApplication project in the Solutions folder.