Monday, November 29, 2010

OSB vs SOA Suite

guest post - thanks to Fabio.

SOA Suite and OSB are overlapping products, and also complementary.

Last year was it when starting another project, I did a POC to consider whether we should use SOA Suite or OSB. The project needed a bus service, so this was the only point analyzed.

A summary:

1) For long duration processes sure I would use BPEL, not OSB.

2) I have looked at using only the Mediator (the former Oracle ESB). However, I could not do what I wanted, such as exception handling and auditing. So I started to analyze BPEL

3) BPEL: the development environment in JDeveloper BPEL is much better than the OSB. Simple things like setting variables, and validate XPaths, which doesn't exist in OSB, JDeveloper SOA Suite has plugins that work very well.
However, you have to compare the performance of the OSB with the performance of BPEL. In my POC OSB was at least 15 times faster than BPEL. In my performance test, OSB reached 300 tps while BPEL is not going to 20tps. At the time I opened a call with Oracle, I disabled dehydration, and changed other settings to improve performance.

The consultants at Oracle told me I could not greatly improve the performance of the BPEL, because it was not designed to be a bus service. And this is why Oracle has chosen the OSB Service Bus strategy.

The runtime of the OSB is much more optimized than the BPEL runtime. The monitoring of OSB is also much more advanced, with real-time monitoring, SLA, alerts, etc..
When Oracle improve the plugin for OSB for something like BPEL (can be Eclipse or JDeveloper, no matter the tool), oh yes the product will be much better.

Here a great presentation on what you can accomplish with OSB and with SOA Suite, and overlapping functionalities. Especially worthy is the slide at page 13.

Of the same author, I would also recommend this presentation on testing SOA Suite environments.


Damien said...

Have you tried the Oracle Workshop for eclipse (OEPE)? while not as good as JDeveloper it does allow for source code control etc


vernetto said...

hello Damien,
yes I have used extensively the Eclipse Plugin for OSB, it sort-of-works for Message Flow editing and XQuery prototyping,
but XQueries cannot be Unit tested easily... and it's definitely a no-go for EJB Business Services....
its debugging tool is quite good, but it works intermittently...

Also automatic deployment to OSB has some problems...

On the whole I think the product needs some bug fixing.... anyway it's pretty decent.

As for Eclipse, I am not a big fan on the Elephant... its memory usage alone is appalling, 700 MB easily...