- 3,741,516 Users
- 2,248,442 Discussions
- 7,861,844 Comments
- 17.8K All Categories
- 3.3K Industry Applications
- 3.2K Intelligent Advisor
- 59 Insurance
- 533.5K On-Premises Infrastructure
- 137.4K Analytics Software
- 38.5K Application Development Software
- 5.1K Cloud Platform
- 109K Database Software
- 17.5K Enterprise Manager
- 8.8K Hardware
- 70.7K Infrastructure Software
- 105K Integration
- 41.5K Security Software
Orchestrate business process using Oracle Process Cloud Service (PCS)
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:
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:
Figure 5 : Develop Processes
The “All Spaces” page opens up displaying the existing applications (if any) as follows:
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:
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:
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.
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.
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:
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.
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:
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.
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:
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.
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” activity 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:
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:
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:
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:
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.