Skip Headers
Oracle® Fusion Applications Customer Relationship Management Enterprise Deployment Guide
11g Release 1 (11.1.4)

Part Number E16684-11
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

8 Scaling Out the Oracle Fusion Customer Relationship Management Domain

This chapter describes how to scale out the Oracle Fusion Customer Relationship Management domain.

This chapter includes the following topics:

8.1 Overview of the Oracle Fusion Customer Relationship Management Domain

The Oracle Fusion Customer Relationship Management application is a very distributed and modularized one. Applications within Oracle Fusion Customer Relationship Management, which are deployed on the domain, are the following:

In addition to the applications, the Oracle Fusion Customer Relationship Management domain also contains Oracle Fusion Customer Relationship Management Analytics, which is the Oracle BI Enterprise Edition broker application that interfaces with Oracle Application Development Framework, Oracle BI Enterprise Edition, and Oracle Data Integrator agent for data import flow.

Figure 2-3 in Chapter 2, "Introduction to the Enterprise Deployment Reference Topologies," shows the topology for the Oracle Fusion Customer Relationship Management domain within the overall reference enterprise deployment topology.

8.2 Prerequisites for Scaling Out the Oracle Fusion Customer Relationship Management Domain

Before you begin, ensure the following:

8.3 Adding a New Machine in the Oracle WebLogic Server Console

To add a new machine:

  1. Log in to the Administration Server: http://crminternal.mycompany.com:7777/console.

  2. Navigate to CRMDomain > Environment > Machines.

    LocalMachine is located in the right-hand pane.

  3. In the left-hand pane, click Lock & Edit.

  4. In the right-hand pane, first click New to add the remote machine, and then specify the following:

    • Name - enter CRMHOST2

    • Machine operating system - Unix

  5. Click Next.

  6. In the window that opens, set the following attributes:

    • Type - SSL

    • Listen Address - <CRMHOST2>

      Note:

      The "localhost" default value here is wrong.

    • Listen port - 5556

  7. Click Finish and activate the changes.

    Note:

    If you get an error when activating the changes, see Section 19.8.18, "Administration Console Redirects from Internal URL to Container URL after Activation" for the temporary solution.

8.4 Packing and Unpacking the Managed Server Domain Home

Since the CRMHOST1 domain directory file system is also available from CRMHOST2, both the pack and unpack commands can be executed from CRMHOST2.

To pack and unpack the Managed Server domain home:

  1. Change directory to ORACLE_BASE/products/fusionapps/oracle_common/common/bin.

  2. Run the pack command:

    CRMHOST2> ./pack.sh -managed=true -domain=ORACLE_BASE/config/domains/
    CRMHOST1/CRMDomain -template=ORACLE_BASE/user_templates/
    CRMDomain_managed.jar -template_name="CRM_Managed_Server_Domain" 
    
  3. Ensure that /u02/local/oracle/config/domains/CRMHOST2/CRMDomain is empty, and then run the unpack command:

    CRMHOST2> ./unpack.sh -domain=/u02/local/oracle/config/domains/
    CRMHOST2/CRMDomain -template=ORACLE_BASE/user_templates/CRMDomain_managed.jar
    

    Here, ORACLE_BASE is shared, and /u02/local is local to CRMHOST2.

8.5 Cloning Managed Servers and Assigning Them to CRMHOST2

