A look at Oracle Service Bus 10g Release 3

Last Friday (24th October) saw the release of Oracle Service Bus 10g Release 3 (download here and read the documentation here) on the Oracle Technical Network (OTN) - the first release of the product formerly known as AquaLogic Service Bus, since the Oracle acquisition of BEA. oracle_service_bus_install_screen

So what's new, apart from the version numbering :)

Oracle branding

The product and documentation have now been re-branded to reflect the new name, Oracle Service Bus. NB. There are a few parts where the product's BEA heritage sneaks through, such as choosing a BEA home directory, etc. but you can expect these to disappear in future releases.

Re-based on Oracle WebLogic Server 10gR3

Oracle Service Bus is still built on WebLogic Server but the version incorporated has moved up to WebLogic Server 10gR3 - the first version of WebLogic Server since the BEA merger. This will be the version on which we aim to standardise all the relevant ex-BEA and Oracle products.

There are a whole raft of new features in this version of WebLogic Server but one which warrants specific mention here is the .NET JMS client which allows .NET applications to natively invoke JMS proxy services hosted on the Oracle Service Bus - something a number of customers had been asking for.

Action metrics

Earlier versions of Oracle Service Bus have allowed you to gather service and pipeline metrics using Oracle Service Bus, i.e. the number of messages, average response time etc. but you can now drill down to the Action level as well. This is incredibly useful for identifying performance hot-spots in your proxy message flow (actions taking a long time to complete) - prime examples are service callouts, Java callouts and transformations. Visit the Monitoring Oracle Service Bus at Runtime section of the documentation for more information.

Message tracing

When you use the Test Console to test proxy and business services hosted on Oracle Service Bus you can see the message being traced through the message flow in the lower section. This is useful for development but not typically something that is used in production. However, operational people may want/need to enable message level tracing temporarily (at a particular level of detail) in order to help diagnose a problem. They can now do this using the new message tracing capabilities exposed in the Oracle Service Bus console. Find out more here.

Visual Debuggingdebug_perspective

If, during development, you have often wanted to know what the values of the context variables are at a specific point in the proxy service message flow, then visual debugging is the feature you've been waiting for.  Simply right click on any action in the message flow, and choose Toggle Breakpoint.  Start the server in Debug mode and then right click on your proxy service and choose Debug As to launch the Test Console. Now when you execute your test, the Debug perspective will be launched showing you where you are in the message flow and the values of the variables at this point. Find out more here.

XOP/MTOM support

Message Transmission Optimisation Mechanism (MTOM) and XML-Binary Optimised Packaging (XOP) help boost the performance of web services transferring binary data by enabling the data to be passed through in a compact format (this article explains the 2 standards in a bit more detail). By simply ticking a check box you can enable your proxy service to receive messages in XOP/MTOM format (find out more here), or enable messages sent from Oracle Service Bus to a business service to be in this format (find out more here).

Dynamic transformations

In earlier versions of Oracle Service Bus when you performed an XQuery transformation you had to specify the name of the transformation file at runtime. This limitation was fine for most use cases however numerous customers want to be able to choose which transformation to perform on a message (typically the payload) based on the value of a field (typically in the header). This new feature allows you to dynamically specify the name of the XQuery transformation to be performed based on a value evaluated at runtime.

Oracle BPEL Process Manager transport

In the past, if you had developed business processes in BPEL Process Manager and were looking to expose them via Oracle Service Bus (a good practice as it promotes loose coupling between the client and the business process itself) then you would have had to expose the business process as a web service or JMS service and then connect to them from Oracle Service bus using the standard SOAP/HTTP transport or JMS transport. This approach is fine but adds an extra, unnecessary, performance overhead. With the new version, there is a new native BPEL Process Manager transport enabling you to connect directly from Oracle Service Bus to BPEL Process Manager through a high performance connection.

Improved REST support

