By Andreas Chatziantoniou
Coming from a Business Process Management (BPM) environment, the Oracle Process Cloud Service (PCS) certainly looks and feels different, and has a number of merits that might go unnoticed. This article shows how to discover the potential of PCS and put it to good use in your projects.
The World We Live In
For a number of years, budgets having been moving away from IT departments and into the business organization. This has led to a situation in which we encounter "citizen developers," typical business users who (at least in theory) write their own application.
Because many services now reside in the cloud, these citizen developers can start right away and do not need to wait weeks for the IT department to provision the systems. These cloud services are immediately accessible and provide an easy-to-use development environment for the quick release of small business applications.
So let's have a look how a citizen developer might use PCS.
As with all Oracle Cloud Services, you will see a somewhat technical dashboard when first logging in to your domain. This is definitely aimed for developers and cloud administrators.
Figure 1: Cloud Services Dashboard
For somebody who has dealt with the typical Oracle Enterprise Manager Cloud Control, this certainly looks very dressed down. Remember that we are not -- I repeat: NOT -- managing the environment, which is in the cloud. What you see here is all you need to see -- uptime and the number of instances/conversations/documents, etc.-- that make up your cloud service.
To my eye, the important features of this site are tucked away in the upper-right corner:
- Dashboard (see Figure 1)
We will come back to these later.
The average citizen developer (or C.DEV) will like PCS because it is not cluttered and, to a certain extent, is free from the IT-savvy stuff.
Hitting the Service Console of a cloud service from here brings us to the level C.DEV wants to see:
Figure 2: PCS Console
This kind of interface is more smartphone app-like than we have been used to. Be aware that we are logged in as the cloud administrator, so we can see and access all of it. Normal users will have a limited view.
The first step is now to develop our first PCS process. Clicking on the icon brings the C.DEV to the PCS Composer.
Figure 3: PCS Composer
It's still very basic in its look, but this is the concept of cloud services: show just the things you can do here, not everything that is possible. Again note that the "goodies" are somewhat hidden in the upper right corner.
Creating a process is very easy: just click the Create button. (If you already have done this, click on your application and continue working.)
A number of development activities have a wizard approach, with dialog boxes that will guide you. While this is good for a quick start, we still need to evaluate if it is useful for large project teams and complex environments. It gives us also a good idea what the first use-cases will be for PCS: gluing together existing systems for a much-needed report or describing process-oriented work on a department level.
Figure 4: Creating a process
From here, we can design the process or do other fancy things like creating Web Forms (very handy for entering information needed by the process) or describing Connectors, which we will need in order to interact with other systems or services.
The Process Composer
Now our C.DEV will design the process a little bit.
Figure 5: Process Composer
So here we have a very easy process, in which the start is executed by displaying a Web Form. Somebody from the swimlane Human Resources will need to approve the proposal. For the C.DEV this comes very naturally, as most of his view on processes centers on Approvals, Reviews and Self Service. The difference with normal enterprise-wide applications is that not every tiny little detail needs to be there at the beginning. Agility is the Òsilver bulletÓ of the C.DEV. Cover the first steps and add a little bit every time it is needed.
There is a palette with some possibilities (not as many as you might be used to from BPM) on the side of the PCS Composer:
Figure 6: Composer palette
With this you can build nice flows for your process. An example of the Employee Promotion would be a sub-process by which the new employee gets a computer:
Figure 7: Employee Promotion Process
Obviously, the necessary BPM features like sub-processes, gateways and services are present. Here lies one of the greatest potentials of the PCS: having the ability to easily add a new process into an existing one. Imagine the Employee Promotion process is launched and then, after a pilot phase, extended to involve other departments. As in the above example the promoted employee can order a new computer. Adding this would be as easy as providing services from other departments (e.g., Fleet Management when the employee is eligible for a company car, Facility Management to print new business cards with the new title, and so on).
Looking into the Web Forms creation, a very intuitive and easy-to-use interface is presented. So our C.DEV starts with the easiest format, relying on values that are understandable by everyone. No complicated data structures, but everyday data values (Employee name, Employee grade, Computer), which would even be populated with some pre-defined values, as shown below:
Figure 8: Web Form
With drag-and-drop functionality, the C.DEV can easily build Web Forms that serve the purpose of entering data for the PCS. Well-known building blocks such as text fields, calendar functions or drop-down menus can be inserted into a Web Form.
The Web Form will be used behind the scenes to populate the Business Objects and Data Objects, which will then be used in the execution of the process. Here is an example of the creation of a Business Object:
Figure 9: Creating a Business Object
In the PCS process, the Web Form can then offer entry methods ( e.g., a text field) to get the data and add it to a Business Object. In the above case, a Web Form will be created and the Business Object added to it:
Figure 10: Adding a Business Object
Figure 11: Selecting the Business Object
Figure 12: Web Form
Using such tools, even a business analyst can become a C.DEV and create useful processes.
During the creation of the process it is very convenient to first model the process. Modelling refers to drawing and describing the process without the immediate focus on the underlying Business and Data Objects. The rationale for this is to stay in the world of the modeler. This is typically person who knows the process but not all the nitty-gritty details of all associated data.
This brings us to another PCS benefit: The C.DEV can easily create an application (the process) and leave the implementation to colleagues who know how to deal with the data and get access to back-end systems, etc.
In order to model just the process, it is necessary to put the process activities in draft mode. In each activity properties page you will find an Is Draft checkbox. When activated, the validation process will not check to see if all Business Types and Data Objects are correct.
Figure 13: "Is Draft" option
At this point we have a process (and maybe some Business Types and Data Objects) that can be deployed.
Getting the Process Into the Real World
To deploy an application (the process), another wizard approach is used.
Figure 14: Locate application
Figure 15: Select application
Figure 16: Deployment options
The process can now be used. From the perspective of the C.DEV this is very valuable as this deployment normally would have been done by the IT department. But because the infrastructure is in the cloud, it was available almost instantly. Difficult technical issues are now encapsulated and not visible, allowing the C.DEV to deploy the application.
Figure 17: Employee Promotion application (EP) in Dashboard
The application shows up in the dashboard (which can be customized for your needs). Starting the application and entering values is now possible.
Using the additional features (Viewing Tasks, Tracking Tasks and Dashboards) also delivers some administration-like possibilities (e.g., when a task is not completed it shows up in the Tasks list). Tracking allows you to see why a process is not completed or what it is waiting for, etc.
Going back to our task, we open an instantiation, click Approve and see that it is finished.
Figure 18: Process approval
The appeal of PCS is the ease with which the process can be developed and brought into production. The example provided in this article would take only minutes, so you can imagine the productivity gains. Obviously, in order to work, the process will need to be implemented by adding data to the process. Normally, this would not be done by the C.DEV but by an IT-savvy person-- and then the process would be usable by the department.
One word of advice: when it comes to very complex processes, the ease of getting something small to work very quickly might turn against you. Planning and interaction with the IT department will become necessary again.
Figure 19: Approval successfully processed
Using Oracle PCS offers a wide range of possibilities that can quickly get you up and running. There are also easy ways to integrate with other Cloud Services, most typically Document Cloud Service and Integration Cloud Service.
About the Author
Oracle ACE Andreas Chatziantoniou is the owner of Foxglove-IT, where he specializes in Oracle Fusion Middleware and Oracle Database Technology, and a partner of the rudolph-ag (Switzerland).
This article represents the expertise, findings, and opinion of the author. It has been published by Oracle in this space as part of a larger effort to encourage the exchange of such information within this Community, and to promote evaluation and commentary by peers. This article has not been reviewed by the relevant Oracle product team for compliance with Oracle's standards and practices, and its publication should not be interpreted as an endorsement by Oracle of the statements expressed therein.