BPM BDD 12c v1.5
BPM BDD 12c v1.5
BPM BDD 12c v1.5
Development
BPM 12c Workshop
Jan 3, 2017
Objectives
Business Architecture
Process Modeling
Process Simulation
Human Task and Web Forms
Business Rules and Conditional Gateways
Process Playback Deploy and Run
BAM Custom Dashboard
Assumptions
Your workstation is running Win XP, Vista, Windows 7, Windows 8 or Mac OS
You have System Administrator privileges on your workstation.
You have one of the supported browsers, IE7-IE10 , Safari, or Firefox with Flashplayer
enabled. NOTE: Chrome will work as well, however you must authenticate to
our VPN with one of the other listed browsers.
Depending upon your browser and version, you may be asked to allow plugins (Active X
or Java). Accept all requests from your browser to continue.
You should see a message confirming that you are connected to Array SSL/VPN
Server and an IP address.
Keep this open, You can continue the labs in a new browser window.
Using notepad or another text editor, open your hosts file located in:
Windows: C:\Windows\System32\drivers\etc\
Linux: /etc/
Note: For Windows 7 users, you may need to launch your Text Editor (Notepad) as
Administrator. You can do this by right-clicking the Text Editor icon from the Start menu
and selecting Run as Administrator.
Add a line to your hosts file in the following format:
XXX.XXX.XXX.XXX psworkshop
Replace the X’s with the IP address provided by the instructor.
10.146.91.234 psworkshop
A sample HOSTS file
entry. Replace the IP
Save and Close the file. address shown here
with the address
provided by the
instructor.
Getting Started
Oracle Business Process Composer is a web-based, role-driven, collaborative tool for
the discovery, design and documentation of business processes. Business Process
Composer is aimed at a business audience and enables business users to participate in the
definition, feedback and design of business processes and process-based applications.
Business Process Composer:
Provides an easy-to-use and intuitive user interface, enabling users to
quickly become productive.
Provides Process Analysis and Discovery with Business Architecture, a
full-feature tool for performing analysis, refinement, and optimization of
your business processes.
Provides a standard based, comprehensive modeling environment. You
can model business processes, create business rules, business data, and
user interface, and validate business processes.
Contains built-in collaboration. You can see who else is editing a project
and invite others to participate.
You will see two projects already owned by John Steinbeck. These pre created projects are solutions to
the labs we will build today. You may use them either as a guide or to move forward to a specific lab.
They exist in a pre-created Space called “Workshop Solutions”
The newly created space is visible on the on left side. Click on the newly created
Space.
Click on the icon on the top right corner to create the Business Architecture (BA)
project.
Name it as BA for AAA. You can optionally give some Description, accept the default
Space. Click Save.
Click on the icon and then enter AAA HR Enterprise Map as name and click
Save.
Select the Process Area (from the right palette) and drag that to Core Lane.
Double click the box to change the name to Leave Approval Management
After saving, Close the model by clicking in the top right hand corner.
Drag and drop 4 Chain Step’s into the model as below. Resize and format as
appropriate.
LOB Budget
Payroll
Expense Reimbursement
Drag and drop an End Step to the far right of the model and name it Treasury
Options.
After saving, Close the model by clicking in the top right hand corner.
Drag and drop a Goal (orange icon) into the Strategy Map. Double-click the Label
and change it from Goal 1 to Achieve HR Excellence.
Hasslefree Reimbursement
Link the Goal to the Objectives by hovering over the Goal and dragging an arrow to
each Objective.
Travel Reimbursement
Training Approval
Drag and drop a Value Chain icon to the left of the Travel Reimbursement strategy.
Select the BA project BA for AAA, click Next and then select the value chain model
Manage Travel Approval Resources. Click Finish.
Completed Model
Project Snapshots allow one to save projects at a point in time. We can always go back
and view an older version of the project and also can revert back our working copy to
an earlier saved snapshot. Click the Snapshots icon
Once saved it will show the snapshot. You can right click it and either open the
snapshot for future reference or revert to that snapshot if required.
Lab 1 Completed. We have defined the High Level Goals .Strategy Map, Strategy
Model and Value Chain Model. In the next lab you will create a specific process to
meet the defined goals and strategy.
Click the icon in the upper right hand corner next to BPM Project.
Enter PSTravelApplication for project name; make sure the Space is set to BPM
Workshop Space. Click Save.
The Project Home will open. Here you can see the elements of a standard BPM project
on your left side as Circled in the picture. This includes: Processes, Rules, Human
Tasks, Web Forms, Business Components, Simulations and others. You can also see
information about your project.
HINT: You can enable Grid Visibility and Snap-To-Grid from toolbar.
Hover your mouse over the Unassigned Role (on the left) 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.
Select the documentation type of End User in the lower right hand Documentation
tab.
Type in Please enter your travel request information. Then click Apply Changes
Collapse the Editor Pane by clicking the down arrow just at the top right-hand
corner of the Editor Pane.
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 as well.
Click on the pencil icon to modify the User Task. Change the name to Approve
Request and optionally set the description to Manager approves or rejects request.
Drag and drop another Exclusive Gateway to the right of Approve Request.
Rename it Approval Outcome. This is to check whether the approver has approved or
rejected the request.
Select the line between Approval Outcome and Submit Request. Click on the Edit icon
and give the sequence flow a name Rejected. Leave the type as Conditional
Select the Line between Approval Outcome and Save Request Change the name to
Approved leave the Type as Unconditional.
Move the Approve Request activity up a little so you can view the new sequence flow.
Readjust the sequence flow between Is Manual Approval Required? and Save
Request by dragging it down.
The BPM Process flow is completed. The process should look like the image below:
Enter the values as shown below for Simulation Definition and Duration. Leave
default Start Time as default and click Next
Create Simulation Model as shown below and then click Add followed by Finish.
Model Name=DemoSimulationModel
Distribution Task=Exponential
Average Frequency=100
Every=1h
Use=organization resources
Select Policy=Minimum Cost
Available Threads=100
Associate a process to run against this Simulation Definition. Click beside the
Models as shown below
Go to Resources tab, and then select Use Fixed Resources. Then change the
Available Resources to 10 as shown below
Click Cost per hour tab and give the cost as 100 as shown below:
Hover the mouse over Approve Request, Click to open and assign it 2 Fixed
Resources, and Cost per hour as 300.
Go back to the TravelRequestProcess Simulation tab and Click the Run button
This will execute the simulation, resulting in some data for analysis. Click the
TravelRequestProcess bar to drill into more detail.
Select all filters by clicking the All button. Close by clicking X at corner.
The generated bar diagram is showing different statistics for the Process against the
sample simulation run.
Click the bar corresponding to Completed Operations. It will drill into completed
operations detail:
The simulation canvas displays each activity average working count. If you hover your
mouse over the number, it will show the corresponding text.
Change from Units to Cost by selecting Costs 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.
Click on the green icon to the right of Human Task. Enter name
SubmitRequestHT and click Create.
Click Apply Changes. Then collapse the editor pane by clicking the down arrow
For Presentation, choose Web Form, 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 in
BPM 12c 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 previewed. The Oracle
BPM run-time is smart enough to infer the payload based on the Form fields and auto-
generates Business Objects (data types).
Click on the Properties section, select the Style tab and change the Width to regular.
Expand the Properties box and enter Name as the Label. Hit your tab key and it will
also populate the Name property.
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.
Drag and drop Money component onto the form below the Date. Look for the green
down arrow as above. Change the label to Total Amount and uncheck Enabled. Total
Amount field will be populated programmatically.
Test the form that has been created by Clicking on . It will open up the form in a
separate pop-up window (make sure pop-up blockers are not turned on in your
browser). When done testing close window.
Drag and Drop a Dropdown component into the tab section. Give it a label of
Destination.
Drag and Drop a Radio component into the Trip Details tab. Drag it to the
Destination field and drop when the arrow indicator points to the right. This insures
the Radio will be placed below the Destination field but within the Trip Details tab.
Drag and Drop a Text component to Purpose of Visit field. Drop when green arrow
points right
Drag and Drop a TextArea component to Customer Name field. Drop when green
arrow points right.
Drag and drop a Section component into the tab. Give it a label of Expense Line
Drag and drop a Dropdown component into the Expense Line component. Look for
the double arrow indicator before dropping to insure the component is placed inside the
Expense Line
Drag and Drop Expense Line section inside the Repeat, drop when you see the double
arrow indicator
You can use JavaScript to add dynamic behavior to forms. Such as setting visibility, performing
calculations, and 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 HTML file. To do this, open the following URL in a new browser tab
or window:
http://psworkshop:7001/TextReferenceApp/faces/Snippet.html
NOTE: The Rule Number you see may be different from the screenshots.
We will build a rule for dynamically enabling the Customer Name field, if the Purpose
of Visit is a “Customer Visit”. Enter the rule as displayed below. Or copy from the link
provided above.
if (PurposeOfVisit.value == "Customer Visit") {
CustomerName.visible = true;
}
else {
CustomerName.visible = false;
}
Click on the Trip Details tab to make it the primary navigation tab.
In the Expense Details tab, enter a value into the Amount field and then hit your tab
key. You should see that value updated to the Total Amount field. You can additional
Expense Lines and amounts. The Total Amount should reflect the sum
Save your work by clicking and close the RequestForm tab by clicking the at
top right corner.
Click icon to create a new Human Task field. Enter ApproveRequestHT, and click
Create.
Note: You are associating the same form with this user activity. Both the user
activities interact with the same web form.
Clean up the work area by choosing Close All Tabs from the down arrow.
NOTE: Two Business Objects have already been created for you when
defining the Form and Task.
Click on the icon to create a new Business Object. Select New Business Object.
Name it amount. Click for selecting Type and then click real.
Click Finish.
Create the rule with the name ApprovalRule. De-select Expose Composite Service
Type in ruleInput for Name and Select object from Type Dropdown.
Select BusinessData.RuleInput from Object dropdown. Click Add.
Enter ruleOutput for Name. Make sure you select BusinessData.RuleOutput as the
Object. Double check everything and click Add.
Click Save
Click on ApprovalRule to define the rule.
Create another Verbal Rule under the same Ruleset and refer the details from the
screenshot below. You can reference the steps above to create the second rule. The
differences are highlighted.
Click Apply Changes at the top right corner of the Implementation part. Click the
down arrow to close the editor pane.
Click Save.
Type “==false” after manualApproval. (That’s two equal signs, do NOT include
quotes.)
Click on the Edit icon on the Rejected conditional flow, and click on
Implementation.
Click Save .
Complete data association by right clicking on Approval Rules and selecting Data
Association.
Expand the requestDO complex data object on the right to expose its member
attributes.
Drag the totalAmount field under requestDO to ruleInput.amount (on the left Inputs)
and the manualApproval Bool to ruleOutput.manualApproval (to the right Outputs).
We will not complete the data association for the Save Request activity today. We will
just mark it as a Draft implementation. Right-click on Save Request and select
Implement.
Click Save .
Click on the icon to validate the project. This will point out any details that are
missing.
When the above steps are completed correctly, the results should show as below. If you
get any other error please ask your instructor. Collapse the editor pane
Select the Show Documentation and Show Business Properties checkboxes click the
HTML radio and click OK.
Click on the icon on the top ribbon alongside the Validate option. The Player will
initialize.
Repeat the steps above. This time, set the Role to PSTravelApplication.Manager and
then select the user jstein.
When the process advances to the Submit Request, click on the arrow
The process will flow like below. Because our request was greater than $7,000 it will
require approval from the Manager:
Note that all the fields from the Submit Request step are pre-populated on this form.
This is because the requestDO was passed onwards from Submit Request via data
associations.
Click the Approve button.
In case the manager rejects the expense report, it will go back to employee.
Return to the main Project Page by clicking on the Model link in the ribbon
Complete the values making sure the Total Amount is greater than $7,000 and click
Submit. Also note; if the info icon is clicked in the Submit Request form the End
User documentation entered in Lab 1 as will be shown in the Help text.
Login as jstein, password welcome1. Make sure to explicitly click the Login button.
Logout of BPM Workspace and log back in as weblogic. The weblogic user is the
Process Owner and can track (and also alter) the flow of processes.
Click the Advanced link to the right of the Search Icon and change the options to:
Processes=All
Assigned=Anyone, at any Role
Status=All
Click OK
Tree View allows a view of the data as it travelled through the process.
Graphical View presents the current execution of the process as represented in the BPMN
Model.
The Monitor will show the sum of the Completed, Running and Faulted instances for the
time interval. You can also select the User Task activities for more statistics.
Click on jcooper’s performance, it will drill into more details on the right.
Click on the Process bar to see a list of the instances which jcooper participated in.
Click and choose New Counter from the drop down list.
Open TravelRequestProcess.
In the Editor Pane, select the AppsReceived Counter. Click ApplyChanges and
collapse the editor pane.
Expand the requestDO variable and select the name attribute. Then click Insert Into
Expression. Click OK when done.
Drag the applicantName_PDO data object to the new Outputs field. Click Apply
when done.
Drag and drop a Script activity onto the Reject sequence flow. The line will pulse blue
when ready to drop.
Right-click the new Script activity and select Create Counter Mark from the context
menu.
From the filter drop down’s select Derived Data Object and PROCESS. Select the
PSTravelApplication Activity and PSTravelApplication Process and click Add.
Create business query using Business Query Editor to populate the project related data
in the graph. Click on icon
The Query Editor will open. Choose PSTravelApplication Activity in the Data Object
drop down.
The Application Received graph against the Applicant’s names will be displayed.
Select PIE as Category and Pie as view type as shown in the diagram.
Name it as ApplicationRejected
Click Create
The Query Editor will open. Choose PSTravelApplication Activity in Data Object drop
down.
That completes the BAM Dashboard. The completed dashboard will look like below