Oracle® Fusion Applications Enterprise Deployment Guide for Customer Relationship Management 11g Release 7 (11.1.7) Part Number E16684-21 |
|
|
PDF · Mobi · ePub |
This chapter describes how to scale out the Oracle Fusion Customer Relationship Management domain.
This chapter includes the following topics:
Section 8.1, "Overview of the Oracle Fusion Customer Relationship Management Domain"
Section 8.3, "Configuring Oracle Coherence for the odi_server Managed Server"
Section 8.4, "Adding a New Machine in the Oracle WebLogic Server Console"
Section 8.5, "Packing and Unpacking the Managed Server Domain Home"
Section 8.6, "Cloning Managed Servers and Assigning Them to CRMHOST2"
Section 8.9, "Configuring Server Migration for the Managed Servers"
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:
Marketing
Sales
Territory Management
Customer Management
Order Capture
Email Marketing
OutLook/Mobile
CRM Common
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.
Before you begin, ensure that Node Manager has been started in the Secure Sockets Layer (SSL) mode by following the instructions in Chapter 7, "Setting Up Node Manager for an Enterprise Deployment."
Oracle recommends using unicast communication in odi_server
enterprise deployments, unless use of multicast is a must. Consider using multicast communication for large Oracle Data Integrator clusters with approximately 20 or more Oracle Data Integrator Managed Servers.
Note:
An incorrect configuration of the Oracle Coherence framework that is used for deployment may prevent the odi_server
Managed Server from starting. Oracle recommends the configuration described in this section.
Unicast communication does not enable nodes to discover other cluster members automatically when a new Oracle Data Integrator server is added to a cluster. Consequently, you must specify the nodes that belong to the cluster. You do not need to specify all of the nodes of a cluster, however. You need only specify enough nodes so that a new node added to the cluster can discover one of the existing nodes. Consequently, when a new node has joined the cluster, it is able to discover all of the other nodes in the cluster. Additionally, in configurations such as Oracle Data Integrator enterprise deployments, where multiple IPs are available in the same box, you must configure Oracle Coherence to use a specific host name to create the Oracle Coherence cluster.
Tip:
To guarantee high availability during deployments of odi_server
Managed Servers, specify enough nodes so that at least one of them is running at any given time.
Specify the nodes using the the -Doracle.odi.coherence.wka
n
system property, where n
is the number for each Oracle HTTP Server. The numbering starts at 1. This numbering must be sequential and must not contain gaps. In addition, specify the host name used by Oracle Coherence to create a cluster through the tangosol.coherence.localhost
system property. Set this property by adding the -Dtangosol.coherence.localhost
parameters to the Arguments field of the Oracle WebLogic Server Administration Console's Server Start tab.
To add the virtual-host names to Oracle Coherence:
Log in to the Oracle WebLogic Server Administration Console (http://crminternal.mycompany.com:7777/console
).
In the Domain Structure window, expand the Environment node.
Click Servers.
The Summary of Servers page appears.
Select odi_server1 (represented as a hyperlink) from the column of the table.
The Settings page appears.
Click Lock & Edit.
Click the Server Start tab.
Change the existing properties if necessary, and enter new properties into the Arguments field:
-Dtangosol.coherence.localport=9066 -Dtangosol.coherence.localhost=CRMHOST1 -Doracle.odi.coherence.wka1=CRMHOST1 -Doracle.odi.coherence.wka1.port=9066 -Doracle.odi.coherence.wka2=CRMHOST2 -Doracle.odi.coherence.wka2.port=9066 -DJDBCProgramName=DS/CRMDomain/odi_server1 -Dserver.group=ODICluster
Note:
There should be no breaks in lines between the different -D
parameters. Do not copy or paste the code from above to your Administration Console's Arguments text field. This may result in HTML tags being inserted in the Java arguments. The code should not contain other characters than those included in the example above.
Click Save and Activate Changes.
Navigate to CRMDomain > Environment > Servers and select the Control tab.
Select the odi_server1
Managed Server in the table, click Shutdown, and then select the Force Shutdown Now option from dropdown list.
Start the odi_server1
Managed Server.
To add a new machine:
Log in to the Administration Server: http://
crminternal
.mycompany.com:7777/console
.
Navigate to CRMDomain > Environment > Machines.
LocalMachine is located in the right-hand pane.
In the left-hand pane, click Lock & Edit.
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
Click Next.
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
Click Finish and activate the changes.
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:
Change directory to ORACLE_BASE
/products/fusionapps/oracle_common/common/bin
.
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"
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
.
To add a Managed Server and assign it to CRMHOST2
:
Log in to the Administration Server: http://
crminternal
.mycompany.com:7777/console
.
Navigate to CRMDomain > Environment > Servers.
Switch to Lock & Edit mode.
Select the Managed_Server checkbox (for example, SalesServer_1) and then click Clone.
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"
Click OK.
You now should see the newly cloned sales server, SalesServer_2
.
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.
Click Save and then Activate Changes.
Navigate to CRMDomain > Environment > Servers.
From the Name column, click the SalesServer_2 scaled-out server link.
Click Lock & Edit, and then select the Configuration tab.
Select the Keystores tab, and ensure that the keystores value is Custom Identity and Custom Trust.
Do the following:
Change the Custom Identity Keystore path to point to the ORACLE_BASE
/config/keystores/
CRMHOST2
_fusion_identity.jks
file.
Leave the Custom Identity Keystore type blank.
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.3, "Creating the Identity Keystore on CRMHOST2."
Re-enter the Confirm Custom Identity Keystore Passphrase.
Ensure that the Confirm Custom Trust Keystore path is pointing to the ORACLE_BASE
/config/keystores/fusion_trust.jks
file.
Leave the Custom Trust Keystore type blank.
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.3, "Creating the Identity Keystore on CRMHOST2."
Re-enter the Custom Trust Keystore Passphrase.
Click Save.
Select the SSL tab.
Make sure that Identity and Trust Locations is set to Keystores.
Change the Private Key Alias to CRMHOST2
_fusion
.
Change the Private Key Passphrase to the keypassword, as described in the second bullet in Step 4 in Section 7.3, "Creating the Identity Keystore on CRMHOST2."
Re-enter the keypassword from Step c for the Confirm Private Key Passphrase.
Click Save.
Select the Server Start tab and do the following:
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
When cloning the odi_server2
Managed Server only, ensure that the local coherence host and the coherence well known address
(wka
) properties are changed to the following:
-Dtangosol.coherence.localport=9066 -Dtangosol.coherence.localhost=CRMHOST2 -Doracle.odi.coherence.wka1=CRMHOST2 -Doracle.odi.coherence.wka1.port=9066 -Doracle.odi.coherence.wka2=CRMHOST1 -Doracle.odi.coherence.wka2.port=9066 -DJDBCProgramName=DS/CRMDomain/odi_server2 -Dserver.group=ODICluster
Click Save.
Select the Logging tab, and then select the HTTP tab.
Do the following:
Change the Log file name to logs/access.log.%yyyyMMdd%
.
Change the rotation type to By Time.
Leave the Limit number of retained files option unchecked.
Leave the Rotate log file on startup option unchecked.
Click Save.
Expand Advanced.
Change the format to Extended.
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)
Click Save.
Click Activate Changes.
Repeat Steps 2 to 18 for all the Managed Servers on this domain.
Stop the domain's Administration Server:
CRMHOST1> ORACLE_BASE/config/domains/CRMHOST1/CRMDomain/bin/stopWebLogic.sh
Set the following environment variable on CRMHOST2
:
export WLST_PROPERTIES="-Dweblogic.security.SSL.trustedCAKeyStore=ORACLE_BASE/
config/keystores/fusion_trust.jks"
Start 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') CRMHOST2> exit ()
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".
Run the newly created Managed Servers:
Log in to the Administration Server: http://
crminternal
.mycompany.com:7777/console
.
Navigate to CRMDomain > Environment > Servers > Control.
Select the newly created Managed Servers and click Start.
Navigate to CRMDomain > Environment > Servers and check the State to verify that the newly created Managed Servers are running.
Data Quality is an Informatica tool that provides the following:
A matching function, which allows you to search, match, and identify duplicate customer records based on key customer attributes such as name, address, date of birth, Social Security Number, or tax ID number. It also includes data quality connector, a generalized interface that can make real-time and batch requests to an external data-cleansing engine.
An address-cleansing feature, which corrects and validates address data based on postal requirements.
Implementing Data Quality requires four steps:
Obtaining postal reference data and license keys.
Setting up the Data Quality Engine, also known as Informatica Identity Resolution (IIR).
Configuring Data Quality Connector and IIR in Oracle Fusion Functional Setup Manager.
Creating a second Data Quality server on CRMHOST2
.
Before 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.
To set up the data quality engine:
On CRMHOST1
, change directory to ORACLE_BASE
/products/InformaticaIR/bin
.
Run the following commands:
CRMHOST1> ./setfusionEnv.sh CRMHOST1> ./liup CRMHOST1> ./idsup
Start the following:
./idsconc -a
On the launched console, select Rulebase Type=SSA and Alias=rtunitrb and click OK. Then click Yes to create a new rulebase.
In the IIR console, navigate to System > New > Create a system from SDF.
Enter the following system information:
System Name - FusionDQRealtime
System Definition File - ORACLE_BASE
/products/InformaticaIR/ids/FusionDQRealtime.sdf
DB Type - SSA
Alias - fusion_s01
Click OK, and then click Close to dismiss the Create/System window.
Navigate to System menu > Select > System Name: FusionDQRealtime and click OK.
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
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
Assuming you have received the postal reference data and license key files from AddressDoctor (that you requested in Section 8.7.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.
Run the following commands to start the IIR server:
CRMHOST1> ORACLE_BASE/products/InformaticaIR/bin/liup CRMHOST1> ORACLE_BASE/products/InformaticaIR/bin/idsup
From the IIR Console, do the following to start the UPD Synchronizer:
Run the following command:
CRMHOST1> ORACLE_BASE/products/InformaticaIR/bin/idsconc -a
On the launched console, select Rulebase Type=SSA and Alias=rtunitrb, and click OK to go the RuleBase.
In the IIR console, go to System > Select and select FusionDQRealtime.
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.
To configure the data quality connector and IIR:
Log in to Oracle Fusion Functional Setup Manager as an administrator. For example, http://
commoninternal
.mycompany.com:7777/homePage/faces/AtkHomePageWelcome
.
Click Navigator > Setup and Maintenance.
Select the All tasks tab.
Select Input Name= manage server and then click Search.
The Manage Server Configurations task displays.
Click Go to Task to open the Manage Data Quality Server Configurations page, and then click Search to find all existing configurations.
Select Realtime and Batch Basic Server and do the following:
Click Edit.
Enter the server IP address and port of the IIR search server you set up as the IIR matching server.
Note:
For the server IP address, enter the CRMHOST1
IP address. Enter the default port number, 1666
. Since the port number can be different than the default port number, run the following command to confirm that you are using the correct one:
grep SSA_SEPORT= ORACLE_BASE/products/InformaticaIR/env/isss
Select Enable Matching.
Click Save and Close.
From the Manage Data Quality Server Configurations page, select Realtime Cleanse Server and do the following:
Click Edit.
Enter the server IP address and port of the IIR search server you set up as the IIR matching server.
Note:
For the server IP address, enter the CRMHOST1
IP address. Enter the default port number, 1666
. Since the port number can be different than the default port number, run the following command to confirm that you are using the correct one:
grep SSA_SEPORT= ORACLE_BASE/products/InformaticaIR/env/isss
Select Enable Cleansing.
Click Save and Close.
From the Manage Data Quality Server Configurations page, select Batch Cleanse Server and repeat Steps a through d from Step 7.
Search for the task "Manage Data Synchronization" and click Go to Task.
From Actions dropdown list, select Refresh Identity Table Information to refresh the IDT repository information.
Select Enable for Sync for each IDT and click Save.
Click Schedule Synchronization Process and then Advanced.
Select Using a schedule.
Select Hourly/Minute from the Frequency dropdown list. (This frequency should be determined by the business requirement.)
Enter "every 5 minutes" for this example. (This "every 5 minutes" sample should be determined by the business requirement.)
Select a "next few days" end date from the calender. (This "few days" sample should be determined by the business requirement.)
Click Submit to schedule the Sync ESS job.
To create a second data quality server:
Run the following command:
CRMHOST2> cd ORACLE_BASE/repository/installers/iir/fusion_iir
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-VIP IIR_DB_PORT=1521 IIR_DB_SID=FADB1 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=1601 ############################################## # 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
Run the following command:
./runInstaller.sh install.props > test_console
The installation is now complete.
Configure the data quality connector and IIR:
Perform Steps 1 through 6 in Section 8.7.3, "Configuring the Data Quality Connector and IIR."
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.
Select Enable High Availability for each server configuration.
Click Save and Close.
Restart IIR on CRMHOST1
and CRMHOST2
.
On CRMHOST1
:
CRMHOST1> cd ORACLE_BASE/products/InformaticaIR/bin CRMHOST1> ./setfusionEnv.sh CRMHOST1> . ../env/isss CRMHOST1> ./idsdown CRMHOST1> ./idsup
On CRMHOST2
:
CRMHOST2> cd ORACLE_BASE/products/IIR2/InformaticaIR/bin CRMHOST2> ./setfusionEnv.sh CRMHOST2> . ../env/isss CRMHOST2> ./idsdown CRMHOST2> ./idsup
The following is sample output of the idsdown
command:
bash-3.2$ ./idsdown Mon Jun 24 11:48:48 2013 idsdown: shutting down idscssv on localhost:1669 Mon Jun 24 11:48:48 2013 idsdown: shutting down idscosv on localhost:1667 Mon Jun 24 11:48:48 2013 idsdown: shutting down idssesv on localhost:1666 Mon Jun 24 11:48:48 2013 idsdown: shutting down idsxmsv on localhost:1670 Mon Jun 24 11:48:48 2013 idsdown: shutting down idshtsv on localhost:1671 Mon Jun 24 11:48:48 2013 idsdown: shutting down idsrbsv on localhost:1668
Restart the Oracle Fusion Applications instances (which require DQ) so that the DQ Connector can do load balancing and failover.
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"
To configure Oracle HTTP Server:
Do the following: :
On WEBHOST1
, change directory to ORACLE_BASE
/config/CommonDomain_webtier/config/OHS/ohs1/moduleconf
On WEBHOST2
, change directory to ORACLE_BASE
/config/CommonDomain_webtier1/config/OHS/ohs2/moduleconf
Copy FusionVirtualHost_crm.conf
to FusionVirtualHost_crm.conf.org
.
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.
Repeat Step 3 for all applications.
Do the following to restart Oracle HTTP Server:
On WEBHOST1
:
Change directory to ORACLE_BASE
/config/CommonDomain_webtier/bin
Enter the following:
WEBHOST1> ./opmnctl stopall WEBHOST1> ./opmnctl startall
On WEBHOST2
:
Change directory to ORACLE_BASE
/config/CommonDomain_webtier1/bin
Enter the following:
WEBHOST2> ./opmnctl stopall WEBHOST2> ./opmnctl startall
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."
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:
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.
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
Log in to the CRMDomain
Oracle WebLogic Server Administration Console and stop all the Managed Servers on CRMHOST2
.
Start the Managed Servers on CRMHOST1
.
Repeat Step 2. (Ensure the log in prompt is visible.)
Start all the Managed Servers on CRMHOST2
and verify that they are running on CRMHOST1
and CRMHOST2
.