Tuesday, July 13, 2010

OSB overview



OSB oracle service bus, I have recently started with OSB for my current project. I would like to share my learning. The below experience is from Oracle Service Bus version 10.1.3

* Aqua logic service bus is now Oracle Service Bus.

* While installing OSB, we can choose from Jrocket or JDK as JVM.

* While installing OSB we get these things if you choose default installation 1. Web logic Server, 2. Oracle Service Bus, 3. Web logic workshop.

* Web logic workshop is the development tool that we will use to develop OSB services, the development tool is nothing but eclipse tool.




* You can develop OSB services, from OSB web console or using Development tool like., web logic workshop tool.

* Oracle Service Bus is built to meet exacting standards for reliability, availability, scalability, and performance.

* OSB will have proxy service and business service. Proxy service is just like the name denotes a proxy between the client and the business service (May be provider application or may not be).






Monday, May 17, 2010

How to change the eis connection during runtime

It is possible to change the eis connection name during runtime using the following approach.

1. Use assign activity and declare the eis connection details as xml fragment and point it to target partnerlink on the right side in assign activity window.


EndpointReference xmlns="http://schemas.xmlsoap.org/ws/2005/04/addressing"
Address eis/DB/XXX_SQLDB /Address
EndpointReference



This will update the partner link with new value. There after the db operations performed will be on new database.

Friday, May 14, 2010

How to have default input value to bpel processes

As far as i know there are many ways you can do that.

1. Save the test data before initiate the bpel process.
but when u redeploy the same bpel process you will lose all the data that you have saved.

2. Create a Deployment property named "defaultInput" and paste your xml payload here and check "Store as CDATA section" option in the same window.

3. Using assign activity in the bpel process you can have xml content as xml fragment.

Then once u click on the initiate bpel process you will have this payload by default loaded.

Monday, April 05, 2010

ORABPEL-12517 - JCA Adapter Issue

ORABPEL-12517 - JCA Adapter Issue : If the eis connection name mentioned in the jca adapter is not available in the server then we will get this exception.

In my current project we have 2 environments for development.
For network issue we cannot use the clients network to develop the interfaces. We cloned the setting from client locally for the faster development , once we done with the development we will move the code to the client environment.

While doing i was hit with an issue. All the partner link URL will be listed in the bpel project bpel.xml file. So i modified all those URL for the client environment and tried deploying to the client environment. I was hit with this issue "ORABPEL-12517 - JCA Adapter Issue".

While compiling to the client network it says compilation fails. I took a close look at the bpel and figured out that the EIS connection used by FTP adapter is different from local environment to the client environment.

Modified it and deployed successfully to the client network.

Tuesday, January 19, 2010

How to identify the ant version

1. Open a command prompt and set the path for ant.



2. After setting the path for ant, run the below command.
> ant -version



Click on the image to get clear picture.

Saturday, January 09, 2010

ORABPEL-01012 : file not found in suitcase description: File \"{0}\" cannot be found in the current suitcase.

When i was working on cloning bpel for various division, i was hit with an issue, i have to the name of the bpel file. Changing bpel name is a big task.

The root cause of the above exception is basically the bpel name is associated with lot of message names, variable names and wsdl names etc.,

So you should take care of them in your ant script.

If you get the above error, check the above names.

BPEL Functions

1. ora:getFaultAsString() is used to get the exception in string format, used in catchAll block.
2. orcl:lookup-table() is used to get a column value, this acts like key value pair type of information.

Example:
orcl:lookup-table("XXX_INT_LOOKUP_TBL","LOOKUP_KEY","FTPACESSFAILEMAILID","LOOKUP_VALUE","jdbc/BPELServerDataSource")

Table Name : XXX_INT_LOOKUP_TBL
ColumnName : LOOKUP_KEY
ColumnValue : FTPACESSFAILEMAILID
ColumnKey : LOOKUP_VALUE
DataSourceName: jdbc/BPELServerDataSource

I have created a table "XXX_INT_LOOKUP_TBL" under the orabpel schema, the table is holding the value so this function will allow you to get the value of a column without using any db adapter, but uses datasource which is described using enterprise manager.
3. contains() - This function will check for a specified value present in the payload or not.
4. count() - This will get you the counts of a particular node.
5. I was working on a automated email bpel, for every success and failure scenario i have to send email, that will have the time and date. I have used the following to get the required format.

<%ora:formatDate(ora:getCurrentDateTime(), 'MM/dd/yyyy hh:mm:ss zzzz')%>
For more pattern you can refer java.text.SimpleDateFormat. The patterns in SimpleDateFormat are supported by above functions.