2. LESSON 1 - OVERVIEW
SAMPLE APPLICATION
THE PERMIT PROCESSING SCENARIO
In this workshop, we will utilize the full BPM Lifecycle around a specific use-case of permit processing
to achieve continuous process improvement.
Oracle BPM Full Life Cycle
Process
Modelling
Process Process
Monitoring Improvement
Process Process
Iteraction Implementation
The City needs to manage the processing of construction and building permits submitted by local
citizens. This is currently a very manual and time consuming process. The applicant submits permit
applications either online or in person in the city hall. This has to be reviewed by zoning and planning
officers to make sure that the permit can be granted. This also has to be reviewed by the appropriate
construction officials responsible for electrical, plumbing, fire and building codes. Once approved, the
payment for the permit will be processed and the applicant will be notified of the approval.
Construction
Permit Applicant Zoning Officer Officials
Planning Officer
Applies for Reviews Site Reviews
Reviews Plans
Permit Information Construction
Code
3. The City also utilizes a couple of web services for this process from other agencies and vendors – a
Zoning Information Service and a 3rd party Payment Processing Service.
Zoning Information Service Payment Processing
A service that determines how a Service
property is zoned based on the A service that processes credit card
address - Commercial, Industrial, or electronic bank payments for the
Residential, Open Acess or Historical permit
The existing process can be described by the following characteristics:
The City is receiving an An applicant takes an The City employs 8 Zoning
average of 10 requests for average of 5 minutes to Officers taking an average of
permit applications every complete a permit 2 hours to complete a site
hour. application. review per application.
The City utilizes 10 The Zoning Information
The City employs 5 Planning
Construction Officials taking Service and the Payment
Officers taking an average of
an average of 30 minutes to Processing Service are both
1 hour to review
review the permit averaging 30 seconds to
construction plans per
construction codes of an process a transaction for
application.
application. each application.
There is a 5% rejection rate
for permit applications.
4. Oracle BPM Suite 11G will be used to accomplish the following:
Process Modeling •Model the City ’s current permitting process.
•Leverage simulation tools and optimization techniques to
Process Improvement optimize the process.
Process Implementation •Deploy the implemented process including service integration and
& Deployment human workflow to the run-time environment.
•Execute the process, engaging the various process participants
Process Interaction using a work list application.
•Monitor the overall performance of the permitting process using
Process Monitoring real-time dashboards.
5. INTRODUCTION TO ORACLE BUSINESS PROCESS MANAGEMENT
The Oracle BPM Suite provides an integrated environment for developing, administering, and using business
applications centered on business processes. It enables us to create process models based on standards with
user-friendly applications. It enables collaboration between process developers and process analysts. Oracle
BPM supports BPMN 2.0 and BPEL across the process lifecycle starting from modeling and implementation to
run time and monitoring.
The Oracle BPM Suite provides a seamless integration of all stages of the application development life cycle
from design-time and implementation to run-time and application management. The Oracle BPM Suite is
layered on the Oracle SOA Suite and shares many of the same product components, including:
Business Rules
Human Workflow
Oracle Adapter Framework for Integration
Spring Components
Oracle Web Service Manager
BUSINESS PROCESS MANAGEMENT ROLES & RESPONSIBILITIES
Different stages of the application development life cycle require interaction from different types of users.
6. PROCESS ANALYST
Process analysts are responsible for creating the initial flow of a business process and documenting its steps.
This includes identifying and defining the KPIs and high level rules that define the routing artifacts of the
business process. This person may also perform simulations to calculate and estimate ROI. Process analysts
typically use Business Process Composer to create process models. They may also use process analyst role
within Oracle BPM Studio for modelling and simulation.
You will play the role of the Process Analysts during Lab 1 - Process Modelling and Lab 2 - Process Improvement.
PROCESS DEVELOPER
Process developers are responsible for implementing the process models created by process analysts. Each step
in the process requires an implementation. The process developer is responsible for integrating the business
process with back-end applications like databases and services. Process developers typically use Oracle BPM
Studio to model and implement the components of a business application.
We will be deploying a fully implemented process during Lab 3 - Process Deployment. The Day 2 format of this
workshop will focus on the role of the Process Developer.
PROCESS PARTICIPANTS
Process participants are the people who use the business applications created with the Oracle BPM Suite.
Process participants typically use Oracle BPM Workspace or Process Spaces in the Oracle WebCenter Suite.
In this workshop, we have process participants such as the permit applicant, the zoning and planning officers
and certain constriction officials who will be interacting with the permitting process. You will play the roles of
these participants during Lab 4 - Process Interaction.
PROCESS OWNER
Process owners are responsible for controlling and managing deployed business processes. They are responsible
for the overall supervision of the running business process. They often use metric analysis tools like dashboards
to understand the current state of the managed business processes. Process owners typically use Oracle BPM
Workspace. They also use Business Process Composer to change the behavior of a process by editing Oracle
Business Rules. They may also use the Oracle BAM console to view metrics dashboards.
You will play the role of the Process Owner during Lab 4 - Process Interaction and Lab 5- Process Monitoring.
PROCESS ADMINISTRATOR
Process administrators are responsible for administering the BPM infrastructure. Typical activities include the
installation and setup of BPM environments and the overall management of the BPM
Engines that are hosting business processes. The main tool used by business administrators is the Oracle
Enterprise Manager and automated tools like Ant. Business administrators also use Workspace to manage
organizational units, role assignments and perform other activities like creating workflow advanced routing
declarations.
This workshop does not cover the Process Administrator role but has several of the administrative tasks in
setting up the BPM environment documented in the Appendices.
In summary, the Oracle BPM Solution spans all these business process roles and responsibilities and ties these in
with Enterprise Architecture and Governance initiatives of an organization in a Complete Business Process
Management Lifecycle, as indicated below
7.
8. LESSON 1 – PROCESS MODELLING
The first stage of the Business Process Management life cycle is Process Modelling. During this stage a process
analyst creates process models based on real-world business processes and problems.
Process
Modelling
Process Process
Monitoring Improvement
Process Process
Iteraction Implementation
Business Process Modelling Notation (BPMN) is an industry standard notation for defining business processes.
The Oracle BPM Suite supports BPMN 2.0. The BPM Suite 11G provides BPMN design time modelling
capabilities using the Oracle BPM Studio and the Oracle Business Process Composer, which will run natively on
its BPMN 2.0 run-time engine. For this lab, we will utilize Oracle Business Process Composer for our initial
process modelling activities.
Oracle Business Process Composer
The Oracle Business Process Composer is a web-based application that enables business users to collaborate
with process developers and designers.
Provides a user friendly environment for composing processes and process templates.
Enables process analysts to create process blueprints, which are initial drafts of a process that can be
used by process developers as a starting point for implementation in Oracle BPM Studio.
Enables certain users to edit business rules at run time. This is important because policies tend to evolve
faster that business processes.
CREATING A BPM PROJECT WITH A BUSINESS PROCESS
To get started, let’s use the Business Process Composer to create a new BPM project for the Permit Process.
1. Start Oracle Business Process Composer by clicking on the BPM Composer icon from the desktop.
2. This will bring up the Business Process Composer login screen in a web browser. Optionally, you can also
enter the URL directly from your browser: http://localhost/bpm/composer.
Login as the Process Analyst using the following:
User Name: Rakesh.Gujjarlapudi
Password: welcome1
9. 3. Create a new project by clicking on from the top-right and enter the following
information
Name: PermitProject
Description: Process management of construction permits
Click Finish to create the project.
10. 4. Click the New Process option as shown below.
5. Name the process PermitProcess, and click Create button.
6. You should now see your new Permit Process. Click the Save button from the top, to save your project
and process. Double click PermitProcess to open the process.
11. By default, it creates a process with a simple Message Start and Message End.
7. Now, we will add roles and activities to build the most expected path of the Permit Process project.
Let’s add the first role. Hover your mouse to the side bar of the horizontal lane and you will find a pencil
icon on it. Click the icon to edit.
Select the Create option and name the new role Applicant.
8. To initiate the process, we’ll use an Initiator task from the BPMN components on the right.
Click the button under the BPMN component list on the right and find the Initiator from the
list of Interactive components.
12. 9. Drag the Initiator task to the arrow between the Start and End activities.
Click the text of the User Task activity and rename it to Apply for Permit.
Click button under the BPMN component list to collapse the list of components.
Drag a new Interactive Task from the BPM Components to the white space below the Applicant lane.
Click the text of the new User Task activity to rename it to Review Site Information.
13. Right Click on the Unassigned Role and select Properties. Select the Create radio
button create a new role called Zoning Officer.
Drag the end of the arrow coming from Apply for Permit down to Review Site Information as shown:
Drag another User Task from the BPM Components to the white space below the Zoning
Officer lane and rename it to Review Plans
10. Right Click on the Unassigned Role and select Properties. Click the create radio button to create a new
role. Call the role Planning Officer.
14. 11. Drag a Default connector from the Review Site Information task and connect it to the new Review Plans
task as shown. To do this, just hover your mouse on the Review Site Information task and you will see
button. Just click that button and drag it to the Review Plans.
12. Drag another User Task from the BPM Components to the white space below the Planning Officer lane
and rename it to Review Construction Codes.
Click on the Unassigned Role and then click the icon and create a new role called Construction Officials
by choosing the create option.
15. Connect the Review Plans and new Review Construction Codes task in the same way as you did earlier.
Because we are using an Initiator to initiate the process, let’s change the Start and End type to None. To
do this, hover you mouse on the Start and click the pencil icon. Change the Trigger to None. Do
the same for the End.
Move the End event object from the top Applicant lane down to the bottom Construction Officials lane.
16. Lastly, drag a Default connector from Review Construction Codes task and connect it to the End object.
13. The PermitProcess should now look like this
Save the work
17. ADDING AUTOMATED ACTIVITIES
Add a couple automated activities to the process. These activities will be in the form of Service Tasks. We will
define Service Tasks for the following services:
Zoning Information Service Payment Processing
A service that determines how a Service
property is zoned based on the A service that processes credit card
address - Commercial, Industrial, or electronic bank payments for the
Residential, Open Acess or Historical permit
1. We’ll use the Service Task from the BPMN components on the right. Click the button under
the BPMN component list on the right and find the Service Task from the list of Activity components.
Drag two Service Task components to the PermitProcess diagram as shown. One will be in between the
Apply for Permit and Review Site Information tasks and the other one will be between the Review
Construction Codes and the End object.
Tip: When you drag the service tasks to the diagram, drag it to the connectors you want to insert it into.
While dragging, mouse over the connectors and wait for them to pulse or get highlighted, and then
release it. This way, the service tasks will be inserted in between.
18. Rename the first Service Task to Get Zoning Information.
Rename the second Service Task to Process Payment.
PermitProcess will now look like this:
20. ADDING AN ALTERNATE PATH
Add an alternative path to what’s expected. For the permit process, there is the possibility that the permit
application will not meet the correct zoning, planning and construction requirements. In this case, the
application has to be rejected and sent back to the applicant.
1. To determine the outcome of the reviews, add a conditional gateway right after the last review activity
before payment is processed. Drag a Gateway object from the BPMN Components to the arrow
between the Review Construction Codes and the Process Payment tasks.
Rename the Exclusive Gateway to Review Outcome.
We are sending back rejected applications to the applicant.
To do this, do the following:
a. Hover your mouse on Review Outcome and then use the icon to connect it to Apply for Permit.
b. Drag the middle of the sequence flow arrow outbound to make the arrow cornered as shown
below.
22. 2. Close the project by selecting Close Project from the drop-down on the upper right section of the page.
Log out of Oracle Business Process Composer by clicking Sign Out from the top right corner and close
your web browser.
As simple as it is, this process is our starting point for modelling the Permit Process. This is the “As- Is”
model for the Permit Process. It represents the current way permits are processed which may not be as
optimized as we want it to there are still several areas for improvement.
Exercise:
List down areas for improvement that you see in this permit process.
23. LESSON 2 – PROCESS IMPROVEMENT
The whole point of BPM is for continuous process improvement. The next stage focuses on the Process
Improvement aspect of Business Process Management. In this stage, we will identify potential bottlenecks in the
Permit Process using process simulations and then optimize the process by adjusting the model in Oracle BPM
Studio.
Process
Modelling
Process Process
Monitoring Improvement
Process Process
Iteraction Implementation
ORACLE BPM STUDIO
Oracle BPM Studio is a component of the Oracle BPM Suite that enables process developers to create process-
based applications. It also enables process analysts and developers to model and simulate business processes.
Oracle BPM Studio is part of the Oracle JDeveloper IDE and shares the JDeveloper user interface elements used
by the Oracle SOA Suite. The JDeveloper environment can be tailored based on the role selected by the user.
Oracle BPM Studio includes the Analyst Role which only includes process design elements that are useful to
business analysts. Process developers who need access to the complete functionality of the Oracle BPM and
SOA Suites should use the default role.
IMPRORING PROCESS MODEL INTO ORACLE BPM STUDIO
1. Start Oracle BPM Studio by clicking on the BPM Studio icon from the desktop.
When prompted to select a role, select Default Role and click OK. This will allow us to download the
Permit Process from the Oracle BPM Metadata Service (MDS) repository.
24. Create a new BPM Application by clicking New Application and name it
PermitApplication. Make sure that the Directory is pointed to
/home/oracle/jdeveloper/mywork/. Also make sure that the BPM Application is selected in the
Application Template. Click Finish.
Note that there is a default project called Project1, which we are not going to use. We will download the
project from the MDS Repository. Right-click on Project1 and select Delete Project and choose the
option to Remove the project and delete all of its contents (including source directories) and confirm
the deletion.
Save all
25. 2. Click on the third tab from the left. This is the BPM MDS Navigator. From there, select the option to
Configure Connection as shown. (Note: If you do not see the BPM MDS Navigator, you can select this
from the top menu – View > BPM MDS Navigator.)
Select BPM_MDS when prompted for an MDS Connection, and click OK.
Note: This connection has already been pre-configured to point to your BPM MDS Repository. Please
refer to Appendix A on how to configure the BPM MDS Repository connection.
3. In the BPM MDS Navigator, you will see your PermitProject as shown. Right-click
on it and select Check Out.
4. Note: If you notice that the PermitProject icon has a pad-lock on it like this:
. It means that it was not closed properly in Oracle BPM Composer.
You can force this to close by right-clicking PermitProject and selecting Unlock,
and then Check out
26. 5. When asked if you want to migrate the project, select Yes. Then click OK to finish.
6. Click on the second tab from the left – BPM Project Navigator, and from there,
expand the PermitProject > Process folder. Double click PermitProcess. You
should now see the Permit Process diagram in Oracle BPM Studio.
Tip: Change the View to 75% to see the full process (or your preference).
Note that you will see yellow warning icons on each activity. This is because these
activities have not been implemented yet and you are logged in with the Default
27. Role. If you want to view this without warnings, you can click on the Highlight
Level below the diagram, and slide the level to the middle to hide warnings and
only show errors.
28. CREATING STIMULATION MODEL
By running simulations, business analysts and developers can predict the behaviour of business processes under
specified conditions. They can run simulations to verify that the output meets the metric objectives and identify
any bottlenecks. They can also run simulations to test the effects of changes on an existing process design.
First, we need to define a Simulation Model. A Simulation Model enables you to define the behaviour for an
individual process model. Note that, for any given process model, you can have multiple simulation models, so
that you can mimic a variety of scenarios.
1. From the BPM Project Navigator, navigate from PermitProcess > Simulations and right- click on
Simulation model. Select New Simulation Model to define a simulation model.
Click OK to Create the Simulation Model with the default name.
You should see the Simulation Model that will allow you to configure the behavioural characteristics of
the process including the duration of each activity, the resources and costs involved, queuing
information and the probabilities of each outgoing flow from occurring.
29. 2. Use the following characteristics for the Permit Process and capture the characteristics in the simulation
model
The City is receiving an An applicant takes an The City employs 8 Zoning
average of 10 requests for average of 5 minutes to Officers taking an average of
permit applications every complete a permit 2 hours to complete a site
hour. application. review per application.
The City utilizes 10 The Zoning Information
The City employs 5 Planning
Construction Officials taking Service and the Payment
Officers taking an average of
an average of 30 minutes to Processing Service are both
1 hour to review
review the permit averaging 30 seconds to
construction plans per
construction codes of an process a transaction for
application.
application. each application.
There is a 5% rejection rate
for permit applications.
3. Click the Start node from the list of Flow Nodes on the left. Define the average of 10 requests per hour
for permit applications by setting the Start node’s distribution type to Exponential with an Average
Frequency of 10 Instances every 1 hour as follows:
30. Click the Apply for Permit node from the list of Flow Nodes on the left. The 5 minute average for an
application to complete a permit application can be specified by setting the Apply for Permit node’s
Mean duration to 5 minutes as follows:
Click the Review Site Information node from the list of Flow Nodes on the left. The 2 hour average to
complete a site review can be specified by setting the Review Site Information node’s Mean duration to
2 hours as follows:
From the Review Site Information node, click the Resources tab. The City’s 8 zoning Officers doing site
reviews can be can be specified by setting the Available Resources to 8.
31. Click the Review Plans node from the list of Flow Nodes on the left. The 1 hour average to complete a
plan review can be specified by setting the Review Plans node’s Mean duration to 1 hour as follows:
From the Review Plans node, click the Resources tab. The City’s 5 Planning Officers doing site reviews
can be can be specified by setting the Available Resources to 5
Click the Review Construction Codes node from the list of Flow Nodes on the left. The 30 minute
average to complete a construction code review can be specified by setting the Review Construction
Codes node’s Mean duration to 30 minutes as follows:
From the Review Construction Codes node, click the Resources tab. The City’s 10 Construction Officials
doing construction code reviews can be can be specified by setting the Available Resources to 10
32. Click the Get Zoning Information node from the list of Flow Nodes on the left. Verify the 30 second
durations for the Zoning Information Service. This is the default value so no change is needed.
Click the Process Payment node from the list of Flow Nodes on the left. Verify the 30 second durations
for the Payment Processing Service. This is the default value so no change is needed.
Lastly, Click the Review Outcome node from the list of Flow Nodes on the left. Define the 5% Rejection
Rate in the probabilities of the Review Outcome such that:
a) There is a 5% probability that it will go to Apply for Permit
b) There is 95% a probability that it goes to Process Payment.
You can define this by dragging the probability sliders in the Outgoing Flows as follows.
Note: Make sure you specify the percentage correctly for the Apply for Permit and Process
Payment flows, as sometimes the order these flows are shown below is different.
Save the Simulation Model.
33. CREATING STIMULATION DEFINITION
Next, we need to create a Simulation Definition. A Simulation Definition enables you to define the processes and
resources that define a simulation scenario. In a simulation definition, you specify the processes that participate
in the simulation by selecting the simulation models associated to those processes. A process may have multiple
simulation models defined for it. If a process has multiple simulations models defined, then you must select one
of those models to use in the simulation definition.
1. From the BPM Project Navigator, navigate from PermitProcess > Simulations and right- click on
Simulation Definition. Select New Simulation.
Click OK to Create the Simulation Definition with the default name.
You should see the Simulation Definition that will allow you to set the start time, duration, models and
resources used in the simulation.
Set the Duration for 1 Day and check the box to Include in simulation for the PermitProcess
SimulationModel as shown.
Save the Simulation Definition.
34. RUNNING THE SIMULATION
Now, with the simulation definition and model, let’s run a simulation on the Permit Process.
1. Click on the Permit Process to view the process diagram and click the Simulation tab below.
Click the icon to start the simulation.
Observe the process diagram for bottlenecks.
35. Note that there is an obvious bottleneck in the Zoning Officer’s queue as indicated by the waiting queue
being marked as Red. This means that the 8 Zoning Officers are not able to handle the incoming workload.
Because the process is single threaded (all activities are sequential), all succeeding tasks are affected by this
bottleneck.
Stop the Simulation.
36. IMPROVING THE PROCESS WITH PARALELL ACTIVITY
One quick approach to improve the process is to parallelize certain activities. Let’s assume that there are no
dependencies between the work of the Zoning and Planning officers. In this case, we can make these activities
go in parallel.
2. From the Component Palette on the right, drag the Parallel Gateway to the process diagram.
Name the Parallel Gateway Parallel Reviews.
You should see the Parallel Gateway added to your process. (Note: The red error icons simply indicate
that the gateways are not connected to your process yet).
To visually show that Review Site Information and Review Plans will go in parallel, position the Review
Site Information and Review Plans to be vertically aligned and stretch the parallel gateway and in the
middle of the 2 activities as follows:
37. 3. Adjust the existing arrows in your process to connect to the parallel gateway to the Review Site
Information and Review Plans by doing the following
a. Drag the end of the connector going from Get Zoning Information to Review Site Information to
make it connect to the start of the Parallel Reviews gateway:
b. Drag the end of the Parallel Reviews connector to make it connect to Review Site Information:
c. Drag the end of the connector going from Review Site Information to Review Plans to make it
connect to the end of the Parallel Gateway:
38. d. Drag the end of the connector going from Review Plans to Review ConstructionCodes to make it
connect to the end of the ParallelGateway:
e.
4. You should now have something like this:
39. 5. Right click on the Parallel Reviews gateway and select Add default sequence flow to connect it to the
Review Plans task.
6. Add an Exclusive Gateway after the Parallel Gateway and call this Preliminary Review Outcome. This will
loop back to the applicant in case there are rejections from the Zoning or Planning officers.
7. Create the loopback by right-clicking on the new gateway, selecting Add conditional sequence flow and
connecting it to the Apply for Permit task.
40. 8. Add default sequence flows to connect the ParallelGateway to the Preliminary Review Outcome
gateway and to the Review Construction Codes task as shown. (Note: Adjust the other objects as
needed)
9. Save the model
10. Run the simulation again. Notice that the bottleneck has now been divided between the 2 parallel
activities. There is still queuing going on in each activity.
42. IMPROVING THE PROCESS WITH PARALELL ACTIVITY
Another approach to improve the process is to bypass the execution of long running tasks using decisions made
by a rules engine. For the Permit Process, we can add a Business Rule to evaluate permits based on zoning and
project size and allow certain types of permits based on this information to skip the preliminary reviews. The
business rule will basically determine that certain projects may not require reviews from the Plan Officer and
the Zoning Officer.
1. From the Component Palette on the right, drag a Business Rule to the process diagram, right after the
Get Zoning Information task. (Hint: Drag it to the arrow and release when the arrow shows with a color
blue. This will make automatically insert in between without having to define new sequence flows.)
Name the Business Rule Evaluate Permit.
Add an Exclusive Gateway after the business rule and call this Evaluation Outcome. This will determine
whether preliminary review can be bypassed.
43. Add a conditional sequence flow from the new gateway to connect straight to the Review Construction
Codes task. Drag the arrow from the middle going outward to make it cornered. Adjust the other objects
to make room. The process should look like the following:
44. Let’s assume that with this new rule, 75% of the applications will not require preliminary review. Go to
the Simulation Model and adjust the Evaluation Outcome with a 75% probability of going to the
outgoing flow to Review Construction Codes.
Also adjust the Preliminary Review Outcome to have a 5% Rejection Rate.
45. Run the simulation again. Notice that the process is now executing very efficiently.
46. VIEWING SIMULATION METRICS
1. While the simulation is still running, double click the simulation tab to maximize it.
2. Look at some simulation metrics. Click the Configure icon . Uncheck all the checkboxes under
Units and check the Average process time and Average Waiting
Time under Time. This will show us the time the process spends executing and waiting. Ideally, there
should be minimal waiting time.
47. Click on the Drill Down icon to get a breakdown by activity.
Change the Column chart to a Bar chart and click on to increase the font size until the fonts on the
right are readable.
Notice the breakdown of activities. Most of the time is spent processing, not waiting. The only activity
that’s spent waiting is when an applicant applies for a permit. This shows that the Permit Process is now
operating efficiently.
48. Stop the Simulation by clicking the icon.
Click the Save All icon
Go to the Application Navigator tab and with the PermitProject selected, select Close from the
Application menu.
Through process simulation, we have identified potential bottlenecks in our “As-Is” process and have
continuously improved it in our new “To-Be” Process. Next, we will move on to the next phase of the
BPM Lifecycle – Process Implementation.
49. LESSON 3 – PROCESS IMPLEMENTATION
Process
Modelling
Process Process
Monitoring Improvement
Process Process
Iteraction Implementation
This lesson will examine the fully implemented Permit Process developed by the Process Developer and deploy
it to the unified run-time environment. For all of these implementation activities, the Process Developer
leveraged declarative tools from the Oracle Fusion Middleware SOA Suite to design and construct the required
logic without having to do any custom coding. We will explore the following implementation activities:
Human Task Implementation – Defining the human workflow task configuration for each interactivity
activity in the process. Oracle SOA Suite Human Workflow component is used to define tasks.
Service Task Implementation – Utilizing web services to integrate with back end services such as a
zoning information system and a payment database system. Oracle SOA Suite Database Adapter to
generate database operation services. Oracle SOA Suite Transformation Tools to declaratively transform
the permit data object to the database structure.
Business Logic Implementation – Defining a business rule to determine how to process permit
applications. Oracle SOA Suite Business Rules component to create a decision table exposed as a
decision service. You will also define the conditional expressions to control the process flow logic and a
script task to initialize the process data objects.
Business Activity Monitoring Implementation – Defining business indicators in the process and
enabling the use of Oracle Business Activity Monitoring (BAM).
User Interface Forms Generation and Customization – Generating user task forms for each human task
and customizing the generated form to improve the end user interaction. The generated task forms are
based on the Oracle Application Development Framework (ADF). Oracle ADF components for
customizing the task forms.
Process Deployment - Mapping the process roles to the actual roles that these users are assigned to in a
Corporate Directory/LDAP Server and then deploying the process to the BPM/SOA runtime environment
running on Oracle WebLogic Suite. Oracle WebLogic Embedded LDAP server for the users and groups.
All the users and their corresponding groups have already been defined in the Oracle WebLogic
Embedded LDAP Server.
50. OPENING THE COMPLETED APPLICATION
Open and deploy a BPM application that has already been completely implemented by the Process Developer.
1. Start Oracle BPM Studio. When prompted to select a role, select Default Role and click OK.
From the Application menu, select Open and navigate to /home/oracle/MyFiles/PermitApplication.
Complete and open the file PermitApplication.jws
.
You should see the completed PermitProject folder on the Application Navigator along with 3 generated
forms projects – PermitApplicationForm, PermitContsructionOfficialForm, and PermitReviewForm.
Click on the BPM Project Navigator and expand the PermitProject > Process folder.
Double click PermitProcess. You should now see the fully implemented Permit Process diagram in Oracle
BPM Studio.
51. EXAMINING HUMAN TASKS
Examine the Human Tasks for each interactive activity. Interactive activities are the ones with the green boxes.
2. The Apply for Permit task is the task that initiates the PermitProcess. Double-click the Apply for Permit
task and click on the Implementation tab. This task is a User Task implemented using a Human Task
definition called PermitApplicationTask.
Click OK. To see the Human Task definition file, right-click the Apply for Permit task and select Open
Human Task.
52. Since this is the first user task, this utilizes the Initiator Pattern to allow the Applicant to submit a Permit
Application. Notice the outcome of SUBMIT.
Click on Data and see how the task is using the PermitApplication as its input with the Editable setting
checked. This will allow the Permit Applicant to edit the Permit Application during submission or re-
submission.
Back in the BPM process diagram; examine the Review Site Information and Review Plans tasks by
double-clicking them. Both of these tasks use the Human Task definition called PermitReviewTask.
53. View the Human Task definition by right-clicking on the task and select Open Human Task.
As shown in the Task Definition, the Permit Review task is defined using the default Simple pattern and
can return different outcomes – in this case the defaults - APPROVE or REJECT. Users will be able to
choose one of these outcomes to complete the task. (Note that you can configure additional outcomes
if needed).
Click on Data and notice that this task is read-only, the Editable is unchecked. This makes the permit
application data read-only for the reviewers.
Close the PermitReviewTask.task file to go back to the BPM Process diagram.
Examine the last task, Review Construction Codes, by double-clicking it. The task is using the Human
Task definition called ConstructionCodeReviewTask.
54. View the Human Task definition by right-clicking on the task and select Open Human Task.
As shown in the Task Definition, this task implements a complex pattern because the permit will have to
dynamically assigned to the appropriate official depending on the type of permit. Route to 2 officials –
the Plumbing Official for plumbing related permits and the Electrical Official for electrical related
permits.
Click the Assignments tab from the right to see the complex workflow pattern.
55. EXAMINING SERVICE TASKS
Examine the Service Tasks of the automated activities. Automated activities are the ones with the blue boxes.
1. Let’s take a look at the first automated activity, Get Zoning Information. Web Service.
From the BPM Process, double-click the first automated activity, Get Zoning Information and click the
Implementation tab. Click the icon and how this is implemented by a Service Call using a SOAP Web
Service called ZoningInformationService.
2. Click the Data Associations link to review the data associations.
In the Data Association, view the Input and Output tabs to see the input and output mappings.
The block, lot and siteAddress come from the Permit Application and the ZoningInformaationService
returns the Zone.
56. 3. Examine the last automated activity, Process Payment. Typically, the process payment activity will be
handled by another process that will orchestrate the calls to an external credit card validation service
and potentially internal billing and order management systems.
4. For simplicity invoke a database operation to store the payment information in a database table.
This service task utilizes the Database Adapter to insert the Payment Information to the Payment
database table. From the BPM Process, double-click the last automated activity, Process Payment and
click the Implementation tab. Notice how it uses the insert operation of the PaymentProcessingService.
It also transforms the data from the permit application to the payment database table. Click the Data
Associations link to open the transformation.
57. Click the Counter tab. A counter mark is used in this activity to count the number of permit approvals
that has reached payment processing.
58. EXAMINING THE BUISNESS RULES
Examine the Business Rule for determining whether permit applications require preliminary reviews or not. The
business rule is the one with the yellow box.
1. From the BPM Process, double-click Evaluate Permit business rule and click the Implementation tab. See
that this task is using the PermitApplicationRules business rule.
Click the Data Associations link. Notice how PermitApplication is assigned as the input and output. The
rule takes in the PermitApplicationInput, evaluates it and returns the same object with the
applicationEvaluationResults field populated with either: REVIEWS_REQUIRED or
NO_REVIEW_REQUIRED.
59. In the Output tab, notice how we are setting the applicationStatus as Submitted and the
referenceNumber using a system function called getCompositeInstanceID.
In the Output tab, we are also initializing the values of 3 Business Indicators: Cost, TypeOfWork and
Zone with data coming from the Permit Application and Zoning Service. These business indicators will be
used for monitoring the process in business dashboards.
60. Click OK and go to the Counter tab. A counter mark is used in this activity to count the number of permit
applications that has been evaluated.
Click OK to go back to the BPM Process.
2. From the BPM Process, right click the Evaluate Permit business rule activity and select Open Business
Rule.
61. This will bring you to the Rules Editor with a Decision Table with the following rule logic: Small projects
will return NO_REVIEWS_REQUIRED, Medium and Large projects will return REVIEWS_REQUIRED.
To see how Small, Medium and Large are defined, let’s review the Local List of Ranges, also called a
Bucket Set. This bucket set will be used to classify the permit applications based on the estimated cost
of the permit application.
Click on PermitApplication.summary.estimatedCost under Conditions. Make sure Local List of Ranges is
selected and click the icon next to it.
The ProjectSize bucket set defines what is considered large, medium and small based on the permit
application’s estimated costs using the following ranges:
Projects greater than or equal $100,000 are large projects.
Projects greater than or equal $10,000 and less than $100,000 are medium projects.
Projects less than $10,000 are small projects.
62. Click Ok.
Close the Rules Editor by clicking the x button on the tab.
EXAMINING THE CONDITIONAL LOGIC
Examine the conditional logic of the process. We will take a look at the expressions for each conditional
transition.
1. Double-click the transition that returns from the Preliminary Review Outcome gateway going back to
Apply for Permit. This condition occurs when either the Zoning Office rejects the site information or the
planning office rejects the plans.
63. Click on the Properties tab and review the condition:
Click Ok.
Next, double-click the transition that bypasses the preliminary reviews to go straight to the Review
Construction Codes. This condition occurs when EvaluatePermit business rule returns a value of
NoReviewRequired.
64. Click on the Properties tab and review the condition:
Click Ok.
Lastly, double-click the transition that returns from the Review Outcome gateway going back to Apply
for Permit. This condition occurs when the Construction Officials reject the construction codes.
65. Click on the Properties tab and review the condition:
Click OK
EXAMINING THE SCRIPT TASK
Examine how the Process Developer made use of a Script task to initialize our permit application with an XML
data structure. The Script task is useful for initiating or setting any constant values in the data objects. For the
purposes of this workshop, initialize the permit application with default data to save us from having to type all
the information manually when we run this.
2. Double-click the Initialize Permit Application script task and click the Implementation tab.
3. Check the Data Associations link.
From the Data Associations, notice how the Permit Application is being initialized with data in XML
format.
66. Double click the icon on the left of PermitApplication to review the XML that contains default
values we are assigning to the permit process.
Click OK on all dialog boxes until you’re back in the BPM Process.
To validate that there are no problems, click the Make icon in JDeveloper.
67. Note: The Compiler Output will show warnings about the Error assignee not specified. You can ignore
these warnings.
EXAMINING THE USER INTERFACE
For users to interact with the human task in the Permit Process, we will need some UI forms. The integrated
development environment of Oracle BPM Suite includes Oracle Application Development Framework (Oracle
ADF) for this purpose. With Oracle ADF, you can design a task form that depicts the human task in the BPM
Process. You can also automatically generate the forms based on the input and output parameters defined for
the task form. In this lab, we will examine the task forms generated and customized by the Process Developer
for each of the human tasks in the process:
Apply for Permit
Review Site Information
Review Plans
Review Construction Codes
1. Click on the Application Navigator, see 3 additional projects: Permit ApplicationForm,
PermitReviewForm and PermitConstructionOfficialForm, together with your PermitProject.
Under each project, you will see a file called taskDetails1.jspx. This is the generated task form that the
Process Developer customized.
68. 2. Open the taskDetails1.jspx file of the PermitApplicationForm project and review the various ADF
components used:
3. Open the taskDetails1.jspx file of the PermitReviewForm project and review the various ADF
components used:
4. Open the taskDetails1.jspx file of the PermitConstructionReviewForm project and review the various
ADF components used:
69. 5. Close all .jspx forms
ASSIGN PROCESS PARTICIPANTS
BPM is about tying in People, Process and Technology. We’ve create the Process, configured the Technology,
now let’s review how the People participate in the process
The following users will be participating in the Permitting Process with the respective roles and responsibilities:
The Process Roles you see in the diagram are mapped to the actual roles that these users are assigned to in the
Corporate Directory/LDAP Server. For this workshop, we will use the embedded LDAP server in the WebLogic
Application Server. All these users and their corresponding groups have already been defined in the LDAP
Server.
70. 1. From the BPM Project Navigator, expand the PermitProject folder and double click Organization. You
should see the Organization Editor in Oracle BPM Studio showing the process roles.
Review how each process role is mapped to the LDAP Group. You should see the mappings defined in
this table:
Process Role LDAP Group
Applicant Citizens
Construction Officials PlumbingOfficials
ElectricalOfficials
Planning Officer PlanningOfficers
Process Owner PermitProcessOwners
Zoning Officer ZoningOfficers
71. DEPLOYING THE PROCESS
2. Go to the Application Navigator and right-click the PermitProject. Select Deploy > PermitProject.
Choose Deploy to Application Server and click Next.
72. Click Next to accept the default Revision ID.
Make sure you check the boxes to select the 3 task form projects. This will include these projects in the
deployment. Click Next.
Select the Application server SCAServer and click Next.
73. Click Next to accept the default partition.
Click Finish to proceed with the deployment
74. This may take a few minutes since each task form all has to be uploaded and deployed. Monitor the
Deployment log and wait for the following message:
Troubleshooting Tip: If you get deployment issues about “No credential mapper entry found for
password indirection”, go to 'Application Properties' -> Deployment -> Uncheck the 'Auto Generate
and Synchronize weblogic-jdbc.xml Descriptors During Deployment' option and try deploying again.
After successful deployment, close JDeveloper
75. LESSON 4 – PROCESS INTERACTION
Focus on the Process Interaction stage of the Business Process Management life cycle. In this stage, we will
engage the various Process Participants in interacting with the business process using the BPM Workspace
Process
Modelling
Process Process
Monitoring Improvement
Process Process
Iteraction Implementation
We will use the following Process Participants with their corresponding roles and responsibilities.
Bob Builder
Citizen and Owner of Bob and Sons Construction
Needs to Apply for a Construction Permit
John Zone
Zoning Officer, City
Needs to Review Site Information for Proper Zoning
Mary Plana
Planning Officer, City
Needs to Review the Construction Plans
Chris Plummer
Plumbing Official, City
Needs to Review Plumbing Codes
Karen Elektra
Electrical Official, City
Needs to Review Electrical Codes
Mike Scott
Department Head in Charge of Permitting, City
Needs to Oversee the Permitting Process
76. ORACLE BPM WORKSPACE
The Oracle BPM Workspace is a web-based application that allows process participants to interact with process
applications deployed in Oracle BPM. The Oracle BPM Workspace user interface provides tabs for each of the
following:
Process Instances: This tab enables process participants to view running process instances.
Task List: This tab enables process participants to view and work with their assigned tasks.
Process Dashboards: This tab provides out-of-the-box dashboards for monitoring process performance,
task performance and workload.
Custom Dashboards: This tab enables process participants to define and use custom dashboard based
on the measurement data generated by process instances.
The Oracle BPM Workspace also enables business administrators to configure and maintain organizations and
roles.
BOB APPLIES FOR A CONSTRUCTION PERMIT
Let’s start interacting with the Process as Bob Builder, the owner of a construction company who wants to apply
for a permit for a new construction project in the City
1. Start Oracle BPM Workspace by clicking on the BPM Workspace icon from the desktop
This will bring up the BPM Workspace login screen in a web browser. (Optionally, you can also enter the
URL directly from your browser:
http://soa.odemo.com/bpm/workspace.
Login as the permit applicant, Bob Builder using the following:
User Name: Bob.Builder
Password: welcome1
77. The BPM Workspace displays tasks that have been assigned to the user in the My Tasks section. In this
case, Bob does not have any tasks assigned to him. As a permit applicant, he has the ability to initiate
the Permit Process. You will see the Permit Process in the list of Applications on the left.
To initiate the process, click on PermitProcess from the list of Applications. This will bring up a window
for the Permit Application Data Entry form.
78. Notice all the fields have already been prefilled because of the Script Task that we added to the process.
Review the information. Because the Estimated Cost is $1M, we should expect this to go through all the
reviews.
If you recall, our business rule specified that all large and medium projects $10,000 and above require
reviews.
Click Submit on the upper right corner of the form to submit the permit application
Logout of the Oracle Business Process Workspace.
Based on the process we modelled, this should have gone through the execution of the Zoning Service
and the Business Rule, and because the Estimated Cost is $1 Million (more than the business rule’s
“Small Project” maximum limit of $10,000), it will be routed to the Zoning Officer and the Planning
Officer for preliminary reviews.
JOHN REVIEWS THE ZONING INFORMATION
Let’s login as the Zoning Officer John Zone to review the site information.
1. Login as the Zoning Officer, John Zone using the following:
User Name: John.Zone
Password: welcome1
The BPM Workspace displays tasks that have been assigned to the user in the My Tasks section. In this
case, John has a new task assigned, a permit application waiting for his review of the site information.
Double-click on the task Permit Review – Site Information. You should see a new window pop up with
the Permit Information submitted.
79. Also notice the values under Permit Application – System. These were generated by the BPM Process,
such as the unique Reference Number and the Application Status. The Evaluate Permit Business Rule
determined the Application Evaluation Results of Reviews Required. The Zoning Information Service
determined that this site is Commercial Zone.
Click Approve. Notice the task disappears from John’s task list.
1. Rakesh
MARY REVIEWS THE CONSTRUCTION PLANS
The permit is still awaiting the approval of the planning officer. Let’s login as the Planning Officer Mary Plana.
1. Login as the Planning Officer, Mary Plana using the following:
User Name: Mary.Plana
Password: welcome1
Like John, Mary has a new task assigned, a permit application waiting for her review of the construction
plans. Single-click on the task Permit Review – Plans. You should see the Permit Application load in the
bottom window.
80. From the Actions menu under My Tasks, select Approve.
Notice the task disappears from Mary’s task list.
Logout the BPM Workspace.
CHRIS VALIDATES THE PLUMBING CODES
After the permit gets reviewed by the zoning and planning officers, the codes should be approved by the
construction officials. In this case, it will have to go through 2 officials, the Plumbing Official and the Electrical
Official. Let’s login as Chris Plummer, a Plumbing Official.
1. Login as the Plumbing Official, Chris Plummer using the following:
User Name: Chris.Plummer
Password: welcome1
Chris should see a new task assigned, a permit application waiting for his review of the plumbing codes.
81. Double-click on the task. You should see the Permit Application popup in another window.
Scroll down to the end and in the Comments section, enter a comment about the Plumbing Codes.
From the Attachments section, click , choose a Desktop File Attachment Type and upload the
homepipes.pdf file found in /home/oracle/MyFiles/execution.
82. Scroll back up and click Approve.
KAREN VALIDATES THE ELECTRICAL CODES
1. Let’s play the role of the Electrical Official.
Login as the Electrical Official, Karen Elektra using the following:
User Name: Karen.Elektra
Password: welcome1
Karen should see a new task assigned, a permit application waiting for her review of the electrical codes.
Double-click on the task. You should see the Permit Application popup in another window.
Scroll down to the end. Karen should see the Comment and Attachment entered by Chris.
Enter another comment.
Try opening the attachment by clicking the file link.
83. Scroll back up and click Approve.
MIKE TRACKS THE PROCESS
1. Login as the Department Head, Mike Scott using the following:
User Name: Mike.Scott
Password: welcome1
Mike should see the permit application on his task list because if you recall, there was an FYI task
assigned to the Process Owner at the end of the complex task. It’s not waiting for his approval though
because it is just an FYI.
84. Scroll down and look at the comments and attachments section from the previous approvers.
As the Process Owner, click on Process Tracking. Because it already completed, the task does not show
up by default. Click on the Advanced link above button to change the filter with the Status set to
Completed.
Click on the completed instance that shows up. From the instance details section below, scroll down and
expand the Audit Trail to see each activity in a tabular format.
85. Change it to Graphical Format to see the process flow that you modelled and track the path that the
execution took. Click the small arrows on the top right and bottom left corners of the Instance Details to
maximize the process map.
2. Press the F11 key to view in full screen. Once it’s maximized, you should see the process execution flow
with the shaded green arrows indicating the execution path.
86. The last activity of Process Payment should have resulted in a new record inserted in the database. To
verify this, start JDeveloper and go to the Database Navigator. Note: If you do not see the Database
Navigator, you can enable this by selecting View > Database > Database Navigator.
From the Database Navigator, expand PermitApplication > PermitAppDB > Tables and double-click the
PERMIT_APPLICATION table. Click on the Data tab below and you should see the Permit Application
record with the same reference number.
87. RUNNING THE PROCESS FOR DIFFERENT SCENARIOS
Execute the process again using different scenarios. For example, try the following:
Try rejecting certain tasks and analyze the loopback behaviour.
Try submitting a permit application with Estimated Cost less than $10,000 to bypass the preliminary
reviews.
Try submitting a permit application with the Require Plumbing Permit or Require Electrical Permit check
boxes unchecked to skip the approvals needed from the Plumbing or Electrical officials.
Submit 10 or more permit applications and leave some of the permit applications sitting on the various
users’ task inbox without any action. We will use this for monitoring dashboards in the next lab.
88. LESSON 5 – PROCESS MONITORING
Process
Modelling
Process Process
Monitoring Improvement
Process Process
Iteraction Implementation
The next stage focuses on the Process Monitoring aspect of Business Process Management. In this stage, we will
monitor the activity of the process using Process Analytics. Process Analytics enable you to obtain performance
and workload metrics which are useful for making more intelligent decisions about your process.
BUSINESS PROCESS ANALYTICS
Business Process Analytics enables you to monitor the performance of your deployed processes. It measures the
key performance indicators in your project and stores them in pre-defined cubes in the database that enable
you to analyze the data in multiple perspectives. You can also store the metrics in the Oracle Business Activity
Monitoring (BAM) database for real-time monitoring. Process analysts can view the metrics using dashboards
from the Oracle BPM Workspace or Oracle Business Activity Monitoring (BAM).
In summary, Process Analytics track:
Workload Metrics
Process and Activity Performance Metrics
Human Resource Metrics
By default, the BPM Engine stores the values of pre-defined measures and dimensions that are common to all
BPM processes. The supported pre-defined measures are:
Number of active instances by activity, process, and participant
Average time to complete an activity
Average time to complete a process
The supported pre-defined dimensions are:
Process
Activity
Participant
You can also define custom measures according to your needs. To define custom measures, you use business
indicators. The different types of business indicators enable you to measure specific values, keep track of
categories or count the times an instance completes one or more activities
89. MONITORING PROCESS USING STANDARD DASH BOARDS
1. Login as the Department Head, Mike Scott using the following:
User Name: Mike.Scott
Password: welcome1Rakesh
Click the Standard Dashboards tab to view the predefined metrics. Workload per process dashboard
should be selected by default. This dashboard shows the number of instances sitting in the process. This
should show you how many times your Permit Process was initiated.
Click on the bar in the left graph and a new graph on the right will be displayed to show you the number
of instances sitting in each activity.
Click on any of the bars in the right graph and this will load the actual process instances below.
2. Change the view to show Performance per process. This dashboard shows the average time your
process takes to complete.
3. Click on the bar in the left graph and a new graph on the right will be displayed to show you the average
time it takes each activity in that process to complete.
4. Click on any of the bars in the right graph and this will load the actual process instances below
90. 5. Change the view to show Workload per participant. This dashboard shows the number of instances
sitting for each participant. It will give the process owner an indication of human resource workload and
bottlenecks
6. Click on the bar in the left graph and a new graph on the right will be displayed to show you the
processes the selected participant are involved with and the number of instances for each. In our
example, we only have 1 process, so only the Permit Process will show up there.
7. Click on any of the bars in the right graph and this will load the actual process instances below.
8. Change the view to show Performance per participant. This dashboard shows the average time each
user takes to process their tasks. It will give the process owner an indication of human resource
performance and bottlenecks.
91. 9. Click on the bar in the left graph and a new graph on the right will be displayed to show you the
processes the selected participant are involved with and the average time the user spends for each. In
our example, we only have 1 process, so only the Permit Process will show up there.
10. Click on any of the bars in the right graph and this will load the actual process instances below.
Completed The Lessons