VBCS: Calling a REST endpoint by Richard Olrichs

image

Oracle Application Builder Cloud Service (ABCS) has been renamed to Visual Builder Cloud Service (VBCS), so this blog series about ABCS continues as a blog series about VBCS. In this blog I will explain how to call a REST endpoint and create a Business Object based on this REST Service. There are several ways to do this, but I will start with the most basic one. The data that we get from the REST service will only be presented (read-only), we will not send updates/posts to the REST endpoint.

To call the REST endpoint, we will use a template provided within VBCS that we are going to adjust just a little bit. We can do the editing of the 2 javascript files within VBCS itself. This is a temporary solution, Oracle is working on making these configurable and even more easy to use for users. Read the complete article here.

 

PaaS Partner Community

For regular information on Oracle PaaS become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Technorati Tags: SOA Community,Oracle SOA,Oracle BPM,OPN,Jürgen Kress

Jarvis Pizzeria: Decision Model in the Delivery Process by Richard Olrichs

image

To make the delivery of the pizzas to our customer, we need to decide how to deliver the pizzas. In our process we’ve already got the order data, so we know what the order is and where it needs to be delivered, but what is the best way to deliver the pizzas?

We will create a decision model in PCS to help us with this decision. In the delivery process we will call the decision model like a service and use the answer to make the correct decision.

The input for the decision model will be the amount of pizzas and the distance to the customer. Based on these data we will decide to either use a bike, moped or car to do the delivery. A very common decision to make in the Netherlands, since we love our bikes and often deliver pizzas by bike rather than by car.

We start with going to the PCS home. All the way out of the jarvis application and on this home menu we click the create button. Here we see that besides new applications, we can also create a new decision model. This means the decision is not coupled directly to the application with our processes, but it is a stand alone decision model. Read the complete article here.

 

PaaS Partner Community

For regular information on Oracle PaaS become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Technorati Tags: SOA Community,Oracle SOA,Oracle BPM,OPN,Jürgen Kress

Jarvis Pizzeria: Using the SOAP interface to start a Process by Richard Olrichs

image

We as old-fashioned SOA/BPM Suite developers, are used to test deployed services using tools like SoapUI. In this blog post, we will show you how to start a Process in the Oracle Process Cloud from the SOAP UI interface.

On premises with SOA or BPM we used to start by obtaining the required wsdl from the Enterprise Manager.

However, for PCS there is no such thing as an Enterprise Manager, so how do we get the WSDL?
In the top right corner of the PCS Composer there is a ‘Management’ button. Read the complete article here.

PaaS Partner Community

For regular information on Oracle PaaS become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Technorati Tags: SOA Community,Oracle SOA,Oracle BPM,OPN,Jürgen Kress

Jarvis Pizzeria: Implementing Rules by Richard Olrichs

image

When the order comes in, payment needs to be made first before we start preparing the pizza. Our order payment process supports three possible payment options:

  • Creditcard: obviously a commonly accepted payment option
  • Cash: although we are a very tech-savvy company we would also like our old-fashioned customers to be able to pay the pizza with cash money
  • Deferred payment: our most trusted customers can pay their order in a deferred way.  Deferred payment means the customer receives an invoice per email and is asked to pay the order within two weeks.

The payment process is depicted below. The first activity in the process is concerned with determining which payment options are available. What component can we use to insert some facts, start reasoning about those facts and give us an answer based on those facts? Of course…Oracle’s own business rules! Read the complete article here.

PaaS Partner Community

For regular information on Oracle PaaS become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Technorati Tags: SOA Community,Oracle SOA,Oracle BPM,OPN,Jürgen Kress

CORS Support in Oracle Process Cloud Service by Antonis Antoniou

 image

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: Read the complete article here.

 

PaaS Partner Community

For regular information on Oracle PaaS become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Technorati Tags: SOA Community,Oracle SOA,Oracle BPM,OPN,Jürgen Kress

An Introduction to Jarvis Pizzeria! By Richard Olrichs & Marcel van de Glind & Marc Kuijpers

image