To add a Managed Server and assign it to CRMHOST2:

  1. Log in to the Administration Server: http://crminternal.mycompany.com:7777/console.

  2. Navigate to CRMDomain > Environment > Servers.

  3. Switch to Lock & Edit mode.

  4. Select the Managed_Server checkbox (for example, SalesServer_1) and then click Clone.

  5. Specify the following server identity attributes:

    • Server Name - SalesServer_2

      Note:

      To ensure consistency in naming, copy the name of the server shown in Server Identity and paste it into the Server Name field. Then change the number to "_2".

    • Server Listen Address - <CRMHOST2>

    • Server Listen Port - leave "as is"

      Note:

      For Oracle SOA Suite server, add a port value that is different than the soa_server1 server value. This will help in server migration.

  6. Click OK.

    You now should see the newly cloned sales server, SalesServer_2.

  7. Click SalesServer_2 and change the following attributes:

    • Machine - <CRMHOST2>

    • Cluster Name - accept the default, SalesCluster

      Note:

      Ensure that this cluster name is the same as the cluster name of the original Managed Server.

  8. Click Save and then Activate Changes.

  9. Navigate to CRMDomain > Environment > Servers.

  10. From the Name column, click the SalesServer_2 scaled-out server link.

  11. Click Lock & Edit, and then select the Configuration tab.

  12. Select the Keystores tab, and ensure that the keystores value is Custom Identity and Custom Trust.

  13. Do the following:

    1. Change the Custom Identity Keystore path to point to the ORACLE_BASE/products/fusionapps/wlserver_10.3/server/lib/CRMHOST2_fusion_identity.jks file.

    2. Leave the Custom Identity Keystore type blank.

    3. Change the Custom Identity Keystore Passphrase entry. This should be the same as the keystorepassword field described in the first bullet in Step 4 in Section 7.2, "Creating the Identity Keystore on CRMHOST2."

    4. Re-enter the Confirm Custom Identity Keystore Passphrase.

    5. Ensure that the Confirm Custom Trust Keystore path is pointing to the ORACLE_BASE/products/fusionapps/wlserver_10.3/server/lib/fusion_trust.jks file.

    6. Leave the Custom Trust Keystore type blank.

    7. Change the Custom Trust Keystore Passphrase entry. This should be the same as the keystorepassword field described in the first bullet in Step 4 in Section 7.2, "Creating the Identity Keystore on CRMHOST2."

    8. Re-enter the Custom Trust Keystore Passphrase.

    9. Click Save.

  14. Select the SSL tab.

    1. Make sure that Identity and Trust Locations is set to Keystores.

    2. Change the Private Key Alias to CRMHOST2_fusion.

    3. Change the Private Key Passphrase to the keypassword, as described in the second bullet in Step 4 in Section 7.2, "Creating the Identity Keystore on CRMHOST2."

    4. Re-enter the keypassword from Step c for the Confirm Private Key Passphrase.

    5. Click Save.

  15. Select the Server Start tab.

    Change the Arguments to reflect the name of your cloned Managed Server and make sure the server group is the correct cluster name. For example, you should see the following:

    -DJDBCProgramName=DS/CRMDomain/SalesServer_2
    -Dserver.group=SalesCluster
    

    Click Save.

  16. Select the Logging tab, and then select the HTTP tab.

  17. Do the following:

    1. Change the Log file name to logs/access.log.%yyyyMMdd%.

    2. Change the rotation type to By Time.

    3. Leave the Limit number of retained files option unchecked.

    4. Leave the Rotate log file on startup option unchecked.

    5. Click Save.

    6. Expand Advanced.

    7. Change the format to Extended.

    8. Change the extended logging format fields to the following:

      date time time-taken cs-method cs-uri 
      sc-status sc(X-ORACLE-DMS-ECID) 
      cs(ECID-Context) cs(Proxy-Remote-User) 
      cs(Proxy-Client-IP)
      
    9. Click Save.

  18. Click Activate Changes.

  19. Repeat Steps 2 to 18 for all the Managed Servers on this domain.

  20. Set the following environment variable on CRMHOST2:

    WLST_PROPERTIES="-Dweblogic.security.SSL.trustedCAKeyStore=ORACLE_BASE/
    products/fusionapps/wlserver_10.3/server/lib/fusion_trust.jks"
    
  21. Stop the domain's Administration Server:

    CRMHOST1> ORACLE_BASE/config/domains/CRMHOST1/CRMDomain/bin/stopWebLogic.sh
    
  22. Restart the domain's Administration Server:

    CRMHOST2> ORACLE_BASE/products/fusionapps/wlserver_10.3/common/bin/wlst.sh
    
    CRMHOST2> nmConnect(username='username', password='password',
    domainName='CRMDomain', host='CRMHOST1',port='5556', 
    nmType='ssl', domainDir='ORACLE_BASE/config/domains/CRMHOST1/CRMDomain')
    
    CRMHOST2> nmStart('AdminServer')
    

    Note:

    The username and password used in the nmConnect are the Node Manager credentials (username and password) specified when creating the provisioning response file. This is shown in Figure 5-3 in "Using the Provisioning Process to Install Components for an Enterprise Deployment".

  23. Run the newly created Managed Servers:

    1. Log in to the Administration Server: http://crminternal.mycompany.com:7777/console.

    2. Navigate to CRMDomain > Environment > Servers > Control.

    3. Select the newly created Managed Servers and click Start.

    4. Navigate to CRMDomain > Environment > Servers and check the State to verify that the newly created Managed Servers are running.

8.6 Configuring Data Quality for Scale Out

Data Quality is an Informatica tool that provides the following:

Implementing Data Quality requires four steps:

  1. Obtaining postal reference data and license keys.

  2. Setting up the Data Quality Engine, also known as Informatica Identity Resolution (IIR).

  3. Configuring Data Quality Connector and IIR in Oracle Fusion Functional Setup Manager.

  4. Creating a second Data Quality server on CRMHOST2.

