ESB Endpoint Virtulizations
Posted by Shibu on March 26, 2008
If you are using Oracle BPEL and ESB you might be wondering when and where ESB should be using? or What is the value addition of using ESB over BPEL.
Well, one of the many advantages is endpoint virtualization. Suppose that you have a BPEL process and it invokes a database procedure from a legacy application using database adapter. Most likely you will have an assign process before the invoke process to map input variables to the variables used by the partner link that invoke legacy system (as shown in the figure)
In this case BPEL Process is bound to the endpoint that communicates with the legacy system. Using ESB we can avoid this dependency make BPEL transparent to the endpoint. In this way BPEL can concentrate on Business Process and not worry about protocol transformation.
Most of artifacts in the BPEL can be reused. So using the WSDL file used for the partner link in BPEL create a ESB Service. You should have a perfect clone of the partner link as the new ESB System
You should have image as shown on the left side. Now that you have created the ESB process you have to create routing service to expose these two operations Update/Delete to outside world. Routing service will talk to the outside world using a partner link like in BPEL. I have attached diagram for routing service. (Please note that I made a screen print of the diagram and modified using <a href=http://www.gimp.org”>Gimp</a> for clarity)
Now BPEL will be interacting with infrastructure end point as ESB stays within the infrastructure. Thus Actual endpoint is virtualized behind the infrastructure endpoint by ESB which is hot pluggable.
