Forum Stats

  • 3,741,516 Users
  • 2,248,442 Discussions
  • 7,861,844 Comments

Discussions

Orchestrate business process using Oracle Process Cloud Service (PCS)

Venkatesh Yadavalli-Oracle
Venkatesh Yadavalli-Oracle Member Posts: 18
edited Jul 19, 2016 8:44AM in Developer Solutions

This is the Part-1 of the blog post - "Business Process Orchestration and Integration in Cloud with Oracle PaaS". Oracle PCS is a BMPM 2.0 compliant BPM offering on cloud (please refer to http://www.bpmn.org/ for more details on BPMN standard). The highlighted BPMN constructs of Oracle Process Cloud service (PCS) are used to build the Funds Transfer business process:

BPMN_pallatte_1.png

Figure 4: BPMN Palette


Create a business process


From the PCS console, select the “Develop Processes” option to define the Funds Transfer business process as depicted below:

develop_processes.png

Figure 5 : Develop Processes


The “All Spaces” page opens up displaying the existing applications (if any) as follows:

all_spaces.png

Figure 6 : Landing page showing the existing applications


In case you want to create a new application or a new space, you can do that by clicking on the “Create” button as shown below:

Create_new_space.png

Figure 7: Create new Space/Application


Business processes are created in an application which in-turn resides in a space. In this case we create the Funds Transfer process in an application called “My Application”.  Once you select the application, you will see the “Application Home” page displaying any existing business processes (if any) as shown below:

app_home.png

Figure 8: Page displaying existing business processes


As you can see, on the left menu in the above diagram, you will find various options like processes, web forms, types…etc. You can click on each of these links to get into the details.

Create a Business Process

Click on the “+” icon on the extreme right to create a new business process, a “Create Process” page opens up where you can give the details of the business process and select a pattern based on which you will be building the process.

As we want this business process to be triggered from an external application like a UI or from an external service we use “Message” pattern which kicks off the business process upon receiving a message.

Create_business_process.png

Figure 9: Create Process Page

An empty business process is created with start and end events and is opened in a canvas as shown below.

new_business_process.png

Figure 10: New process with start and end activities


Drag and drop the respective activities/tasks from the BPM palette onto the canvas and wire them appropriately so that your business process should like figure 2. For more details on how to do this, please refer to the PCS documentation.

Once the skeleton of the process is ready you can configure/ implement the activities which would require defining business types, creating connectors to make service calls and configuring human tasks that are needed to realize the Funds Transfer business process.


Define Business Types

Business types are complex data structures that are used as containers to send data from one component to the other. The following diagram depicts the business objects being used in the Funds Transfer process:

business_types.png

Figure 11: Page displaying the existing business type definitions

The following image shows the attributes of each of the business types. The “FundsTransferDataForm” business type is used to populate the form which is used to display the request data to a human for the manual approval activity. The “ResponseFromValidator” type is used to capture the response sent by the REST service after validating the request. The “FundsTarnsferBO” type is used for sending the request to the on-premise web service call to perform the funds transfer. More details about the REST / on-premise web services and their respective configurations can be found in subsequent sections.

funds_tsfr_data_types.png

Figure 12: Business Type attributes


Configure the “Start” activity

You can configure/implement the ‘start’ activity of the business process by clicking on the “Start” activity and then clicking on the details  icon as shown below:

start_event_impl.png

Figure 13: Configure Start Activity

As you can see above, we have defined an interface with five attributes and associated it with the “Start” activity, these five attributes constitute the request for the business process.


Note: Once the Funds Transfer process is deployed to PCS runtime, a WSDL endpoint is generated for this business process enabling it to be invoked as any other web service. More details about this will be provided later in the post.


Create and configure REST connector

As depicted in Figure: 2, the next activity is “Validate req” which is a service call to a REST endpoint that is deployed in Java Cloud Service (JCS). PCS provides a “REST connector” that can be configured to call a REST service. This example assumes that there is a REST web service deployed and running on JCS, the details of the REST endpoint are specified when configuring the REST connector. The following diagrams show how to create and configure this:


Note: In this example, APP Id – Basic Authentication security policy is used for authentication. You can define a new key (the diagram below shows a key created with name “JCS-SX”) and specify the username and password used for connecting to the REST service.

REST_Connector_1.png    REST_Connector_2.pngREST_Connector_Config.png

Figure 14: Create REST connector                                                                                                                                                                                                                                                                    Figure 15: Configure REST connector


As you can see in the above configuration, the request received by the Funds Transfer business process is validated by invoking a REST service deployed in JCS.

Note: To keep things simple, the REST service just takes the “incidentId” attribute from the request as input and returns a failure if it is NULL which means the request is invalid.

Once the REST connector is configured it can be used to define the “Validate req” activity (which is a service call) of the Funds Transfer process as shown below:

REST_Connector_Config_2.png

Figure 16: Implement service call activity using REST connector


Select the “Type” as ‘Service Call’ and select the REST connector that you have created in the previous step and choose the resource and the operation you want to call on the selected resource for validating the funds transfer request.


After the implementation details have been provided, you need to map the input to and output from the REST service as shown in the below diagrams. Also note that the business types defined above are being used when mapping the request/response.

REST_Connector_data_mapping_1.pngREST_Connector_data_mapping_2.png

Figure 17: Request and Response data mapping to REST service


Please refer to the Oracle PCS documentation for more information on working with REST and Web Service connectors.

Note: This post will not go into the details of implementing the “Exclusive Gateway” gateway.pngactivity which is similar to an if-then-else implementation. Please refer to PCS documentation for more details regarding this.


Create and configure Human task

The next important activity in the Funds Transfer process is the manual approval activity which needs human intervention to either approve or reject the funds transfer requests based on certain criteria. Configure the manual approval activity as depicted in the following diagram:

Human_Task_config.png

Figure 18: Configure Human task for manual approval activity

Select the “FundsTransferDataForm” as the web form to be used for presenting the request data to the reviewer. Specify “APPROVE” and “REJECT” as the two possible actions the approver can perform on the funds transfer request.


Note: The application users have to be mapped to roles (process owner and reviewer) so that they receive notifications and can act on the tasks assigned to them. Please refer to PCS documentation for more details.


If a funds transfer request needs a manual approval (transfer type = “inter bank”, amount > 10000) an email will be sent to the reviewer (needs to be configured as an Administration task) which looks like below:

action_required_mail.pngapproved_task_mail.png

Figure 19: Email notifications sent to reviewer


Note the link to the “Workspace Application”, when the reviewer clicks this link he/she is taken to the workspace where he can view the request details and act accordingly, the following diagram depicts this:

approval_in_workspace.png

Figure 20: Request data being presented to the reviewer in a form


In order to receive email notifications, you have to configure the notifications by accessing the settings option as shown below:

configure_settings.pngconfigure_notifications.png

Figure 21: Configure Administrative Settings                                                                                                                        Figure 22: Configure Email Notifications


Note: Please refer to Configuring Email Notifications in PCS documentation for more details.


Please refer to Part-2 of this post for creating and configuring integration and SOAP connector in ICS to invoke an on-premise web service for completing the funds transfer process


The views expressed in this post are my own and do not necessarily reflect the views of Oracle.

Tagged:
Sign In or Register to comment.