Mittwoch, Februar 27, 2008

UPDATE: Oracle and BEA

There is an official statement now on with two ore sentences:

1) "Oracle provides leading database and SOA solutions, while BEA provides world-class, open-standards Java-based application products and a highly scalable messaging and transaction processing platform."

2) "Fusion Middleware will continue to be the center of Oracle¿s current and future middleware and applications strategy."

This is a quite clear positioning for the Oracle SOA stack. Let’s see, what time brings…

Oracle BPEL PM calling out to stateful Axis2 service

You have to look into some things more deep, than you would like to do. You are using stateful Axis2 web services? With scope="soapsession"? Then Axis2 tries to hold session state with putting a unique ID (ServiceGroupId) into the WS-Addressing header. On client side, you switch to stateful=true and everything works fine. If you have an Axis2 client… If you try to call that stateful Axis2 service from within Oracle BPEL PM, everything works fine, too. The only thing you loose is the ServiceGroupId, which has to be used in the following Axis2 service call. So you loose your state.

Why is that: generally, Oracle BPEL PM handles WS-Addressing transparently. Problem here: Oracle BPEL PM implements WS-Addressing 2003, Axis2 has an implementation of 2005’er spec.

Solution: Within BPEL process you can manually copy the correct WSA headers using the bpelx:inputHeaderVariable and bpelx:outputHeaderVariable commands.

See some details here:


New Update of SOA Suite 11g beta

Have you tried the beta release of Oracle SOA Suite 11? Wondered, why there were missing some parts? Well, check out the download page, there is a new release of SOA Suite 11g Technical Preview 3, which now includes Rules und CEP!


Follow this link:


Oracle Data Integrator (ODI) in an SOA environment

Oracle Data Integrator (ODI), formerly known as Sunopsis, is a very impressive BI tool. Question is: is this tool useful in a SOA environment, too? Well, there are two relevant features:

1) Basic Web Services für Data Operations

2) Mass data processing

The first one is interesting on the first view: Generate data access services, based on the data access mechanismens of ODI. But for SOA services, this feature is too basic. You can generate a data access service for one (and only one) table, for example. If you have a join, you’re out. That’s a usecase I nearly never have in reality and which has nothing to do with Contract First Service Design,

Where ODI is really helpful is the job of mass data processing. Often you see the pattern, that a bpel process is used for batch operation. Let’s say, you have a small bpel process, which runs fine, takes some data and writes that data in a second system. Now someone decides, that this bpel process can be used in a batch run and tries to instantiate 500.000 instances in an overnight batch run. Which engine wouldn’t burst with that? That’s the moment, where ODI comes to the scene. If you need massive batch transfers of data, start an ODI step in your bpel process, but never try to do mass data processing within bpel.

Oracle SOA Suite Best Practices

Just another reminder: if you work with Oracle SOA Suite, you definetly have to read the Best Practices site:


Recommendation: Oracle SOA Suite Best Practices Guide 10g Release 3 (