Friday, November 14, 2008

OSB standards and guide lines

After implementing some OSB projects I want to share some guidelines that I'm using on this projects. Like BPEL you need to have define some standard naming conventions, to make your application maintainable, shareable and explainable to customers.

The following naming convention should be used:

Proxy services
Every proxy service should start with the PS_ prefix, followed by the functional name and ends with a verion and release number.

PS_<functional-name>_v1r0

End points
The end point of the proxy service should be changed to

/<category>/PS_<functional-name>_v1r0

Business services
Every proxy service should start with the BS_ prefix, followed by the functional name and ends with a verion and release number.

BS_<functional-name>_v1r0

Categories
Discover all the services that need to be implement for OSB. Catelog the services in a category. This category is used as OSB project to collect the proxy services and business services. There is one special category; common..

The structure of a category is as follows:
<category>/BusinessService
<category>/ProxyService
<category>/Schema
<category>/Transformation
<category>/Wsdl
Common objects
Objects as such as XSD files, xqueries, xslt etc, that are used in more then one proxy / business services are stored in the common category.

Actions
In OSB actions are executed in the message flow of the proxy service. Each action has a default name. Rename each action into the following format.
<action>_<function_name>

For example
Assign_saveBody
Replace_tranform2OrderMessage

Tuesday, November 11, 2008

Handle multiple operations in OSB

In the old days of Oracle ESB, we could defined WSDL services with multiple operations. Is the OSB you do the same. Nothing new so far. But when you create a proxy service based on the multiple-operation WSDL, you will get an error "OSB Kernel:398034".

OSB Kernel:398034]Two operations expect the same incoming message, you must use a selector different than message body.

This error cna be fixed, by selecting a different "Operation Selection Configuration". This can be done by selecting your proxy-service and select the "Operation" tab sheet in Eclipse Workshop. Here you determine how algorithm of the operations are handled.. In our case select 'SOAPAction Header'.


Tuesday, November 04, 2008

Who is the best OSB or ESB?

A lot of rumors pass along today. After the take over of BEA what is the strategy of Oracle regarding the products. Within our Oracle SOA world the issue raised what will happen with Oracle ESB compared with the Oracle Service Bus (also known as Aqualogic Service Bus).

Both Oracle products, ESB and OSB are strategic for Oracle. The ESB will still be availalble in the next going releases; 10.1.3.5 and release 11g. In release 11g the ESB will be acting as the mediator in the SCA environment and fade away in the next releases of 11g as an ESB seperate component. Activities as routing will still be availble within the SCA of SOA 11g. The Oracle Service Bus is positioned as a standalone service bus within the SOA Suite and will more and more integrated in the SOA Suite release 11g.

So, are there any differences between ESB and OSB. IMHO there are off course, but depending on your business requirements and technical background you would chose OSB or ESB. Here is my view on the two products.
CharacteristicOESBOSBRemarks
Routing+++OSB:+Split join
Transformation: xslt+++OSB: only xslt runtimes upport
Transformation:xquery +ESB:Does not have XQuery
DMV/Xref+noteOSB will support DMV/Xref in FMW11
Technology adapters design time+++OSB: full support techology adapters as of 10.1.3.5
JCA Framework++OSB: JCA support as of10gR3
HA+Clustering++ +OESB: AS Clusters EoL 2012
Message Validation+ ++OSB: Stringer Schema/wdsl validation
Error Handling++ +OSB: Much richer error handling
BPEL Integration++OSB: BPEL suport in OSB 3.1
XA Support++ +Pipelines transactional / QoS on Proxies
Resumittance failed messages+ OSB: is stateless
Instance Monitoring+++OSB: Stateless: No concept of an “instance”
“SLA” Dashboard +OSB: # succesfull/failed message
Performance Tuning++ +OSB:Throttling
Track Record++OSB exists longer, more implementations


New features of Oracle Service Bus can be found here.