In the summer of 2017, three enthusiastic Oracle Consultants decided to join effort and start their own business. Not all developers love the cloud (just yet), but we all love pizza, so what better than to start our own pizzeria; Jarvis Pizzeria!  Besides that, pizza is the new EmpDept for developers, so two birds with one stone. Where better to explore the Oracle Cloud, more specific Oracle Process Cloud (PCS), than within the walls of our own beloved pizzeria.

Since an Iron Man reference is always a good idea for anything Oracle related, Jarvis Pizzeria is born!

Now, before we tell you all about our automated pizza process, let’s take a moment to introduce the team.

Marcel van de Glind

The Cloud Architect of MyFMW

https://myfmw.wordpress.com
Marcel is a familiar face within the Oracle Community, his expertise on BPM & SOA (plus more) is shared on MyFMW. Besides preparing pizzas, Marcel is also preparing for the Cloud, will PCS be the new BPM?

Marc Kuijpers

Cloud Ninja @RubiX

http://rubix.nl/blogs
Marc knows the BPM Suite and all its pros and cons from his time at Oracle. However, now that he’s left the mothership to consult at RubiX, it is time to challenge the Cloud proposition of Oracle. What better way than looking at PCS to see how this Cloud solution fits within the PaaS offerings.

Richard Olrichs

Oracle Early Adopter @The Future Group
http://www.olrichs.nl
Richard is always looking for an excuse to play around with the newest Oracle Technology products to stay on the edge of what is happening within the Red Cloud. Can the Oracle PaaS deliver like Jarvis delivers pizzas?

So that is the team! In the time to come, we will start automating our pizza process with the help of Oracle PCS. One of the goals for this project is very selfish, we want to explore PCS and familiarize ourselves with the tool and technology. We joined effort to discuss our findings, ask questions and motivate each other. However, now it is also time to share our experiences with the Community. This will happen in a blog series on our sites as well as via implementation examples and presentations at Oracle related Events.

In essence we have cut the automated pizza process in a couple of separated, decoupled steps; the preparation, the payment & the delivery. Within these steps we will use several familiar techniques, like Human Tasks and Business Rules. We will compare the PCS options to their BPM counterpart and share our findings from a level of ‘MyFirstPcsProcess’ to a more in-depth analysis of the tool and product.

As you can see, our use case reflects upon the process, how PCS relates to BPM, how easy it is to implement a business process, the usage of gateways, business rules and other features we know from BPMN. As a result, our focus has been on Oracle PCS and Oracle PCS alone. This means our lessons learned will also be focussed on PCS and probably will not translate one on one to a real business case.

For example, we use the integration within PCS, to directly call REST and SOAP endpoints, while for a critical, core business system, it is wise to let this integration go through the Integration Cloud as abstraction layer from the process.

We hope you enjoy our blog series, happy readings!

Blogs in this series:

PaaS Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Technorati Tags: SOA Community,Oracle SOA,Oracle BPM,OPN,Jürgen Kress

PCS and Correlations: the next big thing cavemen already used… by Martien van den Akker

image

You can use BPM, BPEL or Workflow to orchestrate or direct regular processes to get a job done from the beginning through a certain flow with a few decision-points, alternate and parallel flows to the end. A common use that is fine and usefull for most projects. And it can be seen as the driver for software companies to develop process/workflow engines.
However, there are cases that one process spawns off multiple other process instances that are some how related to one particular business case, involved person, or a uniquely distinguishable entity. And often those processes have to interact, with each other. For instance, this year in Split I came up with an idea for a role playing advanture game using chatbots and PCS. Each player would initiate a PCS instance, that when interacting with each other can detect if players meet each other at a certain location.

Correlation Sets are key here…

