Clustering SOA Suite for HA – BPEL, ESB, OWSM ..

Key Points in configuring High Availability or Clustering SOA Suite Components (BPEL, ESB, OWSM, BAM)

— If you wish to configure SOA Suite for High Availability (Active-Active) deployment, don’t  use Oracle SOA Suite Advanced Install Option (J2EE, Web Server and SOA Suite). You have to install it in two phases

a) First install J2EE and Web Server from SOA Suite (10.1.3) CD (Select Advanced Install and then select J2EE Server and Web Server 662 MB)

b) Then install SOA Suite components from component CD-ROM (BPEL, ESB, OWSM..) on OC4J installed on above component. To download individual product (BPEL, ESB..) software click here

— You configure load balancer in front of Web Server installed in HA (High Availability) Active-Active configuration, load balancer will forward request to Web Server which in turn will forward requests to applications (BPELConsole, esb, ccore..) deployed on OC4J

— While installing ESB (Enterprise Service Bus) from ESB CD-ROM you have to install ESB Repository Server and ESB Runtime Server in different ORACLE_HOME (These two servers of ESB in HA deployment can’t share oracle_home as only one ESB Repository Server will be up at any given time)

— While installing ESB in HA you have to repeat installation twice, once for ESB Repository Server and another time for ESB Runtime Server component of ESB

— You can cluster OC4J’s but this is optional configuration

 

Changes for BPELConsole Application
— Set soapServerUrl and soapCallbackURL properties of BPEL to load balancer URL using BPEL Console
— Change JNDI lookups to use list of JNDI Providers (returned by opmn)
— All the BPEL servers in cluster should have same domain
— If you are using RAC database as dehydration store then change data-sources.xml to include RAC details 
— If BPEL Servers part of cluster are in different subnet then modify jgroups-protocol.xml

Changes for ESB
— ESB Repository Server and ESB Runtime Server in HA deployment should be installed in different ORACLE_HOME
— ESB Cluster name for ESB Runtime server should be changed after deployment  (To ensure ESB cluster include only ESB Runtime Server and not ESB Repository Server)
— ESB Runtime Server should use one name for ESB Cluster where as for ESB Repository Server cluster should use different cluster name

Changes for BAM (Windows only)
— BAM consists of following components Active Data Cache (need hardware cluster), Enterprise Link, Plan Monitor, Web Applications, Report Cache (need hardware cluster), Event Engine (need hardware cluster)    


Business Rules
There is no server or service running as Business Rule but it is an libabry to which an application can use.

 

Web Services Manager (OWSM)
— Install OWSM on cluster nodes configured by load balancer in front. Various components of OWSM are Gateway, Policy Manager, Monitor and Web Services Manager Control

Related
Install SOA Suite
Integrate SSO with SOA Suite


Step by Step deployment of SOA Suite (BPEL, ESB, OWSM) in cluster / HA (High Availability) coming soon …

Share This Post with Your Friends over Social Media!

About the Author Atul Kumar

Oracle ACE, Author, Speaker and Founder of K21 Technologies & K21 Academy : Oracle Gold Partner specialising in Design, Implement, and Trainings.

follow me on:

Leave a Comment:

36 comments
eespenh says January 10, 2008

“If you wish to configure SOA Suite for High Availability (Active-Active) deployment, don’t use Oracle SOA Suite Advanced Install Option (J2EE, Web Server and SOA Suite). You have to install it in two phases”

Why is this necessary? I’m just starting a SOA install to have two nodes for BPEL and ESB (and possibly OWSM later) in an active-active configuration, and I got the impression that using the full SOA install option was supported/documented for putting the two nodes in a (new) cluster.

But if there are problems with using the full SOA install for this, I’d be very thankful if you could comment on why this is.

Regards,
Espen

Reply
Atul Kumar says January 10, 2008

Espen,

ESB Repository Server and ESB Runtime Server in HA deployment should be installed in different ORACLE_HOME because ESB repository server works only in Active-Passive mode only.

If you select advance install and select SOA you don’t get option to install ESB in two oracle_home

Reply
Shiva says January 18, 2008

Hi,
Could you please let me know if my SOA cluster Installation is correct or not
1) Installed SOA with J2ee web Services from advanced install option, CLuster topology using multicast IP.
2) Cloned to Node 2
I am not sure if these are clustered or not? How can I verify?

I am using BPEL,ESB web services, if I deploy a BPEL process on node 1 should it deploy it to node 2 as well in Cluster-Wide effect.
Could you please answer my questions.
Thanks,
Shiva

Reply
Atul says January 19, 2008

Shiva,
As mentioned above ESB repository Server & Runtime server should be in different OH (for HA)

Reply
Shiva says January 19, 2008