Representational State Transfer (better known as REST) is an architectural style which makes uses a combination of HTTP URLs and HTTP verbs to provide a simple, lightweight, service interface. In Oracle Service Bus we now provide full support for exposing your proxy services as REST services and communicating with REST business services. Within a proxy service message flow you can now get easy access to a number of key pieces of information via the inbound and outbound context variables: the HTTP verb (transport/request/http:http-method); the HTTP query string (transport/request/http:query-string) and the relative URI (transport/request/http:relative-URI). When invoking a business service, you can now specify any one of the standard HTTP verbs: POST, PUT, HEAD, GET, DELETE or even specify your own custom verbs if you so wish. Find out more in the HTTP transport section.

IDE improvements

As well as the Oracle re-branding, one of the new improvements in the IDE is the addition of a Resource Summary which gives you a summary of the resources in your Oracle Service Bus configuration in the same way as the Resources view does through the Oracle Service Bus console. This is a particularly useful view if you have multiple projects deployed on a single Oracle Service Bus instance.

Split-Join Enhancements

In the last version of Oracle Service Bus we introduced the Split-Join capability to allow you to break an incoming message up into a number of parts and perform mediation logic on them in parallel. Within these parallel flows we have now added the ability to perform Java callouts for custom validation, transformation, logging, etc. We have also added the ability to log data at a specified severity to the server log file and the ability to invoke one Split-Join from another Split-Join using a high performance mechanism. Read more here.

Interoperability with Oracle Web Services Manager

Oracle Service Bus allows you to apply security policies to service hosted on the bus, whereas Oracle Web Services Manager allows you to apply security policies to services wherever they are hosted. This release sees support for Oracle Web Services Manager and Oracle Service Bus working in conjunction. The common use cases see Oracle Web Services Manager acting as a gateway for either perimeter security, or identity propagation and acting as a client performing message protection or authentication. These use cases are described in the Securing Oracle Service Bus with Oracle Web Services Manager chapter of the Security topic.

Streaming attachments

In earlier versions we had support for streaming the payload of a message, but now we have added support for streaming attachments to disk. This allows you to process messages with large attachments efficiently. Find out more here.

JCA Adapter Framework

Addition of the JCA adapter framework is an important, but currently invisible to the user, addition to the product. This will allow us to support the same JCA adapters as in BPEL Process Manager. Over the next few months we are looking to certify a few key ones of these against Oracle Service Bus:

- Database
- Oracle AQ
- Oracle E-Business Suite
- Siebel
- JD Edwards
- PeopleSoft

And eventually we will move towards supporting the same set as in BPEL Process Manager - incredibly useful additions to the product.

Congratulations to the development team and project management team on getting this completed in less than 4 month since the Oracle-BEA acquisition. Expect to see some more detailed posts on some of these aspects in the coming months.


Chris - very nice breakdown. Thanks for getting this out there.

Posted by Chuck Speaks on October 29, 2008 at 01:02 PM GMT #

Thanks, nicely summarised!

Posted by Angelo Santagata on October 29, 2008 at 05:00 PM GMT #

Thanks for the comments.

Posted by Chris Tomkins on October 30, 2008 at 03:42 AM GMT #

Hi Chris, Thanks for this great information. My intention is to try running BPEL and OSB processes on the same WebLogic Server 10gR3 container. Is there any SOA suite bundle which includes this new OSB and BPEL process manger? Thanks, Praveen

Posted by Praveen Ramachandran on October 30, 2008 at 02:33 PM GMT #

Dynamic transformations Is there some documentation where this is feature explained thanks Edwin

Posted by Edwin Biemond on October 30, 2008 at 03:09 PM GMT #

Hi Praveen, Thanks for the comment. Currently you are unable to run BPEL Process Manager and Oracle Service Bus in the same WebLogic Server 10gR3 container. The latest version of Oracle Service Bus 10gR3 (as discussed in this post) only runs on WebLogic Server 10gR3, whereas the rest of SOA Suite is hot pluggable and so can be run on a variety of application servers, including WebLogic Server. The latest version of WebLogic on which SOA Suite is currently certified is 9.2 but we are working hard on certifying it on WebLogic Server 10gR3 with an expected completion date of early next calendar year. I hope that helps. Chris

