Installing Oracle SOA Suite with SOA Server and BAM Server on Horizontal Domains

Running Oracle SOA Suite with one Admin, one SOA and one BAM server in a single computer/ processor may be quite expensive since it requires us to have three servers and one database instance running.

There is an alternative of using an ALL in ONE server but not very effective as after the installation and starting the domain, the processor may become too slow.

To counter this we can create a SOA Suite installation that can be split across multiple machines.

The below article will show how we can use the old Weblogic way of packing and unpacking domains on two different machine to achieve this horizontal installation.

Key points before we start.

  1. This is not a cluster setup.
  2. This article assume that we have already created a SOA Suite domain in Machine A with One Admin server and one SOA server.
  3. For all development purposes it is good to have one machine running Admin Server and SOA Managed server and other machine hosting the Database instance and BAM Managed server.
  4. Again since this is not a cluster setup this is ideal for development use only.

As part of the SOA suite Installation let us assume we have installed Oracle SOA Suite at Computer A\Oracle\Middleware. We would call it Node1 or Machine 1 henceforth.

Carry out a similar installation of SOA suite at another machine viz Computer B\Oracle\Middleware. This machine will contain the managed server for BAM. Let us call it Node 2 or Machine 2.

Logon to Machine 1 and Go to Start->All Programs->Oracle Weblogic->Weblogic Server 11gR1->Tools-> Configuration Wizard.


This opens the Domain Configuration Wizard. We have to extend this domain with BAM configurations. After the configuration Wizard opens select ‘Extend an existing Weblogic Domain’ and click Next.


Select ‘Oracle Business Activity Monitoring –[Oracle_SOA1] checkbox. This will extend the existing domain to have BAM capabilities too.


Follow the installation as per below.


Give the TNS where the SOA DB is running in the ‘Configure JDBC Component Schema’ page of the configuration wizard.





Note: While configuring the Listen Address for bam_server1 give the IP address of the Computer B i.e. Machine 2 (the machine where BAM managed server needs to run). Use 4003 as the Listen port.





This will extend the POC_Domain with BAM as well.

Now that we have created a ‘POC_Domain’ with a both soa_server1 and bam_server1 managed servers, the configuration should be copied to the other machine where we want the BAM server to run (Here Computer B or Machine 2).

Use the pack and unpack commands to separate the domain directory used by the Administration Server from the domain directory used by the managed server in the other node.

Execute the pack command on the machine having the soa_server1 to create a pack file with the domain definition.

pack.cmd -managed=true -domain=C:\Oracle\Middleware\user_projects\domains\POC_Domain -template=pocdomaintemplate.jar -template_name=POC_Domain_Template


Copy the ‘pocdomaintemplate.jar’ file to the \Middleware\wlserver_10.3\common\bin folder of Machine 2 i.e. on Computer B. Run the unpack command then to unpack the template in the managed server domain directory as follows:


unpack.cmd -domain C:\Oracle\Middleware\user_projects\domains\POC_Domain -template= pocdomaintemplate.jar


This will create the domain with the same name and extension in the \Middleware\user_projects\domains directory of Machine 2 (Computer B).


Now start the bam_server1 alone in this machine by going to \POC_Domain\bin directory and starting the managed server.

C:\Oracle\Middleware\user_projects\domains\POC_Domain\bin>startManagedWebLogic.cmd bam_server1 t3://ComputerAIPAddress:4001

Give the username and password of the Admin Server when prompted.

Note that the URL passed as an argument while starting the bam_server1 managed server is the URL of the Admin Server on Machine 1 (Computer A) box i.e. the box where the Admin server and soa_server1 managed server is running.

Once the server is in RUNNING mode login to the Admin server (if opening the console from Computer A you can use localhost, else use the FQN ) http://localhost:4001/console and click on Environment->Servers


Verify that all servers are in RUNNING State.

This completes a horizontal installation of SOA Suite 11g where we install the Administration Server and SOA_SERVER on a single machine and BAM_SERVER on a different machine. Both the servers are administered by a single Admin server and EM.

This installation will offload the processing power/cpu etc on two different machine and will presumably lead to a better development experience.

One thought on “Installing Oracle SOA Suite with SOA Server and BAM Server on Horizontal Domains

  1. Nice article, the step by step approach makes it easy to follow.

    If you are looking for another approach to doing this, it might be worthwhile checking out the ConfigNOW tool ( It automates a lot of processes of setting up SOA Suite domains based on standard templates and can be good if you are trying to do more complex rollouts across multiple machines or many domains. We manage SOA Suite and other JEE environments for clients and use it a lot. The tool takes a bit of getting used to, but once you have mastered it, it makes these sort of setup tasks and deployment a lot easier.


If you have any comments, suggestions or feedback about the post, please feel free to type it here and I will do my best to address them asap

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s