Hi Atul,
I am doing a clean installation of BPEL,ESB and OWSM services (Phase -2 of your steps) on two nodes with OracleAppServer installed (Phase -1 of your steps) in cluster topology (MCAST IP and PORT).
My Question is if I start the installation of BPEL, ESB or OWSM on one node will it push BPEL/ESB/OWSM services to other node automatically as in RAC DB installation????

I am doing the SOA and Service registry cluster for first time.
Could you please help me undertand of what OAS cluster and SOA cluster means.
Thank you,
Shiva

Reply
Atul says January 20, 2008

if I start the installation of BPEL, ESB or OWSM on one node will it push BPEL/ESB/OWSM services to other node automatically as in RAC DB installation????

No, You have to repeat installation on second machine.

OAS is Oracle Application Server
SOA Service Oriented Architecture

SOA uses OAS as application server or you can say SOA is part of OAS 10.1.3

Reply
eespenh says January 20, 2008

I’m doing this cluster installation now (without OWSM, though), using the OAS 10.1.3 High Availability Guide:
http://download.oracle.com/docs/cd/B31017_01/core.1013/b28941/toc.htm
chapter 5 (SOA) which points to the
the Enterprise Deployment Guide (see chapter 3)
http://download.oracle.com/docs/cd/B31017_01/core.1013/b28939/toc.htm

Also the Ent. Depl. Guide specifies that the Design-time/Repository ESB should be in a separate Oracle home, but it does not say why.

Then I recently saw that the 10.1.3.3 version of the documentation (which is newer, and probably should be used instead)

http://download.oracle.com/docs/cd/E10291_01/core.1013/e10294/toc.htm

The 10.1.3.3 Ent. Depl. Guide is much better than the 10.1.3.1 guide; also it does not require the ESB DT to be installed in a separate home, just in a separate OC4J container, which to me makes more sense. It also has a much better step-by-step list a the start of chapter 3 to follow (just leave out those steps that are not relevant to you; I for example don’t need the OWSM steps, so I skip those related to this).

But beware one probable error; in all of the installs, it is only performed on the first of the cluster nodes, and the documentation consequently says that “now the software is installed on both nodes”, when it is only present on the first node. So I suppose this is an error, and have installed on the second node accordingly. (I conferred with an Oracle Norway employee on this, he also believes this to be in error.)

I’m sorry if I’m confusing people here, I just thought you should know this 🙂
So study the documentation.

Reply
Shiva says January 20, 2008

Hi Atul,
Thankyou very much for the suggestions.
Now I have installed BPEL, ESB and OWSM individually on both the machines which have OAS in cluster topology.

If I deploy and compile BPEL, ESB processes and applications on node 1 will OAS cluster do the same on node 2 automatically or have to deploy and compile it individually?

Thanks,
/Shiva

Reply
Shiva says January 28, 2008

Hi Atul,
Can you detail steps on how to install ESB Repository in Different Oracle Home.??
Could you please help in detailing the procedure or steps.
Thanks,
Shiva

Reply
Atul says January 28, 2008

Install ESB from ESB standalone software (not from complete SOA Suite)

Then during installation first select Repository server in one home.

Start installation again and during destination screen select different location and this time select Runtime Server

Reply
Raju says July 30, 2008

hi,
we’re deploying SOA Suite using enterprise deployment guide 10.1.3.3 in our company. The web-server is in the front-end DMZ and app-server is in the backend DMZ. There is load-balancer configuration even though our environment doesn’t have HA.

From JDeveloper, the application-server & integration-server connection entry tests are failing with errors.. Oracle support didn’t help us much.. below are more details about the issue:

The AJP & OPMN ports are opened between web-server & app-server. Web-server’s opmn
request port is 6006 and app-server’s opmn request port is
6207
From JDeveloper, how should we define the application server connection & integration server connection entries?
We have defined the app-server connection with F5 VIP as the
host & 6207 as the opmn port#, and the connection test is failing.
For integration-server connection, we used the above app-server connection, and 7777 as the http port. and the test fails for
application server connection, but BPEL & ESB test results are successful.
But we are able to successfully deploy the bpel & esb services
from Jdeveloper using the above integration-server connection entry.
Could you tell us the proper values we should use (including F5 setup & firewall ports which need to be opened) so that the
connection tests in JDeveloper work without errors?

thank you

Reply
Atul says July 31, 2008

To be frank I am not very familiar with Jdeveloper but It depends on which service/listener (opmn, ajp, http) you need to access from client and how your load balancer is configured

Load Balancer:which_port to webserver:which_port
Load balancer:which_port to application_server:which_port

As general rule client first connect to load balancre which forward request to web server and web server speak to application server (this is for http/https kind of request)

Since you wish to access application server (not webserver) from jdeveloper then why to go via load balancer, why not go directly to apps server ?

If in case you wish to go via load balancer (because of security) then create folllowing rule in F5