8.6.1 Obtaining Postal Reference Data and License Keys

Prior to configuring data quality for scale out, you must obtain postal reference data and license key files from AddressDoctor. For information about how to obtain these, see the licensing documentation.

8.6.2 Setting Up the Data Quality Engine

To set up the data quality engine:

  1. On CRMHOST1, change directory to ORACLE_BASE/products/InformaticaIR/bin.

  2. Run the following commands:

    CRMHOST1> bash 
    CRMHOST1> . ./setfusionEnv.sh
    CRMHOST1> ./liup
    CRMHOST1> ./idsup
    
  3. Start ./idsconc -a.

  4. On the launched console, select Rulebase Type=SSA and Alias=rtunitrb and click OK. Then click Yes to create a new rulebase.

  5. In the IIR console, navigate to System > New > Create a system from SDF.

  6. Enter the following system information:

    • System Name - FusionDQRealtime

    • System Definition File - ORACLE_BASE/products/InformaticaIR/ids/FusionDQRealtime.sdf

    • DB Type - SSA

    • Alias - fusion_s01

  7. Click OK, and then click Close to dismiss the Create/System window.

  8. Navigate to System menu > Select > System Name: FusionDQRealtime and click OK.

  9. Navigate to System menu > Load IDT to start loading the individual IDT tables, one by one, until the following IDTs are completed:

    load_location
    load_organization
    load_org_address
    load_person
    load_per_address
    load_per_phone
    
  10. Close the IIR Console started in Step 2 and run the following commands to stop the IIR server:

    CRMHOST1> ORACLE_BASE/products/InformaticaIR/bin/idsdown
    CRMHOST1> ORACLE_BASE/products/InformaticaIR/bin/lidown
    
  11. Assuming you have received the postal reference data and license key files from AddressDoctor (that you requested in Section 8.6.1), run the following commands:

    CRMHOST1> cd ORACLE_BASE/products/InformaticaIR/ssaas/ad5/ad/db
    CRMHOST1> cp mylocation/key . 
    CRMHOST1> cp mylocation/*.MD . 
    

    mylocation is the directory where you copied the license key and the postal reference data.

    *.MD is the postal data reference file. key is a text file that contains the AddressDoctor license.

    AddressDoctor supports 248 countries. Each *.MD file is per country or a group of countries. Each of these files should be copied to the *.MD directory.

  12. Run the following commands to start the IIR server:

    CRMHOST1> ORACLE_BASE/products/InformaticaIR/bin/liup
    CRMHOST1> ORACLE_BASE/products/InformaticaIR/bin/idsup
    
  13. From the IIR Console, do the following to start the UPD Synchronizer:

    1. Run the following command:

      CRMHOST1> ORACLE_BASE/products/InformaticaIR/bin/idsconc -a
      
    2. On the launched console, select Rulebase Type=SSA and Alias=rtunitrb, and click OK to go the RuleBase.

    3. In the IIR console, go to System > Select and select FusionDQRealtime.

    4. Go to Tools > Synchronizer > Run Synchronizer and click OK to accept all the defaults shown in the Update Synchronizer popup window.

Note:

Ensure that the IDT Name=(all) option is selected.

8.6.3 Configuring the Data Quality Connector and IIR

To configure the data quality connector and IIR:

  1. Log in to Oracle Fusion Functional Setup Manager as an administrator. For example, http://commoninternal.mycompany.com:7777/homePage/faces/AtkHomePageWelcome.

  2. Search for the task "Manage Data Quality Server Configuration."

  3. Click Go to Task to open the Manage Data Quality Server Configurations page, and then click Search to find all existing configurations.

  4. Select Realtime and Batch Basic Server and click Edit.

  5. Enter the server IP address and port of the IIR search server you set up as the IIR matching server.

  6. Select Realtime Cleanse Server, click Edit, and repeat Step 5.

  7. Select Batch Cleanse Server, click Edit, and repeat Step 5.

  8. Search for the task "Manage Data Quality Synchronization Configuration".

  9. Click Refresh Identity Table Information to refresh IDT repository information.

  10. Select Enable for Sync for each IDT.

  11. Click Schedule Synchronization Process and then Advanced.

  12. Select Using a schedule.

  13. Select Hourly/Minute from the Frequency dropdown list. (This frequency should be determined by the business requirement.)

  14. Enter "every 5 minutes" for this example. (This "every 5 minutes" sample should be determined by the business requirement.)

  15. Select a "next few days" end date from the calender. (This "few days" sample should be determined by the business requirement.)

  16. Submit the scheduled Sync ESS job.

  17. Do the following to validate that Data Quality is up and running:

    1. Ensure that the Customer Center application is running.

    2. In Customer Center, create a unique organization and then try to create that same organization again.

      If Data Quality is working correctly, a popup window will display telling you that you cannot create that organization because it already exists.

8.6.4 Creating a Second Data Quality Server on CRMHOST2

To create a second data quality server:

  1. Run the following command:

    CRMHOST2> cd ORACLE_BASE/repository/installers/iir/fusion_iir
    
  2. Edit the install.props file to include the following values:

    ##############################################
    # USE ABSOLUTE PATHS FOR ALL
    ##############################################
    # These environment variables are required to be set for  
    # IIR to be able to use the ORACLE DB CLIENT
    ##############################################
    ORACLE_HOME=ORACLE_BASE/products/dbclient
    TNS_ADMIN=ORACLE_BASE/products/dbclient/network/admin
    LD_LIBRARY_PATH=ORACLE_BASE/products/dbclient/lib
    ##############################################
    # These properties are required to be set for
    # IIR to be installed in the right directory
    ##############################################
    FUSION_STAGE_DIR=ORACLE_BASE/repository/installers/iir
    IIR_STAGE_DIR=ORACLE_BASE/repository/installers/iir
    IIR_VERSION=IIR_901sp1_linux_amd64
    IIR_TOP=ORACLE_BASE/products/IIR2
    ##############################################
    # These properties are required to be set for IIR to be 
    # able to connect to the Oracle DB to install Schema Objects
    ##############################################
    IIR_DB_HOSTNAME=FUSIONDBHOST1
    IIR_DB_PORT=1521
    IIR_DB_SID=fusiondb1
    IIR_DB_USER=fusion_dq
    IIR_DB_PASSWD=PASSWORD
    #################################################
    # ALL THESE PROPERTIES ARE NEEDED BY THE INSTALLER 
    # DO NOT MODIFY THESE UNLESS NECESSARY
    #################################################
    IIR_INSTALL_LOG_LOC=ORACLE_BASE/repository/installers/iir/fusion_iir
    IIR_INSTALL_TYPE=all
    IIR_INCLUDE_DOC=yes
    ##############################################
    # Default is one Server Instance
    ##############################################
    IIR_INSTANCE_1_PORT=1660
    ##############################################
    # Not Implemented yet
    ##############################################
    IIR_INSTANCE_2_PORT=
    ##############################################
    # This option is needed if you want Search to be accessible through a Browser
    ##############################################
    IIR_HTTP=Y
    ##############################################
    # This is for Installing the IIR Control and Sync Objects ( needed only for the #first time)
    ##############################################
    INSTALL_IIR_OBJECTS=N
    ##############################################
    # This is needed for OEM Key
    ##############################################
    SSALI_MZXPQRS=STANISLAUS
    
  3. Run the following command:

    ./runInstaller.sh install.props > test_console
    

    The installation is now complete.

  4. Configure the data quality connector and IIR:

    1. Perform Steps 1 through 4 in Section 8.6.3, "Configuring the Data Quality Connector and IIR."

    2. Update the SecondaryServer1Address and SecondaryServer1Port values respectively for the host name and port of the Secondary Server CRMHOST2. These parameters can be found in the Server Parameter Values section.

    3. Select Enable High Availability for each server configuration.

  5. Start IIR on CRMHOST1, first by starting the Rulebase server, and then by starting the Search server:

    CRMHOST1> cd ORACLE_BASE/products/InformaticaIR/bin 
    
    CRMHOST1> bash
    
    CRMHOST1> . ./setfusionEnv.sh
    
    CRMHOST1> . ../env/isss
     
    CRMHOST1> ./ssasrsv –m{RBPORT1} -gFusionRBSG,ssa:rtunitrb -w1 -1$SSATOP/iirlog/
    priRB.log -2$SSATOP/iirlog/priRB.err -3$SSATOP/iirlog/priRB.dbg
    
    CRMHOST1> ./ssasrsv -n{SEPORT1} -gFusionRBSG,ssa:rtunitrb -1$SSATOP/iirlog/
    priSE.log -2$SSATOP/iirlog/priSE.err -3$SSATOP/iirlog/priSE.dbg
    
  6. Start IIR on CRMHOST2, first by starting the Rulebase server, and then by starting the Search server:

    CRMHOST2> cd ORACLE_BASE/products/InformaticaIR/bin
    
    CRMHOST2> bash
     
    CRMHOST2> . ./setfusionEnv.sh
     
    CRMHOST2> . ../env/isss
     
    CRMHOST2> ./ssasrsv –m{RBPORT2} -gFusionRBSG,ssa:rtunitrb -w1 -1$SSATOP/iirlog/
    secRB.log -2$SSATOP/iirlog/secRB.err -3$SSATOP/iirlog/secRB.dbg
    
    CRMHOST2> ./ssasrsv -n{SEPORT2} -gFusionRBSG,ssa:rtunitrb -1$SSATOP/iirlog/
    secSE.log -2$SSATOP/iirlog/secSE.err -3$SSATOP/iirlog/secSE.dbg
    
  7. Restart the Oracle Fusion Applications instances (which require DQ) so that the DQ Connector can do load balancing and failover.

Notes:

  • RBPORT1 is the port for the Rulebase server on IIR Host 1; RBPORT2 is the port for IIR Host 2. The values for these parameters should be the value of SSA_RBPORT in InformaticaIR/env/isss on Hosts 1 and 2, respectively.

  • SEPORT1 is the port for the Search server on IIR Host 1; SEPORT2 is the port for IIR Host 2. The values for these parameters should be the value of SSA_SEPORT in InformaticaIR/env/isss on Hosts 1 and 2, respectively.

For more information about data quality and IIR, see the following sections in the "Customer Relationship Management" chapter in the Oracle Fusion Applications Post-Installation Guide:

  • "Setting Up Informatica Identity Resolution"

  • "Informatica Identity Resolution Setup: Procedures"

8.7 Oracle HTTP Server Configuration

To configure Oracle HTTP Server:

  1. On WEBHOST1:

    1. Change directory to ORACLE_BASE/config/CommonDomain_webtier/config/OHS/ohs1/moduleconf.

    2. Copy FusionVirtualHost_crm.conf to FusionVirtualHost_crm.conf.org.

  2. Edit the FusionVirtualHost_crm.conf file, adding the scaled-out host and port to all the WebLogic Application Clusters. Add this to both the Internal and External part of the FusionVirtualHost_crm.conf file. Example 8-1 shows sample code for SalesServer.

    Notes:

    • Do not add these values for Oracle Enterprise Manager, Oracle WebLogic Server Administration Console, or Oracle Authorization Policy Manager.

    • If the Managed Servers are running on VIPs, replace CRMHOST1 and CRMHOST2 with the VIP addresses in Example 8-1.

    Example 8-1 Sample "SalesServer" Code

    <Location /sales>
            SetHandler weblogic-handler
            WebLogicCluster <CRMHOST1:port>,<CRMHOST2:port> 
        </Location>
    
  3. Repeat Step 2 for all applications.

  4. Restart Oracle HTTP Server: cd to ORACLE_BASE/config/CommonDomain_webtier/bin and enter the following:

    WEBHOST1> ./opmnctl stopall
    WEBHOST1> ./opmnctl startall
    
  5. Repeat Steps 1 through 4 on WEBHOST2.

8.8 Configuring Server Migration for the Managed Servers

Server migration is required for proper failover of Oracle Fusion Customer Relationship Management components in the event of failure in any of the CRMHOST1 and CRMHOST2 nodes. For more information, see Chapter 17, "Setting Up Server Migration for an Enterprise Deployment."

8.9 Validating the System

You should verify URLs to ensure that the appropriate routing and failover is working from Oracle HTTP Server to the SalesCluster.

To verify the URLs:

  1. Log in to the CRMDomain Oracle WebLogic Server Administration Console and stop all the Managed Servers on CRMHOST1 while the Managed Servers on CRMHOST2 are running.

  2. Access the following URLs to verify that routing and failover are functioning properly. (Ensure the log in prompt is visible.)

    • https://crmexternal.mycompany.com/sales/faces/mooOpportunityHome

    • https://crmexternal.mycompany.com/crmPerformance/faces/TerritoriesMain

    • https://crmexternal.mycompany.com/contractManagement/faces/ContractsDashboard

    • https://crmexternal.mycompany.com/customer/faces/CustomerCtrWorkarea

    • https://crmexternal.mycompany.com/marketing/faces/LeadsDashboard

    • https://crmexternal.mycompany.com/orderCapture/faces/SalesCatalogAdmin

  3. Log in to the CRMDomain Oracle WebLogic Server Administration Console and stop all the Managed Servers on CRMHOST2.

  4. Start the Managed Servers on CRMHOST1.

  5. Repeat Step 2. (Ensure the log in prompt is visible.)

  6. Start all the Managed Servers on CRMHOST2 and verify that they are running on CRMHOST1 and CRMHOST2.