Monday, September 29, 2008

how to deploy BPEL & ESB processes in High availability environment using JDeveloper

I believe most of the BPEL developers will know how to deploy a BPEL process to the server. As part of configuring Jdeveloper we will go to Connections tab, create Application Server connections and using this App server setting you will configure the integration Server Connection.Today we will see how to configure your Jdev connections for deploying into a HA environment.

Let me just give a brief intro of a high availability environment.

Imagine you have a clustered environment with 4 nodes. In this environment I have 2 HTTP Server and 2 Application Server, each installed on different nodes. These instances are configured to work in a high availability setup.

I will be referring to HTTP Server instances as WEBHOST1 and WEBHOST2 respectively and Application Server instances as APPHOST1 and APPHOST2 respectively.

So if you want to deploy a BPEL or ESB process what are the deployment options you are having. One is to deploy to each of these Application servers separately. But it is not a good practice because there are more chances of disparity in the archive that got deployed in both instances of server.

Next option which is considered the best way to follow is to create a group using the OC4J instances from both the servers APPHOST1 and APPHOST2 and then deploy applications (EAR, WAR) to the group.

For my example I will create a group as GEO_GROUP with required oc4j instances.

While creating Application Server connection in JDEV specify one of the APPHosts(APPHOST1 or APPHOST2) as Host Name. Specify the Connect To option as GROUP instead of single instance. OPMN Port as specified in the opmn.xml. Your Application Server Connection is ready. Just test it make sure the opmn port is correct.

For deploying BPEL and ESB processes. You need to create one more Application Server Connection.

This time you need to specify any one of the HTTP_SERVER address(WEBHOST1 or WEBHOST2) as Host name. Connect To option and OC4Jcomponent/Group Name are not relevant to the BPEL/ESB deployment. So just fill in dummy values. No need to test the connection because it will not work .Press OK to complete creation of the Application Server Connection.

While creating Integration Server Connection, select HTTP SERVER connection configured above as App Server Connection from the drop down menu. Specify the HTTP port of the HTTP_SERVER. Then test the connection. You should be getting message same as below.

Application Server: Failed

BPEL Process Manager Server: OK

ESB Server: OK

Now you are ready to go .Start deploying EAR & WAR files using APPHOST Application Server connection and BPEL and ESB processes using WEBHOST integration Server connection.

No comments: