« January 2009 | Main | March 2009 »

February 2009 Archives

February 6, 2009

Searching BPEL process instances by business keys

Out of the Box Search Capabilities

BPEL Console provides several out of the box features for searching the process instances using multiple search criteria. Following are the main search criteria that can be used within BPEL console

clip_image002[4]

 

All the above are very powerful features for process administration.

Enterprise Integrations and Support

Enterprise integrations deal with business data and transactions. These integrations often have interactions between multiple layers. In case of a failed transaction at any layer, the support function personals can spend a great deal of time and energy on finding the issue and troubleshooting it. I wrote about this in one of my previous post "Service Oriented approach for ERP integration".

Now imagine a use case where thousands of messages are being processed every minute. Searching by some of the default criteria’s can result in multiple search results.

Lets take an example.

Custom Search Requirement Example

Lets assume that there is a BPEL process that processes orders in Oracle E-Business Suite. The order details are coming from an external application that is used by end users which in turn publishes to a JMS queue. The BPEL process picks up from the JMS queue and creates an Order in the EBS with the Order Number that comes from the message.

In the above example, if the end application does not receive an order confirmation, you can imagine there can be many reasons for that. One of them could be that the bpel process instance failed for some reason.

When it comes to tracking that order, the end application support will most likely call the support and mention that for this particular order (along with some sort of business key like the order number) there was no confirmation received.

In a production environment, there may be thousands of process instances. For our bpel support person to browse through the instances just by time can also take some time. But for him to be able to search the process instance by using a business key can prove to be extremely useful.

So the question from business user and administrator becomes

Can I search by Order Number?

The answer is YES.

Is there a simple way to do it?

Any one who has worked with application integration can relate to it and would agree with it. Now the question is Is there a simple way to do it?”

The answer is YES.

Let’s Do It

Let's build one simple bpel process from scratch and find out how can we achieve this highly desirable functionality

Step 1

Right Click on your application and select “New Project” option

Select BPEL Process Project

ScreenShot131

 

Step 2
Name the process “SearchableUsingCustomKeyProcess

ScreenShot128

Step 3

For simplicity we will proceed with the default option

ScreenShot129

Step 4

So now we have a skeleton asynchronous BPEL process

ScreenShot130

 

Step 5

Click on SearchableUsingCustomKeyProcess.xsd

 

ScreenShot133

 

Change the name of the input to orderNumber

ScreenShot132

 

Step 6

Drag and drop a Java Embedding activity from the Process Activities drop down on right hand side

Name it “JavaEmbeddingToSetProcessTitle”

ScreenShot137

 

Step 7

Double click Java Embedding you just added

Add the following code

 

ScreenShot139

 

Step 7

Deploy the process on server

Step 8

Initiate the process from BPEL console with “1001” as input to the orderNumber field

Notice the instance title is different than the process name. This is because of the setTitle statement in our Java Embedding.

 

ScreenShot141

Click on Audit Flow and then on the Java activity to make sure that the instance ran without any errors

ScreenShot144

 

Step 10

Let’s see if we can search by our custom field (order number) that we want to search for out of many bpel process intances in the console

Click on Instances

Now put the following into the Title field under Locate Instances and click “Go”

“OrderEntryBPELProcess - OrderNumber:1001”

clip_image002[6]

Notice how we are able to search for our particular order number (1001).

clip_image004[4]

You can search for other order numbers easily by just replacing the end of the string with the order number. For example searching for the following string within the title field will search for order number “2001”

“OrderEntryBPELProcess - OrderNumber:2001”

Summary

Requirements related to searching for a process instance in BPEL console by using a custom field could be addressed by the approach demonstrated in this post.

This example demonstrates that it can be done and it can be done easily.

February 8, 2009

Cloud Computing

 

What is Cloud Computing?

Try searching for "cloud computing" in google and you get 16,200,000 results.

image

There is lot of interest about Cloud Computing and what it means as it applies to different aspects of computing paradigm. It is more than just Software as a Service (SaaS), which relates to hosted on-demand delivery of applications.

Based on my understanding, Cloud Computing is about applications, platform, infrastructure, and storage resources being available as services.

There are many interesting discussions about what it is and what should be the definition of "Cloud".

Instead of trying to coin yet another definition of "Cloud", I tried to find a somewhat formal but plausible definition. This is the closest one I found. It is from an article published in ACM SIGCOMM Computer Communication Review 

"Clouds are a large pool of easily usable and accessible virtualized resources (such as hardware, development platforms and/or services). These resources can be dynamically re-configured to adjust to a variable load (scale), allowing also for an optimum resource utilization. This pool of resources is typically exploited by a pay-per-use model in which guarantees are offered by the Infrastructure Provider by means of customized SLAs."

"A Break in the Clouds: Towards a Cloud Definition", Luis M. Vaquero, Luis Rodero-Merino , Juan Caceres, Maik Lindner, ACM SIGCOMM Computer Communication Review 50 Volume 39, Number 1, January 2009

 

Oracle and Cloud Computing

Visit Oracle Cloud Computing Center to learn about Oracle's offering that allow enterprises to benefit from the developments taking place in the area of Cloud Computing.

February 20, 2009

Technorati

Technorati Profile

February 21, 2009

Best Practices: SOA and Enterprise Applications

Oracle Fusion Middleware Best Practice Centers for Applications are great reference sources for information on Service Oriented Architecture for Enterprise Applications.

Following are the links to pages for each application:

Best Practice Center: Oracle E-Business Suite and Fusion Middleware

Best Practice Center: Oracle Siebel and Fusion Middleware

Best Practice Center: Oracle PeopleSoft and Fusion Middleware

Best Practice Center: Oracle JD Edwards and Fusion Middleware

 

I am also a contributor and so far have shared my experiences at Best Practice Center: Oracle E-Business Suite and Fusion Middleware. This blog is also listed there.

There is wealth of information available on these centers and comes from experts in their fields. Highly recommended!

 

Add to Technorati Favorites

February 24, 2009

Oracle Technology Network (OTN) TechBlog

If you have not checked out the OTN TechBlog already, I would like to share this great resource blog from Justin Kestelyn. He is the OTN Editor-in-Chief.

Here is the link to his blog

http://blogs.oracle.com/otn/

 

 

Add to Technorati Favorites

February 27, 2009

FOTY0001: type error

If you are using Cross References (using xref:lookupXRef1M) function in your integration processes (BPEL/ESB) and ever come across the following error

"XPath expression failed to execute.

Error while processing xpath expression, the expression is

Please verify the xpath query."

 

This exception can occur because of the following reasons:

  • The cross reference table with the given name is not found

  • The specified column names are not found

  • The specified reference value is empty

  • Multiple values are found

About February 2009

This page contains all entries posted to Peeyush Tugnawat's Blog in February 2009. They are listed from oldest to newest.

January 2009 is the previous archive.

March 2009 is the next archive.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type and Oracle