Posted by Chris Tomkins on November 04, 2008 at 05:47 AM GMT #

Hi Edwin, There seems to be very little in the documentation so far on dynamic transformations. Hopefully my most recent blog post helps out a bit. Thanks, Chris

Posted by Chris Tomkins on November 19, 2008 at 02:42 AM GMT #

Thanks for this blog. We are looking to upgrade and this is an excellent high level review of the newer features we would like to take advantage of. I was very interested in the integration with Oracel Web Services Manager. Do you know if there is anything in the roadmap to create a message flow action that would simplify integration with an STS (for identity mediation and so forth)? Thanks for the blog! jay

Posted by Jay Blanton on December 16, 2008 at 09:51 AM GMT #

Hi Jay, Thanks for the comment. Oracle Service Bus 10gR3 already has some improvements to make it work better with Oracle Web Services Manager - many of these are described here. As we move forward, expect to see the integration between the two get even better. Thanks, Chris

Posted by Chris Tomkins on January 12, 2009 at 07:06 AM GMT #

Hi Chris, Wonderful, wonderfully scripted summary of the new features. I really loved reading it. But a quick question, do you think I can use JDeveloper ESB Designer for developing ESB applications for Oracle Service Bus? If so, which version of JDeveloper I should be looking at. Or should I be using Weblogic studio for that. Thanks in advance. Rgds, Sudheer

Posted by Sudheer Ameer Kannu on March 03, 2009 at 05:08 AM GMT #

Hi Sudheer, If you are using Oracle Service Bus you currently have to use the Weblogic Workshop tooling (which comes with Oracle Service Bus) to develop "ESB" applications. If you want to develop "ESB" applications for Oracle ESB then you need to use the JDeveloper tooling. In the future we will also have JDeveloper tooling for Oracle Service Bus - which is the strategic ESB product. Thanks, Chris

Posted by Chris Tomkins on March 03, 2009 at 05:23 AM GMT #

thanks for this summary. We are using ALSB 3.0 already. We are looking many more enhancements in OSB but more importantly OSB still doesn't support EJB3. All documents says it support native rmi calls for EJB2.1. Any plans to support very soon?

Posted by John on March 15, 2009 at 10:21 AM GMT #

Hi John, EJB 3 is definitely high up on our list of features to support, so expect to see it added as a feature later this year. Thanks, Chris

Posted by Chris Tomkins on April 02, 2009 at 07:53 AM BST #

Thanks Chris for informative Blog Could you please update over JCA adapter + OSB? Looking for DB adapter. Want to insert into oracle DB using OSB flows. Any documentation will be helpful.

Posted by Sunil on May 20, 2009 at 12:53 AM BST #

Hi Chris, I went through the entire thing.It is quite nice.I want to know that how could I configure service key provider as it needs PKI to configure.I wanted to configure the PKI.But I don't know what would be the parameter's value ( Protocol,Remote Host, Remote Port,Path,Method).I gave path as jms input queue.after that i am getting this error "[Security:090807]PKI Keystore at location D:\temp\credit_card_keystore.jks of the type JKS and of type JKS and could not be loaded with the password provided. An error occurred while creating a security credential. Please check the log for more details." If you have any suggestion.Please let me know.

Posted by Manab Biswas on June 12, 2009 at 02:47 AM BST #

Is there any way B2B integrations based on X12 and/or AS2 can be implemented using OSB? Thanks, Vivek

Posted by guest on August 14, 2009 at 01:30 PM BST #

Chris, Thanks for blogging, this is great value add for most of the SOA developers. Keep rocking!!. Cheers, Maddy

Posted by Maddy on July 28, 2010 at 02:34 AM BST #

Post a Comment:
  • HTML Syntax: NOT allowed

UK Pre-Sales consultant specialising in business integration.


« July 2016