Wednesday, April 01, 2009

SOA Cluster Installation

Update:

  1. Instead of using multicasting for BPEL Jgroups; use TCP, see my article.
  2. Follow Metalinke note 414427.1; add the java option "-Djava.net.preferIPv4Stack=true" in all start/stop option in opmn.xml.
  3. Set -XX:AppendRatio=3 in the Java startup parameters

This article is a summary of the document you can download that describs in detail how to install and configure an Oracle SOA Suite installation in a clustered environment.

The cluster installation is based on the following components.
  • Load balancer
  • Server node #1
  • Server node #2
  • Database
I assume that the database is high available, using Oracle RAC for example. This is shown in the next diagram.


The goal is to install the Oracle SOA Suite software in a cluster on a such way that it is easy to configure, maintain and efficient in usage. We will install the following components based on release 10.1.3.4 with the latest patch set:
  • Oracle Application Server
  • Oracle BPEL Process Manager
  • Oracle Enterprise Service Bus
  • Oracle Web Services Manager
If you read the documents on installing SOA Suite in a cluster, it could lead you into many Oracle Home installations, many oc4j instances. This is valid, but not always usable.

We will install this software into 2 OC4J containers; oc4j_soa and oc4j_esbdt. This install in line with the stand-alone / non clustered environment. The main difference is the fact that we need an additional oc4j, the ESB Design time instance. While in a non-clustered environment, all components are put into one oc4j instance (oc4j_soa). The reason for this difference is the Oracle ESB implementation for a cluster.

The cluster installation will create the following components on each node.
  • One Oracle Home with the complete software tree.
  • Oracle BPEL 10.1.3.x
  • Oracle ESB 10.1.3.x
  • Oracle Services Manager 10.1.3.x
  • Oracle SOA Suite Patch 10.1.3.4 (MLR#5)
  • One J2EE container for Oracle ESB design time
  • One J2EE container for Oracle ESB runtime, BPEL, Web Services Manager
  • One Apache http webserver.
The approach of the installation is as follows.
  1. Install Oracle Application Server, Node #1
  2. Install Oracle Application Server, Node #2
  3. Cluster Applicative Server
  4. Installation Oracle BPEL, # node 1
  5. Installation Oracle BPEL, # node 2
  6. Cluster BPEL Server
  7. Installation Oracle ESB, # node 1
  8. Installation Oracle ESB, # node 2
  9. Cluster ESB
  10. Install Oracle Web Services Manager
  11. Cluster Web Services Manager
  12. Apply SOA Patches 10.1.3.4

This article and the document could not be created without the following documents.
  • Metalink Note: 470267.1: How To Verify ESB Cluster Configuration
  • Metalink Note: 455714.1: Recommendations for ESB 10.1.3 Cluster Configuration
  • Metalink Note: 728144.1 Installing AIA for Communications on a SOA Cluster
The document can be download here.

Have fun.

Marc

11 comments:

Anonymous said...

Beware of the delegation rules!
By default they are stored in a local file instead a database.

Mads said...

Hi,

I am trying it on the Windows 2003 Virtual Machines. Is it the same procedure or different procedure?

-Mads

Anonymous said...

Hi,

I am trying to implement SOA cluster installation on weblogic clustered set up.

Could you please provide me some pointers.

Regards
Dinup

Prem Khanna J said...

Hi Marc,

I just read your article.We are planning for a 2 node active-active SOA cluster. So far - In our single instance installations - we have been installing [AIA|SOA|ODI|OSR|DB] in seperate oracle homes. I saw in your doc - all components being put into same oracle home except for ESB-RT . is that mandatory or just done for simplicity ?

Marc Kelderman SOA Blog said...

It is mandatory! It is documented in the manuals. It is an architecture design, that only one ESB-DT may be up and running.

Prem Khanna J said...

I understand Marc. But I have a basic question .

In our single instance environment, I find directories like bin,conf,jdk,lib,doc,install,log are
there within $AIA_HOME , $SOA_HOME , $ODI_HOME , $OSR_HOME . If we put all in the same $ORACLE_HOME - won't
there be a overlap or confusion ? Or do you have all these components put in seperate directories under
$ORACLE_HOME. Can you please copy the output of 'ls' of your $ORACLE_HOME ?

Thanks & Regards,
----- prem -----

Marc Kelderman SOA Blog said...

IMHO:

You do not need OSR for your AIA CLuster installtion. Is there any need for OSR? technically AIA does not use OSR.

AIA should have his own directory.
In ORACLE_HOME the Oracle Application Server 10g should be installed.

Note: I do not have AS 10g any more, working on 11g only.

Prem Khanna J said...

Hi Marc,

This is what we have been doing so far to create our single node AIA instance:

- install DB
- install SOA Suite/patch 10.1.3.4/MLR#8
- install OSR
- install ODI
- install AIA FP/PIPs/apply patches

Being a newbie to AIA - I was not aware that OSR is not mandatory for AIA . But since we have been following this throughout our development/testing cycle - we thought of following the same for PROD too (which we are yet to create). Reason - we don't want to change anything at the last moment and to avoid any surprises.

Looks like ODI is also optional for AIA - and depends on the volume batch jobs we would have - am I right ? In our current setup we are using ODI and would need it for PROD too. And OSR too - I think it doesn't hurt to have it even if it is not mandatory . I am just going to follow your orasoA_Cluster_Install_v1.pdf . But not sure where in your doc I will plug-in OSR and ODI ?

Do you have any suggestion for me - Marc ?

Regards,
Prem

Marc Kelderman SOA Blog said...

Follow my document :-)

Skip OSR if you could.

Use always the latest MLR#

Marc

Prem Khanna J said...

Yes Marc . I am just going to follow your doc. good-neat document.

This would be my approach :

- Install Oracle Application Server on node #1
- Install Oracle Application Server on node #2
- Cluster Oracle Application Server
- Install BPEL on node #1
- Install BPEL on node #2
- Cluster BPEL
- Install ESB-RT on node #1
- Install ESB-RT on node #2
- Install Oracle Web Services Manager on node #1
- Install Oracle Web Services Manager on node #2
- Cluster Oracle Web Services Manager
- Apply SOA patch 10.1.3.4. on node #1 and node #2
- Apply MLR #8 for SOA on node #1 and node #2
- Configure ESB-DT
- Cluster EBS-RT
- Install AIA Foundation Pack 2.5
- Install O2B and AABC PIPs
- Apply AIA patches
- AIA Post Install configuration

Not sure where above I would install ODI . And if possible would like
to have OSR too . Only reason is : don't want to make things different
in PROD . may be later we can remove it when things get stabilized.

Any thought Marc - In which step to plug in OSR and ODI ?

Regards,
Prem

Prem Khanna J said...

Marc,

would this approach work :

install SOA on node-1
clone it to node-2
install/cluster AIA and PIPs.

Your thoughts ?

Post a Comment

Post a Comment