This chapter describes how to use process player to test the business processes within a Business Process Management (BPM) project.
This chapter includes the following sections:
Process player provides an efficient way of testing the Business Process Model and Notation (BPMN) processes in your process-based business application. It uses a runtime environment, accessible from Oracle Business Process Composer, that emulates the real-world behavior of business processes. As the application runs, process player displays a visual representation of a BPMN process showing the path the process instance follows through the process flow. This allows process designers to easily create, test, and revise processes without having to save and deploy the BPM project and view it in Process Workspace.
Process player displays a BPMN process within the process editor as shown in Figure 9-1.
Figure 9-1 Process Player User Interface
As a process instance progresses through a process flow, process player displays an animated view of the behavior of your process. The outline shows the path the process instance takes through the flow objects and sequence flows of your process. The specific path an instance takes through your process depends on the input data you provide for various flow objects. See How Process Player Handles the Flow Objects of Your Process for more information.
When running process player on a business process, Oracle Business Process Composer validates the project and deploys the current draft version of the BPM project to a player partition of the Oracle Business Process Management (Oracle BPM) runtime environment. When using process player, you do not have to publish or manually deploy the project to view changes while designing a process.
You can use process player to test the creation and behavior of process instances. You can create multiple instances of each process within your project
You can only run process player if you are currently editing the BPM project.
As the process player runs through a process, it emulates the runtime behavior of some of the flow objects in your process.
When the process player reaches a user task in a process, it shows the role or user to select on its behalf. It shows all the possible outcomes as actions and if the web form is associated to the task it also gives you the option of launching the web form or manually selecting the outcome. If you choose to launch the web form, Oracle Business Process Composer deploys the web form and displays it in a separate viewer.
If no form is assigned, process player pauses to allow you to select the role you want to perform the task. It prompts you to select one of the outcomes defined for the human task. Approve and Reject are defined as default outcomes.
However, the list of possible outcomes depends on how outcomes are defined in the human task. See How to Configure Basic Task Properties for more information on defining the outcomes for a human task. After selecting an outcome, process player continues to the next flow object of your process.
If an Oracle Application Development Framework (Oracle ADF) form is assigned to the human task, you must deploy it to the run time environment using Oracle JDeveloper to be able to view it using process player. If the Oracle ADF form is deployed, Oracle Business Process Composer is able to access it when deploying to the process player partition.
After viewing the web form or Oracle ADF form, you must manually close the form viewer window to continue running your process.
Message send events and send tasks
When process player reaches a message send event or a send task within a process, it performs these automatically. It then continues to the instance of the process being called and pauses at the corresponding message catch event or receive task.In both cases, you must manually return to the parent process. For example, if the send and receive pair is creating an instance on a different process of the same project you can return to the process player home, select the new instance for this process, run the child process, then return to the parent process.If the send and receive pair calls an external web-service you must manually enter the required web service message to continue running the process.
When process player reaches a timer event within a process, it pauses and waits until you click the Run icon of the flow object. Process player moves to the next flow object in the process.
When process player reaches a call activity, it calls the child process and creates a new instance of the process. Click the drill-down icon to view the child process.
When process player reaches an end event, it pauses and displays the drill-up icon. Clicking this icon causes process player to return to the parent process. If the current process has no parent, process player returns to the process player home and deletes the process instance.
Other flow objects
When process player reaches another flow object that causes the instance to wait for some operation or external event, process player pauses. To continue running the process click the Refresh icon located at the top of the process player home.
Before process modelers can use process player to test the processes of a BPM project, an administrator must enable process player. See Defining SOA Administrator Credentials to Enable Process Playerfor more information.
After the process player feature is enabled, you can access process player from the Project Welcome page and use it to test process behavior.
Process player is accessible from the main menu and the toolbar in the Project Welcome page. When project player is enabled and you are editing the project, the project toolbar displays an icon for accessing process player.
Before using process player, you must map the roles defined in your process to the users or groups of the organization infrastructure defined in your runtime environment. Process player uses the information of your organization to mimic the behavior of your business processes in real-world situations.
To map roles to users in your organization:
Open your project.
Start process player.
In the Organization pane, select the role of your process you want to map from the drop down list.
The drop down list displays all the roles defined in your process, as shown in Figure 9-2.
Figure 9-2 Process Player - Organization Pane
Select the user or group you want to map.
Select User or Groups from the drop down list.
Enter the name of the user or group you want to search for, then click Search.
To see a list of all users or groups, leave the text area blank, then click Search.
In the table, select the user or group you want to map.
After selecting a user or group, it appears at the bottom of the chosen window.
Click Add Mapping.
The users or groups you mapped to the process role appear in the mappings table.
You must map at least one user or group for each role in your process. If process player encounters a user task with an unmapped role, it cannot continuing running the process beyond the human task.
Before using process player to test the behavior of your business processes, ensure that you have mapped all the roles in your process to at least one user or group within your organization. See How to Map the Roles Defined in Your Process to Users in Your Organization for more information.
To use process player:
Open your project.
Access process player.
Select a process.
Click the Play icon located on the start event of your process.
Process player begins running the process. As it passes through each flow object and sequence flow, it outlines the path it takes through the process.
As process player continues running through your process, it stops when the process instance reaches one of the following flow objects:
You must provide input for each of theses flow objects before process player continues running the process. See How Process Player Handles the Flow Objects of Your Process for more information.
If process player pauses on a user task:
Click the Play icon on the user task.
Select the user you want to perform the task.
If the list of users appear empty, you must ensure that you have correctly mapped all of the roles of your process.
Click Run, then select the outcome from the list.
The possible outcomes are defined by the human task associated with the current user task.
After you select the outcome, process player continues to the next flow object in your process.
If process player pauses on a message catch event or a receive task, it creates an instance of the child process.
Click the Run icon.
Select the Project Player tab.
In the Instances table, select the newly created instance.
Oracle Business Process Composer prompts if you want to close the process player tab for the original process. Closing this tab has no effect on the process instances.
Process player opens the new process instance and begins running the process from the message start event called from the parent process.
Click the Run icon for any flow objects that pause process player, as outlined in previous steps.
When process player reaches the message end event of the process, click the drill-up arrow to return to the parent process, as shown in Figure 9-3.
Figure 9-3 The Drill-up Icon on a Message End Event
Process player closes the tab for this process and removes the process instance from the list of instances.
From the list of process instances, open the process instance of the parent process.
After reopening the process instance of the parent process, process player continues running through the process from the point where the child process was called.
When process player reaches an end event in your process, click the drill-up icon, as shown in Figure 9-3, to finish the process instance.
Process player returns to the process player editor and deletes the process instance.