Load Balancer:6207 to appsserver:6207
Load Balancer:6006 to webserver:6006

Reply
KMG says August 14, 2008

Dear Atul,
We’ve a requirement of SOA suite active/passive HA for Two-node windows.
How we can configure this, i couldnt find any document for active/passive configuration for SOA with ESB.
Please advice.

Reply
Atul says August 14, 2008

SOA Consist of BPEL Process Manager, ESB and many other components. All these are deployed on some J2EE Application Server (Oracle, BEA …) and using Database (Oracle, sql …) as repository.

There is no step by step documented way to install complete oracle SOA suite (You have to build Active-Passive around individual components)

Active- Passive for BPEL Process Manager
http://download.oracle.com/docs/
cd/B31017_01/core.1013/b28941/soa.htm#BEIFEICB

Active-Passive for 10g AS 10.1.3.1
http://download.oracle.com/docs/cd/B31017_01/core.1013/b28941/ap.htm

No documented way Method to install ESB in active Passive mode

For SOA in HA (High Availability)
http://download-west.oracle.com/docs/cd/B31017_01/core.1013/b28939/j2ee.htm

Reply
appsdbas says September 17, 2008

We are doing active-active HA for SOA Suite. Do we need any type to clustering file system to do this eg Veritas clustering system. Please advice

Reply
Shiva says September 17, 2008

hi,
You donot need any file system clustering for HA of SOA Suite.
/Shiva

Reply
Raj says June 8, 2009

Hi Atul,

Can I get any detailed document for installing active-active clustering? we are planning to install the SOA cluster on 2 nodes.

Thanks/Raj

Reply
Atul Kumar says June 8, 2009

Check this

http://download.oracle.com/docs/cd/B31017_01/core.1013/b28939/overview.htm

Ignore below points
1. Oracle Internet Directory Instances in the Data Tier
2. Installing and Configuring Oracle Access Manager
3. Installing and Configuring Oracle Single Sign-On and Oracle Delegated Administration Services

Reply
sr says January 7, 2010

Atul,
Nice Work.
Could you please upload the Step by Step deployment of SOA Suite (BPEL, ESB, OWSM) in cluster / HA (High Availability)?

Thanks,
SR

Reply
sr says January 7, 2010

Thanks, Atul.
Appreciate your reply.
Do you have the step by step doc you were referring on top(Step by Step deployment of SOA Suite (BPEL, ESB, OWSM) in cluster / HA (High Availability) coming soon …)?If, yes could you publish the article on the website.

Thanks Again,
SR

Reply
Ken says January 17, 2010

Hi.

I am creating a HA environment with 10.1.3.1
Have done this in two steps, WS and AS then BPEL.

Now i need to set multicast in BPEL, should I use same as for OAS cluster or a new one?

Is this the same adress in both clustername and mcast_* values?

Thanks

Reply
sam says June 22, 2010

Hi

I installed SOA Suite 10.1.3.5.1 on weblogic 10.3.1 for HA on two servers. Now i am seeing some Noclassdeffound errors when starting all managed servers. Node managers are configured to use JRocket.In the weblogic console, I see all managed servers with ‘ADMIN’ status! In esb managed server, i see noclassdef error for collaxa classes! Can you please help me here?

Thank You

Reply
Atul Kumar says June 23, 2010

@Sam, What method you are using to start managed server ? startManagedServer.sh , console , jar file or something else ?

Try with startManagedServer.sh ? Does this work without cluster ?

If Yes then which document you followed to configure cluster ?

Reply
Atul Kumar says June 23, 2010

@ Ken,
I am not clear about your requirement. Please elaborate What is WS & AS (Is this WebServer and Application Server ?)

Which document you are using to configure this ?

Reply
Sam says June 23, 2010

Thank you for the response Atul. I am following the enterprise deployment guide (for
Oracle SOA Suite 10.1.3.4 on
Oracle WebLogic Server 9.2). But installing 10.1.3.5.1 on weblogic 10.3.1. Now the app deployments are failing to start in the cluster.I was able to start the managed servers from weblogic console. I am having following errors in each server as given below…
ESB and SOA managed servers: <> <[STUCK] ExecuteThread: ‘0’ for queue: ‘weblogic.kernel.Default (self-tuning)’ has been busy for “701” seconds working on the request “weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl@157f4f5”, which is more than the configured time (StuckThreadMaxTime) of “600” seconds. Stack trace: (I set the max to 14400, but, still the same issue)

Infact all the adapters are failing to start and give error that they were not deployed on admin server! Even after changing the target to Admin server it is still failing!

Reply
robert says January 2, 2011

hi, i need to create a domain with 5 clusters, one cluster for SOA(soa, osb, odi), APP (simple wls cluster for applications java), BAM Cluster, BPM Cluster and OSW Cluster, when i start a config wizard choose the soa, osb, bpm, bam, osw, then i create a domain topology (5 cluster, one admin, 4 machines) but i don´t know what application and libraries are target on each cluster(Target Deployments to Clusters or Servers)… can you help me please….

