12c BPM and BAM Multi Domain Setup

Introduction

In this blog, I will show you how to setup BPM and BAM in 2 separate WebLogic domains, so the out-of-the-box process analytics will work as it is on the same domain.

In the multi domain setup, you will have a BPM only domain and BAM/BPM domain. The BPM only domain will contain both BPM and BAM managed servers, after you have finished the multi domain configuration, you must shut down the BAM managed server in the BPM only domain. For the BAM/BPM domain, it will also contain both BPM and BAM managed servers, but you will need to startup both BPM and BAM managed server in order for this multi domain configuration to work.  The diagram below illustrate the high level BAM and BPM servers’ setup in 2 separate WebLogic domains:

BPM and BAM Multi Domain - Overall

If you configure BPM and BAM in the same domain, you will notice 2 foreign JNDI providers, BAMForeignJndiProvider and BPMForeignJndiProvider.  The BAMForeignJndiProvider has the provider URL configured for localhost (127.0.0.1) BAM server and targeted to SOA cluster, the BPMForeignJndiProvider has the provider URL configured for localhost (127.0.0.1) SOA server and targeted to BAM cluster. If you are planning to setup a different domain for BPM and BAM, you will need to reconfigure the foreign JNDI providers and enable WebLogic global domain trust.

Step 1 – Install and configure 2 domains

In my test environment, I have 2 virtual machines setup (soa1 and soa12csrv1), BPM and BAM have been installed on both virtual machines.  When you are configuring both domains, the managed server names on both machines must be different.  This is required in order for the inter server distributed transactions to work properly. When you have configured the BPM and BAM domain, you can then start up all managed servers in both domains.

Server Name: soa1 (BPM Only Domain)

IP Address: 192.168.1.101

BPM and BAM Multi Domain - BPM Only

Server Name: soa12csrv1  (BAM and BPM Domain)

IP Address: 192.168.1.110

BPM and BAM Multi Domain - BAM and BPM

Step 2 – Enable Process Analytics

By default, the process metrics is disabled, so for the process analytics to work, you will need to enable the process metrics in the MBean using Enterprise Manager Fusion Middleware Control.  You will need to enable process analytics for both domain.

1. Log in to the Fusion Middleware Control console. (http://hostname:port/em)
2. In the Target Navigation pane, expand the WebLogic Domain node.
3. Select the domain in which the Oracle BAM server is installed. For example, the domain might be soainfra or base_domain (AdminServer and right click!).
4. Right-click on the domain and select System MBean Browser. The System MBean Browser page appears.
5. In the System MBean Browser, expand the Application Defined MBeans node.
6. Under Application Defined MBeans, expand the oracle.as.soainfra.config node.
7. Under oracle.as.soainfra.config, expand the Server: server_name node.
8. Under Server: server_name, expand the AnalyticsConfig node.
9. Under AnalyticsConfig, click analytics.
10. The analytics attributes are listed. Change the value of the DisableProcessMetrics attribute to false.
11. Click Apply.
12. If no BAM server is detected, an error message appears and the DisableProcessMetrics attribute value is not changed.

BPM and BAM Multi Domain -EM

Step 3 – Enable Global Domain Trust

For the cross domain to work, you will also need to enable the global domain trust, so that the identity is passed between the BPM only and the BAM/BPM domain over an RMI connection without requiring authentication in the second domain. You will need to configure global trust for both domain using the same credential:

1. In WebLogic Administration Console (http://host:port/console), click Lock & Edit.
2. In the left pane, click the name of the domain.
3. Select Security > General, then scroll down and click Advanced.
4. Enter a password for the domain in the Credential text field. Choose the password carefully. Oracle Systems recommends using a combination of Upper and Lower case letters and numbers.
5. Click Save.
6. To activate these changes, in the Change Center of the Administration Console, click Activate.

BPM and BAM Multi Domain - GlobalTrust

Step 4 – Reconfigure Foreign JNDI

By default, the foreign JNDI provider URL is configured to point to the managed server in the same domain, the JNDI URLs need to be reconfigured to point to the managed server residing in the second domain.

For BPM only Domain, the BAMForeignJNDIProvider JNDI provider URL needs to be changed to the URL for the BAM/BPM domain:
1. Login to WebLogic console. Click on “Foreign JNDI providers” link in home page.
2. Click on BAMForeignJNDIProvider -> Configuration tab -> General tab
3. Enter Provider URL: URL for the BAM Server. e.g. t3://192.168.1.110:7004
4. Enter username: BAM server username. e.g. WebLogic
5. Enter password: BAM Server password.
6. Click on Save.

BPM and BAM Multi Domain - jndi1

BPM and BAM Multi Domain - jndi2

For BAM/BPM Domain, the BPMForeignJndiProvider JNDI provider URL needs to be changed to the URL for the BPM only domain:

1. Login to WebLogic console. Click on “Foreign JNDI providers” link in home page.
2. Click on BPMForeignJndiProvider -> Configuration tab -> General tab
3. Enter Provider URL: URL for the BPM Server. e.g. t3://192.168.1.101:7004
4. Enter username: BPM server username. e.g. WebLogic
5. Enter password: BPM Server password.
6. Click on Save.

BPM and BAM Multi Domain - jndi3 BPM and BAM Multi Domain - jndi4

Step 5 – Servers Restart

Shutdown all managed and Admin servers on both nodes. This is required, otherwise, the foreign JNDI will not work and you will run in to a stack overflow error.

For BPM only Domain, start BPM/SOA and Admin Server

BPM and BAM Multi Domain -Restart

For BPM/BAM Domain, Start Admin Server, SOA/BPM server and BAM server

BPM and BAM Multi Domain -Restart2

Step 6 – Deploy BPM application

Although BPM server exists in both domain, but in order for this topology to work, you will need to deploy your BPM composite to the BPM only Domain (do not deploy your BPM composite to the BAM/BPM domain). After deployment, you can verify your deployment using enterprise manager in BPM only domain and BAM composer in BAM/BPM domain.

In a browser window, open the Fusion Middleware Control console. (http://hostname:port/em) in the BPM only Domain –> SOA-INFRA, you should be able to see the BPM process you have just deployed:

BPM and BAM Multi Domain - Deploy1

In a different browser window, open the BAM composer (http://host:port/bam/composer) in the BPM-BAM Domain, then click on the Open Project link, you should be able to see the project you have just deployed:

BPM and BAM Multi Domain - Deploy2

Step 7 – Testing

In a browser window, open the BPM Workspace (http://host:port/bpm/workspace/) in the BPM Only Domain and initiate a process.

BPM and BAM Multi Domain - Test1

In a different web browser window, open the BAM Composer (http://host:port/bam/composer) on the BPM/BAM Domain ->Open the Process Analytics Dashboards->Process Summary, you should be able to view the process data being populated and shown in the process summary dashboard.

BPM and BAM Multi Domain - Test2

Add Your Comment