Powered By Blogger

Wednesday, February 10, 2010

Oracle SOA suite 11g - Get Instance Title for Composites and Components

Composite instance title:- ora:setCompositeInstanceTitle() method can be used to set the composite instance title.
The composite instance title can be used to search the composite instances from em console but the wildcard search is not applicable on this field.
Problem – There is no method provided to get the composite instance tile.We are only having the option to set the composite instance title using setCompositeInstanceTitle() method but no option to get the title.
Solution:- We can query the COMPOSITE_INSTANCE table under the SOA under SOA_INFRA schema.
We can use set string instanceId using method "ora:getCompositeInstanceId()" under any assign  activity as below to query with  COMPOSITE_INSTANCE table.

Once we have instanceId available then we can add Database adapter named "DBGetCompositeDeatils".

Define the name database JNDI name define under weblogic deployment :

 

Select the option "Perform an operation on a table" and "select" query:

Import the COMPOSITE_INSTANCE table from SOA_INFRA schema.

Select "Title" from this table as this filed have title ,saved by ora:setCompositeInstanceTitle() method.

Add the InstanceID as an parameter ,make sure that you set InstanceID before calling the database adapter. The below mention query will get the title from COMPOSITE_INSTANCE table by passing the InstanceID and now set title is available for use.

Monday, February 8, 2010

Customizing BPEL Process Instance Titles

When there were several BPEL process instances getting created in the BPEL console, it often really becomes hard to identify a instance for tracking/debugging purposes. Since, all the BPEL process instances use a generic naming convention consisting of an unique instance id (sequence generated within Oracle BPEL PM) and the BPEL process name; all instances would hold the same name except for the change in instance id.

In order to give a valid instance name for the BPEL processes, you can make use of the setTitle(String str1); method inside a Java Embedding activity inside the BPEL process, which will ensure that the 'str1' parameter is set as the instance title for all instances created for this BPEL process. You can pass dynamic run-time parameters and customize the BPEL instance titles, so that the BPEL instances can be identified more uniquely in a business sense. This also enables easy & effective instance tracking from the BPEL console.