Reply
Atul Kumar says January 3, 2011

@ Robert,
Follow these steps to configure cluster in 11g components

1. Install WebLogic
2. Install SOA, OSB, ODI & BPM
3. Start config.sh and select create domain and then select enterprise manager only and create Admin Server
4. Start config.sh again and select extend domain and select SOA, OSB, ODI. On optional screen screen select Managed Servers, clusters, and Machines and create cluster.
5. Repeat step 4 for BAM cluster (select BAM components)
6. Repeat step 4 select BPM component and create cluster for BPM

Also check this post
http://onlineappsdba.com/index.php/2009/07/08/oracle-fusion-middleware-soa-suite-11g-r1-installation/

also check these enterprise deployment guides for SOA http://download.oracle.com/docs/cd/E14571_01/core.1111/e12036/extend_soa.htm#BGBBIFCI

for BAM
http://download.oracle.com/docs/cd/E14571_01/core.1111/e12036/extend_bam.htm

Reply
Robert says January 10, 2011

Hi, Atul, thanks for response my post, i have one problem to separate BPMCluster from SOACluster.. when i configured all technologies (SOA, BPM, OSB, ODI, BAM, WSM) the admin server throws and Unmarshall Exception… if i configure all technologies except BPM all is good but when i add the BPM in your BPMCluster, without SOACluster throws the same exception… any idea how to separete bpm from soa?? its posible?

Reply
ankurarora11 says July 15, 2011

Hi Atul,

I’m a big fan of you…you are a source of inspiration to me….

Recently i installed clustered BPEL and ESB but i’m facing some issue in ESB….below is the error which i get when i click on instances in ESB Control and DVM….

n unhandled exception has been thrown in the ESB system. The exception reported is: “java.lang.NullPointerException at oracle.tip.esb.console.XMLInstanceManagerImpl.getInstances(XMLInstanceManagerImpl.java:109) at oracle.tip.esb.configuration.servlet.command.GetInstancesCommand.execute(GetInstancesCommand.java:90) at oracle.tip.esb.configuration.servlet.CommandServlet.doJob(CommandServlet.java:109) at oracle.tip.esb.configuration.servlet.CommandServlet.doPost(CommandServlet.java:76) at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64) at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:400) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAsPrivileged(Subject.java:517) at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:414) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:623) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370) at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453) at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313) at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199) at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303) at java.lang.Thread.run(Thread.java:595) “.

DVM One
Unable to connect to DVM Repository.

Please verify if the DVM Repository is accessible.

Please help…i’m stuck very badly…

Thanks in advance….

Regards,
Ankur

Reply
Atul Kumar says July 15, 2011

@ ankurarora11

What is version of BPEL and ESB ?

Reply
ankurarora11 says July 16, 2011

Thank you Atul for the reply… BPEL and ESB version is 10.1.3.4

Reply
ankurarora11 says July 16, 2011

and we have applied the MLR#8 on it…

Reply
Jawad says December 5, 2011

Dear Atul,

Greetings.

We are planning to cluster our SOA. We have couple of questions to decide whether to go for it or not based on our licenses.

For clustering:

1. Do we need the Shared Device for installing the Middleware.
2. Do we need the OS Clustering in place (Else how does the failover works)
3. Do we need to cluster even the DB to share across all the nodes of cluster.

Your response is appreciated.

Thanks and Regards,
Jawad

Reply
Atul Kumar says December 5, 2011

@ Jawad,

Q1. Do we need the Shared Device for installing the Middleware.
A1: Yes but shared disk is required only for TLOGS and JMS . Software can be installed locally. I would entire domain configuration on shared disk.

Q2. Do we need the OS Clustering in place (Else how does the failover works)

A2: No, OS clustering is not required. For failover there are two ways manual or automatics. For automatic there is node manager base or DB based migration . More here on migration http://docs.oracle.com/cd/E21764_01/web.1111/e13709/migration.htm#BABFEFEG

Q3. Do we need to cluster even the DB to share across all the nodes of cluster.
A3: If you want HA for database then you can use RAC but from SOA Middle Tier HA point of view database clustering is not required (however you then introduce single point of failure at database level)

Reply
SOA Admin says December 22, 2014

We have Oracle SOA Suite (production) being used for integration between different applications such as Oracle eBusiness Suite, Oracle Siebel and more. In our current requirements, Oracle Siebel needs to be integrated with external web services provided by companies outside of our network such as Insurance and Banking.

My question is, how do allow communication of Oracle SOA Server with external systems ? as we have firewall at external and internal level. Do we need to host the server on DMZ ? Or do we need to allow firewall ports for such specific access ?

Reply
Add Your Reply