Monday, June 30, 2014

#12 SOA 12c New Features - Performance --> Modularity Profiles

Intelligent use of the above will -

1. Reduce the overall memory footprint of the SOA Infrastructure.

2. Make Oracle SOA Suite a more modular platform. You load only the functionality you need to use.

3. Reduce overall class loading and overall startup time of the server.

More info from admin doc

#3 BPM 12c New Features - groovy scripting

12c brings scripting back to BPM.
Now I am not advising leveraging this feature extensively, but it is definitely useful for those migrating form BPM 10g.

With 12c, business objects can have business methods implemented in groovy.

Here I have just created a new OrderBO -

We see the scripting catalog view as well.

We can add methods here -

Here is my simple method -

Now to call this from a Script activity in my BPM process -
I create a Script activity then right click on it and select Go To Script

I began by adding the OrderBO library to the script.

I then code as follows -

I deploy and test as follows -

Great stuff, this groovy!

#2 BPM 12c New Features - skip and back error handling

Skip/Back error handling allows us to catch an error in a BPM process and retry or skip the activity that cuaed it.

Here is my composite -

The ValidateOrder Service can throw 2 business exception - MinorException and MajorException.
The business logic for error handling in the BPM process is simple - MinorException then retry -
MajorException skip.

The validate Order web service -

This is how the  business logic for handling the MinorException is implemented in the BPM process -

I set the newly available pre-defined variable - "action" - to "back"
i.e. I want to rety the validateOrder service.

Deploy and test -

The business fault - MinorException is thrown and the instance is Recovered.

file is written -

Trace -

Now I implement the handler for the MajorError -

Here I just skip

Deploy and test -

Trace -

#1 BPM 12c New Features - an overview

Here are some of the developer oriented new features of BPM 12c

- Quick Start Install

- Force Commit on Activity Complete

- Process Instance Expiration

- Business Parameters

- Skip and Back Error Handling

- Catalog Enhancements and groovy scripting

- Debugging

- Verbalisation of Business Rules
- Enhanced Business Rules editing via SOA Composer

- More OOTB dashboards

- ACM - Support fro sub cases

- Revamped BAM composer

- Migration path from 10g to 12c

- easy upgrade from 11g to 12c

I will cover these in detail in upcoming posts.

Check out the New Features doc HERE

#11 SOA 12c New Features - Enhanced SOA Composer for Business Rules

Users of SOA Composer now see the composites deployed as well.

We can also view a diagram of the composite -

Rule editing has been greatly improved -

One can also export to Excel and edit the rules there -

Excel Sheet has 3 tabs -

I just edited the sheet and added the "Bushmills" Rule.

Let's look at this in some more detail - this is the Value Sets Tab.
I added Bushmills and whiskey.

Now to the Rule itself on the OrderDT tab (OrderDT is the name of the decision table)

Now I can import this excel sheet in JDeveloper's Rules Editor.

The newly added rule is highlighted.

Merge changes

Great stuff!

Business user logs back in to SOA Composer and sees the newly created Rule 4 -

Thursday, June 26, 2014

#10 SOA 12c New Features - Enterprise Scheduler (ESS)

SOA 12c comes with its own OOTB scheduler.
It is integrated in em

Job Definition is simple - here is a list of the possible job types -

An API is also available, so you can schedule jobs programatically.

Here is a simple example - I have depoyed the following sync BPEL process.

I now define a job to execute this conposite every 2 minutes -

For this I will need the BPEL process wsdl -


I enter the wsdl url, then press Go

Here I can specify the operation and enter a payload

I am using the obiquitous order, which probably doesn't make much sense from
a functional persepctive. But I'm sure you can extrapolate from this.

I now submit a job request

I select my job definition -

I can now specify the schedule -

I then check the composite instances in em

and see that they are being created every 2 minutes.