Sunday, June 14, 2009

BPEL-ESB design patterns

After a 2 month break I am back blogging. Its always nice to be in this space sharing ideas /experiences.

In real time scenarios mostly all the processes designed using BPEL and ESB will be asynchronous processes. Synchronous process comes with the overhead of tracking the request state as the process will wait till the response is returned from the boundary systems.

I am listing down the difference in using the async design patterns available.

Asynchronous BPEL Process Calling Asynchronous Oracle ESB Routing

In this case if an Oracle ESB endpoint fails, the Oracle ESB instance is faulted and the instance can be submitted again for the failed endpoint from the ESB console. The BPEL process will not get to know the error at ESB and will complete successfully.

Asynchronous BPEL Process Calling Synchronous Oracle ESB Routing

In this case if an Oracle ESB endpoint fails, the Oracle ESB instance is faulted and the error is transferred back to the calling BPEL process which will fail the BPEL process. So the central control of workflow will be maintained.

So don’t be surprised if you see 2 different processes behaving differently even the process looks same from outside. The difference will be related to the routing rule defined in ESB .

Have a nice weekend :::::::::::::::::::::::J

1 comment:

Raju Pothuri said...

Good Blog man . Now I know abt esb patterns ...