As of this week, Oracle has released the Oracle Process Cloud Service (PCS): https://cloud.oracle.com/process. This PaaS cloud service offers a development platform for implementing business processes. Underpinning technology for this cloud service is the Oracle Fusion Middleware BPM stack. As a result, using the Process Cloud Service should be easy for people that are already familiar with Oracle Fusion Middleware BPM. For example, familiar platform components like BPM Composer and BPM WorkSpace are also present in PCS. With that in mind, we decided to give it a go!
This article outlines the steps for implementing a simple process in the Oracle Process Cloud Service. We were inspired during a discussion with a customer on SOA Governance, more specifically: how to handle/grant access to specific services. The customer mentioned that ‘he had people were complaining that it was unpredictable how long it took before access to a specific service in a specific environment was granted’. These types of processes can be handled very well within the Oracle Process Cloud. So, the ‘ServiceAccessApproval’ process will be shown in this example.
Sample process ServiceAccessApproval
The process ServiceAccessApproval in short consists of the following steps:
- a Project Member requests access to a specific service in a specific environment
- when approval is required, the Service Access Approver will get a human task where he/she has to approve access to the service
- after service access is approved, the weather forecast of Amsterdam is retrieved… so … um … well … we can show a webservice invoke
- then, a human task is created for the Service Access Granter. This person will (technically) configure the service, so the requesting party can really access it
Implementation steps
The implementation of the ServiceAccessApproval process is done in the following steps:
- 1. create a new application: ServiceAccessApproval
- 2. model the process flow (BPMN flow, without the implementation)
- 3. model the Business Object types (data modelling)
- 4. model the Decisions (business rules)
- 5. configure external Web Services
- 6. model the Web Forms (task screens)
- 7. finalize the process implementation
- 8. deploy the process
- 9. run the process
Step 1. create application ServiceAccessApproval
Login as user weblogic into Process Composer
Create a new application: ServiceAccessApproval
Pick the ‘Web From / start your process with a web form’ option
Step 2. model the process flow
Model the process flow in the following 2 steps:
- Make 3 swim lanes: ProjectMember, ServiceAccessApprover, ServiceAccessGranter
- Add all process activities
Step 3. model the Business Object types
Now, add a business object ServiceAccessBO
Note that already a lot of pre-defined business types are present, mainly coming from/with the NotificationService
Step 4. model the Decisions
Create a Decision (business rule) with a string as input (service name) and a boolean as output. The boolean output indicates if the requested service access has to be approved. The decision logic checks for the presence of the substring “GEN”in the service name. If present, the service access has to be approved, so the boolean output is set to true.
Step 5. configure external Web Services
Create a web service for retrieving weather information. Note that for adding a web service, the WSDL has to be uploaded. If there are imports included, the WSDL and the accompanying files have to be uploaded in a ZIP file. The used web service WSDL can be found on http://www.webservicex.net/globalweather.asmx?WSDL
Step 6. model the Web Forms
Make 3 webforms: ‘ServiceAccessStart’ for starting a process, ‘ApproveServiceAccess’ for approving access to a service, and ‘GrantServiceAcess’ for indicating that access has actually been granted.
The basis web forms look like
So, let’s do some layout work on them…
Ah, that looks better 😉
Step 7. finizalize the process implementation
So, by now we have all the pieces. They only need to be used in the proces implementation. So, we go back to the process and …
Add the process data objects
And for each of the process activities, link them to the right implementation. For example, link the Decision Service
And when that is done for all of the process activities, the data associations have to be established. Again for the ‘ApprovalRequired’ Decision Service:
Step 8. deploy the process
Now that the process is done, go to the management console:
Select the appropratie environmetn and click on ‘deploy’
Now, go through the deployment screens:
Step 9. run the process
Now, the ‘project member’ can start a process instance. First, he will log in into the workspace and then select the SA application:
Then, the ‘project member’ will enter the details on his request:
Next step, the ‘service access approver’ can approve:
Next step, the ‘service access granter’ will configure service access and then confirm his task:
Summary
First impressions on the Process Cloud Service is that it is fairly straightforward to use, especially for those with experience with the current FMW BPM Suite. More detailed investigations on the Process Cloud Service will follow in other blog articles.
The code for this example can be downloaded:exported process
Thanks for the nice blog on the Process Cloud Service.This is very informative and kind of virtual tour of PCS.
Thanks
Bishnu