LESSON 1 - OVERVIEWSAMPLE APPLICATIONTHE PERMIT PROCESSING SCENARIOIn this workshop, we will utilize the full BPM Lifecycle around a specific use-case of permit processingto achieve continuous process improvement. Oracle BPM Full Life Cycle Process Modelling Process Process Monitoring Improvement Process Process Iteraction ImplementationThe City needs to manage the processing of construction and building permits submitted by localcitizens. This is currently a very manual and time consuming process. The applicant submits permitapplications either online or in person in the city hall. This has to be reviewed by zoning and planningofficers to make sure that the permit can be granted. This also has to be reviewed by the appropriateconstruction officials responsible for electrical, plumbing, fire and building codes. Once approved, thepayment 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
The City also utilizes a couple of web services for this process from other agencies and vendors – aZoning 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 permitThe 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.
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.
INTRODUCTION TO ORACLE BUSINESS PROCESS MANAGEMENTThe Oracle BPM Suite provides an integrated environment for developing, administering, and using businessapplications centered on business processes. It enables us to create process models based on standards withuser-friendly applications. It enables collaboration between process developers and process analysts. OracleBPM supports BPMN 2.0 and BPEL across the process lifecycle starting from modeling and implementation torun time and monitoring.The Oracle BPM Suite provides a seamless integration of all stages of the application development life cyclefrom design-time and implementation to run-time and application management. The Oracle BPM Suite islayered 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 ManagerBUSINESS PROCESS MANAGEMENT ROLES & RESPONSIBILITIESDifferent stages of the application development life cycle require interaction from different types of users.
PROCESS ANALYSTProcess 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 thebusiness process. This person may also perform simulations to calculate and estimate ROI. Process analyststypically use Business Process Composer to create process models. They may also use process analyst rolewithin 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 DEVELOPERProcess developers are responsible for implementing the process models created by process analysts. Each stepin the process requires an implementation. The process developer is responsible for integrating the businessprocess with back-end applications like databases and services. Process developers typically use Oracle BPMStudio 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 thisworkshop will focus on the role of the Process Developer.PROCESS PARTICIPANTSProcess 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 officersand certain constriction officials who will be interacting with the permitting process. You will play the roles ofthese participants during Lab 4 - Process Interaction.PROCESS OWNERProcess owners are responsible for controlling and managing deployed business processes. They are responsiblefor the overall supervision of the running business process. They often use metric analysis tools like dashboardsto understand the current state of the managed business processes. Process owners typically use Oracle BPMWorkspace. They also use Business Process Composer to change the behavior of a process by editing OracleBusiness 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 ADMINISTRATORProcess administrators are responsible for administering the BPM infrastructure. Typical activities include theinstallation and setup of BPM environments and the overall management of the BPMEngines that are hosting business processes. The main tool used by business administrators is the OracleEnterprise Manager and automated tools like Ant. Business administrators also use Workspace to manageorganizational units, role assignments and perform other activities like creating workflow advanced routingdeclarations.This workshop does not cover the Process Administrator role but has several of the administrative tasks insetting 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 inwith Enterprise Architecture and Governance initiatives of an organization in a Complete Business ProcessManagement Lifecycle, as indicated below
LESSON 1 – PROCESS MODELLINGThe first stage of the Business Process Management life cycle is Process Modelling. During this stage a processanalyst creates process models based on real-world business processes and problems. Process Modelling Process Process Monitoring Improvement Process Process Iteraction ImplementationBusiness 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 modellingcapabilities using the Oracle BPM Studio and the Oracle Business Process Composer, which will run natively onits BPMN 2.0 run-time engine. For this lab, we will utilize Oracle Business Process Composer for our initialprocess modelling activities.Oracle Business Process ComposerThe Oracle Business Process Composer is a web-based application that enables business users to collaboratewith 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 PROCESSTo 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
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.
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.
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.
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.
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 Plans10. Right Click on the Unassigned Role and select Properties. Click the create radio button to create a new role. Call the role Planning Officer.
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.
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. Todo this, hover you mouse on the Start and click the pencil icon. Change the Trigger to None. Dothe same for the End.Move the End event object from the top Applicant lane down to the bottom Construction Officials lane.
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
ADDING AUTOMATED ACTIVITIESAdd a couple automated activities to the process. These activities will be in the form of Service Tasks. We willdefine 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.
Rename the first Service Task to Get Zoning Information.Rename the second Service Task to Process Payment.PermitProcess will now look like this:
ADDING AN ALTERNATE PATHAdd an alternative path to what’s expected. For the permit process, there is the possibility that the permitapplication will not meet the correct zoning, planning and construction requirements. In this case, theapplication 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.
Save your work.The Permit Process should look like
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.
LESSON 2 – PROCESS IMPROVEMENTThe whole point of BPM is for continuous process improvement. The next stage focuses on the ProcessImprovement aspect of Business Process Management. In this stage, we will identify potential bottlenecks in thePermit Process using process simulations and then optimize the process by adjusting the model in Oracle BPMStudio. Process Modelling Process Process Monitoring Improvement Process Process Iteraction ImplementationORACLE BPM STUDIOOracle 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 usedby 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 tobusiness analysts. Process developers who need access to the complete functionality of the Oracle BPM andSOA 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.
Create a new BPM Application by clicking New Application and name itPermitApplication. Make sure that the Directory is pointed to/home/oracle/jdeveloper/mywork/. Also make sure that the BPM Application is selected in theApplication Template. Click Finish.Note that there is a default project called Project1, which we are not going to use. We will download theproject from the MDS Repository. Right-click on Project1 and select Delete Project and choose theoption to Remove the project and delete all of its contents (including source directories) and confirmthe deletion. Save all
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
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
Role. If you want to view this without warnings, you can click on the HighlightLevel below the diagram, and slide the level to the middle to hide warnings andonly show errors.
CREATING STIMULATION MODELBy running simulations, business analysts and developers can predict the behaviour of business processes underspecified conditions. They can run simulations to verify that the output meets the metric objectives and identifyany 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 anindividual process model. Note that, for any given process model, you can have multiple simulation models, sothat 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.
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:
Click the Apply for Permit node from the list of Flow Nodes on the left. The 5 minute average for anapplication to complete a permit application can be specified by setting the Apply for Permit node’sMean 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 tocomplete a site review can be specified by setting the Review Site Information node’s Mean duration to2 hours as follows:From the Review Site Information node, click the Resources tab. The City’s 8 zoning Officers doing sitereviews can be can be specified by setting the Available Resources to 8.
Click the Review Plans node from the list of Flow Nodes on the left. The 1 hour average to complete aplan 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 reviewscan be can be specified by setting the Available Resources to 5Click the Review Construction Codes node from the list of Flow Nodes on the left. The 30 minuteaverage to complete a construction code review can be specified by setting the Review ConstructionCodes node’s Mean duration to 30 minutes as follows:From the Review Construction Codes node, click the Resources tab. The City’s 10 Construction Officialsdoing construction code reviews can be can be specified by setting the Available Resources to 10
Click the Get Zoning Information node from the list of Flow Nodes on the left. Verify the 30 seconddurations 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 durationsfor 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% RejectionRate in the probabilities of the Review Outcome such that:a) There is a 5% probability that it will go to Apply for Permitb) 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 ProcessPayment flows, as sometimes the order these flows are shown below is different.Save the Simulation Model.
CREATING STIMULATION DEFINITIONNext, we need to create a Simulation Definition. A Simulation Definition enables you to define the processes andresources that define a simulation scenario. In a simulation definition, you specify the processes that participatein the simulation by selecting the simulation models associated to those processes. A process may have multiplesimulation models defined for it. If a process has multiple simulations models defined, then you must select oneof 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.
RUNNING THE SIMULATIONNow, 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.
Note that there is an obvious bottleneck in the Zoning Officer’s queue as indicated by the waiting queuebeing 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 thisbottleneck.Stop the Simulation.
IMPROVING THE PROCESS WITH PARALELL ACTIVITYOne quick approach to improve the process is to parallelize certain activities. Let’s assume that there are nodependencies between the work of the Zoning and Planning officers. In this case, we can make these activitiesgo 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:
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:
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:
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.
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 model10. 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.
IMPROVING THE PROCESS WITH PARALELL ACTIVITYAnother approach to improve the process is to bypass the execution of long running tasks using decisions madeby a rules engine. For the Permit Process, we can add a Business Rule to evaluate permits based on zoning andproject size and allow certain types of permits based on this information to skip the preliminary reviews. Thebusiness rule will basically determine that certain projects may not require reviews from the Plan Officer andthe 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.
Add a conditional sequence flow from the new gateway to connect straight to the Review ConstructionCodes task. Drag the arrow from the middle going outward to make it cornered. Adjust the other objectsto make room. The process should look like the following:
Let’s assume that with this new rule, 75% of the applications will not require preliminary review. Go tothe Simulation Model and adjust the Evaluation Outcome with a 75% probability of going to theoutgoing flow to Review Construction Codes.Also adjust the Preliminary Review Outcome to have a 5% Rejection Rate.
Run the simulation again. Notice that the process is now executing very efficiently.
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.
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 theright are readable.Notice the breakdown of activities. Most of the time is spent processing, not waiting. The only activitythat’s spent waiting is when an applicant applies for a permit. This shows that the Permit Process is nowoperating efficiently.
Stop the Simulation by clicking the icon.Click the Save All iconGo to the Application Navigator tab and with the PermitProject selected, select Close from theApplication menu.Through process simulation, we have identified potential bottlenecks in our “As-Is” process and havecontinuously improved it in our new “To-Be” Process. Next, we will move on to the next phase of theBPM Lifecycle – Process Implementation.
LESSON 3 – PROCESS IMPLEMENTATION Process Modelling Process Process Monitoring Improvement Process Process Iteraction ImplementationThis lesson will examine the fully implemented Permit Process developed by the Process Developer and deployit to the unified run-time environment. For all of these implementation activities, the Process Developerleveraged declarative tools from the Oracle Fusion Middleware SOA Suite to design and construct the requiredlogic 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.
OPENING THE COMPLETED APPLICATIONOpen 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.
EXAMINING HUMAN TASKSExamine 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.
Since this is the first user task, this utilizes the Initiator Pattern to allow the Applicant to submit a PermitApplication. Notice the outcome of SUBMIT.Click on Data and see how the task is using the PermitApplication as its input with the Editable settingchecked. 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 bydouble-clicking them. Both of these tasks use the Human Task definition called PermitReviewTask.
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 andcan return different outcomes – in this case the defaults - APPROVE or REJECT. Users will be able tochoose one of these outcomes to complete the task. (Note that you can configure additional outcomesif needed).Click on Data and notice that this task is read-only, the Editable is unchecked. This makes the permitapplication 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 HumanTask definition called ConstructionCodeReviewTask.
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 todynamically 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 relatedpermits.Click the Assignments tab from the right to see the complex workflow pattern.
EXAMINING SERVICE TASKSExamine 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.
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.
Click the Counter tab. A counter mark is used in this activity to count the number of permit approvalsthat has reached payment processing.
EXAMINING THE BUISNESS RULESExamine the Business Rule for determining whether permit applications require preliminary reviews or not. Thebusiness 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.
In the Output tab, notice how we are setting the applicationStatus as Submitted and thereferenceNumber using a system function called getCompositeInstanceID.In the Output tab, we are also initializing the values of 3 Business Indicators: Cost, TypeOfWork andZone with data coming from the Permit Application and Zoning Service. These business indicators will beused for monitoring the process in business dashboards.
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.
This will bring you to the Rules Editor with a Decision Table with the following rule logic: Small projectswill 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 aBucket Set. This bucket set will be used to classify the permit applications based on the estimated costof the permit application.Click on PermitApplication.summary.estimatedCost under Conditions. Make sure Local List of Ranges isselected and click the icon next to it.The ProjectSize bucket set defines what is considered large, medium and small based on the permitapplication’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.
Click Ok. Close the Rules Editor by clicking the x button on the tab.EXAMINING THE CONDITIONAL LOGICExamine the conditional logic of the process. We will take a look at the expressions for each conditionaltransition. 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.
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 ReviewConstruction Codes. This condition occurs when EvaluatePermit business rule returns a value ofNoReviewRequired.
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 Applyfor Permit. This condition occurs when the Construction Officials reject the construction codes.
Click on the Properties tab and review the condition: Click OKEXAMINING THE SCRIPT TASKExamine how the Process Developer made use of a Script task to initialize our permit application with an XMLdata structure. The Script task is useful for initiating or setting any constant values in the data objects. For thepurposes of this workshop, initialize the permit application with default data to save us from having to type allthe 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.
Double click the icon on the left of PermitApplication to review the XML that contains defaultvalues 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.
Note: The Compiler Output will show warnings about the Error assignee not specified. You can ignore these warnings.EXAMINING THE USER INTERFACEFor users to interact with the human task in the Permit Process, we will need some UI forms. The integrateddevelopment environment of Oracle BPM Suite includes Oracle Application Development Framework (OracleADF) for this purpose. With Oracle ADF, you can design a task form that depicts the human task in the BPMProcess. You can also automatically generate the forms based on the input and output parameters defined forthe task form. In this lab, we will examine the task forms generated and customized by the Process Developerfor 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.
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:
5. Close all .jspx formsASSIGN PROCESS PARTICIPANTSBPM 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 processThe 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 theCorporate Directory/LDAP Server. For this workshop, we will use the embedded LDAP server in the WebLogicApplication Server. All these users and their corresponding groups have already been defined in the LDAPServer.
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
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.
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 thedeployment. Click Next.Select the Application server SCAServer and click Next.
Click Next to accept the default partition.Click Finish to proceed with the deployment
This may take a few minutes since each task form all has to be uploaded and deployed. Monitor theDeployment log and wait for the following message:Troubleshooting Tip: If you get deployment issues about “No credential mapper entry found forpassword indirection”, go to Application Properties -> Deployment -> Uncheck the Auto Generateand Synchronize weblogic-jdbc.xml Descriptors During Deployment option and try deploying again.After successful deployment, close JDeveloper
LESSON 4 – PROCESS INTERACTIONFocus on the Process Interaction stage of the Business Process Management life cycle. In this stage, we willengage the various Process Participants in interacting with the business process using the BPM Workspace Process Modelling Process Process Monitoring Improvement Process Process Iteraction ImplementationWe 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
ORACLE BPM WORKSPACEThe Oracle BPM Workspace is a web-based application that allows process participants to interact with processapplications deployed in Oracle BPM. The Oracle BPM Workspace user interface provides tabs for each of thefollowing: 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 androles.BOB APPLIES FOR A CONSTRUCTION PERMITLet’s start interacting with the Process as Bob Builder, the owner of a construction company who wants to applyfor 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
The BPM Workspace displays tasks that have been assigned to the user in the My Tasks section. In thiscase, Bob does not have any tasks assigned to him. As a permit applicant, he has the ability to initiatethe 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 windowfor the Permit Application Data Entry form.
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 INFORMATIONLet’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.
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. RakeshMARY REVIEWS THE CONSTRUCTION PLANSThe 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.
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 CODESAfter the permit gets reviewed by the zoning and planning officers, the codes should be approved by theconstruction officials. In this case, it will have to go through 2 officials, the Plumbing Official and the ElectricalOfficial. 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.
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 thehomepipes.pdf file found in /home/oracle/MyFiles/execution.
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.
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.
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 showup by default. Click on the Advanced link above button to change the filter with the Status set toCompleted.Click on the completed instance that shows up. From the instance details section below, scroll down andexpand the Audit Trail to see each activity in a tabular format.
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.
The last activity of Process Payment should have resulted in a new record inserted in the database. Toverify this, start JDeveloper and go to the Database Navigator. Note: If you do not see the DatabaseNavigator, you can enable this by selecting View > Database > Database Navigator.From the Database Navigator, expand PermitApplication > PermitAppDB > Tables and double-click thePERMIT_APPLICATION table. Click on the Data tab below and you should see the Permit Applicationrecord with the same reference number.
RUNNING THE PROCESS FOR DIFFERENT SCENARIOSExecute 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 preliminaryreviews.Try submitting a permit application with the Require Plumbing Permit or Require Electrical Permit checkboxes 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 varioususers’ task inbox without any action. We will use this for monitoring dashboards in the next lab.
LESSON 5 – PROCESS MONITORING Process Modelling Process Process Monitoring Improvement Process Process Iteraction ImplementationThe next stage focuses on the Process Monitoring aspect of Business Process Management. In this stage, we willmonitor the activity of the process using Process Analytics. Process Analytics enable you to obtain performanceand workload metrics which are useful for making more intelligent decisions about your process.BUSINESS PROCESS ANALYTICSBusiness Process Analytics enables you to monitor the performance of your deployed processes. It measures thekey performance indicators in your project and stores them in pre-defined cubes in the database that enableyou to analyze the data in multiple perspectives. You can also store the metrics in the Oracle Business ActivityMonitoring (BAM) database for real-time monitoring. Process analysts can view the metrics using dashboardsfrom the Oracle BPM Workspace or Oracle Business Activity Monitoring (BAM).In summary, Process Analytics track: Workload Metrics Process and Activity Performance Metrics Human Resource MetricsBy default, the BPM Engine stores the values of pre-defined measures and dimensions that are common to allBPM 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 processThe supported pre-defined dimensions are: Process Activity ParticipantYou can also define custom measures according to your needs. To define custom measures, you use businessindicators. The different types of business indicators enable you to measure specific values, keep track ofcategories or count the times an instance completes one or more activities
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
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 bottlenecks6. 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.
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