Monday, September 4, 2017

CORS Support in Oracle Process Cloud Service

The latest August 2017 release has announced the long awaited support of Oracle Process Cloud Service embeddable components and REST APIs in CORS.

CORS stands for Cross-Origin Resource Sharing and it is a mechanism that allows restricted resources  on a web page to be requested from another domain outside the domain from which the first resource was served [1].

CORS is especially useful with REST services since in most of the cases, you will have a REST endpoint residing in a dedicated "API" domain. A very common scenario is consuming one of the Oracle PCS REST APIs from a completely different "client" domain.

Without Oracle's PCS support in CORS this would not have been possible.

Another very powerful feature that has been around in Oracle PCS is the ability to embed Oracle PCS functionality in external applications in the form of jQuery widgets.

The following functionality is exposed as jQuery components:

  • Details
  • Start Application
  • Start Form
  • Attachments
  • Comments
  • Conversations

All these components provide support for Cross-Origin Resource Sharing (CORS), meaning you can consume them from external domains, not required to have your external applications hosted on the same domain as Oracle Process Cloud Service.

[1] https://en.wikipedia.org/wiki/Cross-origin_resource_sharing


Monday, July 17, 2017

Multi-Instance Subprocess in Oracle Process Cloud Service

The May 2017 Oracle Process Cloud Service release on-boarded a very useful and powerful on-prem feature, that of multi-instance subprocesses.

In a nutshell, multi-instance subprocesses allow you to execute a specific set of actions a specified number of times either in sequence or in parallel.

What shouldn't be confused is the difference between repetitions and multi-instances. Multi-instances will create a snapshot of a specific set of actions and data, and run it a specified number of times, with each instance living in it's own private memory space.

Repetitions on the other hand is executing the same actions and data a specified number of times, with both actions and data sharing the same context, therefore being capable of being executed in a sequence manner.

So let's see all this in practise. In the following steps, I will be creating a sample form-initiated based process where the user will define the number of loops (executions) a subprocess, that will include of a simple "Submit Task" should execute.

Create a new application in Oracle Process Cloud Service, give it a name and file it under a space (I've named it "Multi-Instance Subprocesses Demo App" under a custom space called "aantoniou").

Next create a sample process using the "Form" pattern.

The first that that we will do is to define the implementation details of the very first component of our process which is the actual form. So open the properties of the "Start" component and specify a title and then create a new web form.

On the canvas of your new web form drag and drop just one components; a number field component and your number field component numberOfLoops.

Save and close your web form to return to your demo process. Next we will add the actual subprocess. So expand the "System" component group and drop between the "Start" and "End" activities a sub-process component.

In between the "Start" and "End" activities of the sub-process component drop a "Submit" activity.

Open the properties of your subprocess to define its implementation details. In the repetition cycle select "Generate multiple instances", in the multi-instance type select "In Sequence" and select "Condition" as the repetition condition type. In the "How many instances do you want to create" use your form numberOfLoops variable to define the number of instances.

You can also use an array instead of a condition that will be used by the subprocess to identity the number of loops that it should execute. Furthermore, you can define an output (or a results) array that the subprocess will use to store the results of the subprocess.

Hint: the numberOfLoops form variable has been automatically created for you as a double. Please use the int() function to convert the double to an int.

Open the "Data Associations" of your human task activity and assign the loopCounter predefined subprocess variable to the human task's title just to have an indication of which task you are working on.

Publish your changes and deploy your application. Make sure you specify a version number in the deployment dialog.

Before you can start testing your process, you need to map a user (or a group) to the "Process Owner" application role of your process.

Click on the "Start Application" global menu link and click on your process. Specify some sample data and the number of loops and click "Submit".

Go to your tasks and you should have one task in your inbox.

Submit your first task and go back to your inbox. You should see the second task in your pending tasks.

Submit your second task and go back to your inbox. You should see now the third and last task in your pending task list.

Let's change the instance creation type from sequential to parallel. Go back to your process and open the properties of your subprocess activity and change the "How do you want to manage your instances" type to "In Parallel.

Publish your changes and deploy a new version of your process (make it as default as well).

Start a new instance of your application using again the same number of loops (3).

Go to your tasks inbox and you should now see all three tasks appearing at the same time in your pending tasks list.

Monday, June 26, 2017

Trial Subscription to Oracle Process Cloud Service

Oracle has simplified the previously long and complicated process of subscribing to its Cloud Services, making it much simpler and quicker to get access to any of its Cloud Services.

Before, to get access to an Oracle Cloud Service, you had to execute a series of prerequisite steps. In the case of a PaaS service, you had to provision an instance of a Database Cloud Service, an instance of a Storage Cloud Service and then provision your PaaS service, with some tricky configuration options. That’s not the case any more!

In this blog post we will see how easy it is to setup a trial subscription to Oracle Process Cloud Service (which is by default valid for 30 days).


You first need to sign up for a trial subscription to Oracle Public Cloud Services which requires you to already be a registered user with Oracle. You can do that by either navigating to http://cloud.oracle.com and clicking on the “Free Trial” button.

The link will direct you to a page listing all available Cloud Services for subscription. From the list click Process to be redirected to the Oracle Process Cloud Service home page.

From the Oracle Process Cloud Service home page click on “Get Started for free” to start filling up the sign up form to Oracle Public Cloud Services.

Of course you can visit directly the Oracle Process Cloud Service home page to “gain” two extra clicks.

The sign up form is very simple. The “First Name” and “Last Name” should come pre-populated from your registered account with Oracle. You will need to fill in your company’s name, country and enter your mobile number to receive a verification code.

Click on the “Request Code” button to receive a verification code to the mobile number you supplied and enter it in the “Verification Code” input field.

One last thing that you need to fill in is your domain name for your trial account. As you can see from the screenshot above, my domain name is “cyeproseed”.

Click on “Sign Up”.

You should be redirected to a verification page, verifying that you have successfully submitted a request to get access to Oracle Public Cloud Services.

Very shortly you should also receive an email with your account details that includes your username, a temporary password, your domain name and a link to your account.

Please note that you are initially provisioned with a temporary password that you will have to change the first time you attempt to login to Oracle Public Cloud Services.

The landing page is a dashboard that lists all your cloud service subscriptions. Currently we only have one, Oracle Process Cloud Service. Click on it to be redirected to the Oracle PCS service details.

By default, no instances are available. To create a new instance of Oracle Process Cloud Service click on “Create Service Instance”.

Provide your instance details such as your instance name, your email and username and click “Next”.

From the overview page click on “Create Service Instance” to initiate the instance provisioning process.

You should see a confirmation message that your instance has been successfully initiated.

Shortly after you will receive an email from Oracle with your Oracle PCS instance details.

Navigate back to your Oracle PCS service details and click on the refresh button under “Service Instances”. You should now see your newly provisioned PCS instance.