Right after the acquisition of Collaxa in 2004, in my Oracle Consulting era, I got the chance to be a BPEL trainer for Oracle University, doing several trainings for a few bigger consulting companies in the Netherlands. One of the subjects was about Asynchronous Processes and how the Process Manager used WS-Addressing to correlate the response to the running instance that sent out the request. But together with that Correlation Sets were mentioned. And I did not understand it: why would you need Correlation Sets when the Process Manager handles it all transparently using WS-Addressing? Otherwise put: it was time for me to do some projects.
PCS, BPM Suite and SOA Suite share the same process engine that originated from the early BPEL Process Engine. And as you can detect from my anecdote: Correlation Sets are key in this story. And this functionality is around from the medieval ages. In fact, recently they discovered char-coal drawings in a cave in France, indicating that people form pre-historic times already used Correlation Sets in their BPEL’s…

Prototype this…

Let’s say you have a customer that is a large company with several responsible participants that are allowed to sign the contract. Some of them are full-authorised signers, while others only have partial authorisation. So either one of the fully authorised participants signs, which would complete the contract, or some of the partial signers have signed that pass the contract over the signing threshold.
For this case we keep it simple: either one of the full authorised participant should have signed or all of the partial signers should have signed. But we’ll handle this in a (set of) business rule(s), so it can be made more complex to resemble real-world cases. Read the complete article here.

Oracle Process Cloud Service – Decision Model Notation part 2 by Lykle Thijssen

image

In my previous blog, I showed how to get started with Decision Model Notation (DMN) in Oracle Process Cloud Service and how to create a simple Decision Table. Picking up from there, we will now look into creating If-Then-Else rules, which should also be familiar to people who know Oracle’s old Business Rules. We will also create a service and call it from a process.

Creating an If Then Else Decision

As Input, I have created a TotalAmount object, which is the total amount of a Sales Order. Based on this TotalAmount, we are going to calculate a Discount Price, for which I have created a DiscountPrice type to make the service interface a bit prettier than just ‘output’. To create an If-Then-Else rule, just click the + button next to Decisions, enter a name and set the output type to string, number or any other type, in this case DiscountPrice.

Now, Oracle will have created a rule for you, in which you only need to fill in the "if", "then" and "else". Since you’ve already decided your output object, we will not use that one in the expression, which is different from the old Oracle Business Rules. So just enter the value that you want for this object and you’ll be fine. You can also create nested expressions, as shown below: Read the complete article here.

 

Process Cloud Service and how to loop and select elements from a list by Martien van den Akker

image

For more than half a year I’ve been ‘dying’ to write posts about some of the constructs I’ve developed in my last Process Cloud Service project. At last I have the opportunity. And I hope I’ll be able to write some more. But for starters, one of the problems I encountered is that I needed to process a list of something(s) and select elements from it. Or even better, how to build up a new list based on an input-list and some rules. Oh and do looping, or actually determine how to finish a loop based on a list of elements. Without a count() function in the PCS Expressions…

Questions

If you have met these kinds of problems and the tool at hand is PCS, then you probably ran in (some of) the following questions:

  • Why don’t we try to solve this in SOA CS or possibly ICS?
  • Where are the script tasks we have in BPM Suite? (Sorry, this is an obvious one, but still)
  • How to count the elements of a list? Or, where are the functions in PCS?
  • How to add elements to a list?
  • Etc.

To address a few of those…
Many of these things we ran into are actually orchestration issues. And as with the all-time discussions on when to use SOA and when BPM, we advise doing complex service orchestration  (with message processing) in SOA CS, or if possible in ICS. But when we started with this project, the tools we were given were PCS and ICS. And where ICS lacked the more advanced logic processing in the orchestration integrations, at the time (it’s improved over time). And sometimes it really is fun to try to accomplish things that were mentioned not being possible. Go where no man has gone before, that sort of stuff.
Script tasks? I guess PCS Product Management gets tired of answering this question. But the real thing is: we do need to do determinations based on the outcome of services. But also doing logic before doing an activity. In the input data association of an activity, you can only assign into the input-arguments of the activity. You can’t update process variables. You can do that in the output data-association. But not all activities have a output-data-associations. And there are cases where you don’t have an applicable previous activity. For instance in loops. Read the complete article here.

 

Multi-Instance Subprocess in Oracle Process Cloud Service by Antonis Antoniou

image 

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. Read the complete article here.