3 Installing and Configuring WebLogic for Oracle Real-Time Decisions

This chapter describes how to install and configure the Real-Time Decision Server on WebLogic.

Note:

Although the Real-Time Decision Server runs on either UNIX or Windows, the Oracle RTD client tools must be run from a Windows platform.

There are many system topologies possible for Oracle RTD systems set up under WebLogic. The complete setup of each system depends on a variety of factors, including the complexity and requirements of the system topology and the business implementation strategy.

In this section, it is assumed that you perform a typical system setup in two broad stages:

  1. A basic setup stage, where you install and configure Oracle RTD into a simple WebLogic domain, on the computer where you want to run Real-Time Decision Server.

    At the end of this stage, you can then perform a series of basic verification tasks, to test if your system installation and configuration has succeeded.

  2. A "post-installation" stage, where you select extra, optional facilities and features to add to and enhance the basic system.

    At the end of this stage, you can optionally perform one or more of the basic verification tasks. These do not test the new features, but may establish if any new errors have arisen.

The setup tasks in the "post-installation" stage are largely standalone and independent of each other, therefore you can perform them in any order. For the basic setup stage, Oracle advises that you follow the sequence of the tasks and the steps within the tasks as described in this section.

This chapter includes the following topics:

3.1 Basic Setup Tasks

The basic tasks for setting up WebLogic and configuring it for Oracle RTD appear in the following sections (for convenience the sections are grouped into the broad Install, Configure and Deploy categories):

Install WebLogic + Create Domain

Configure WebLogic for Oracle RTD

Deploy Oracle RTD in WebLogic

3.1.1 Installing WebLogic

For general information about installing WebLogic, see Oracle Fusion Middleware Installation Guide for Oracle WebLogic Server. Unless otherwise stated, the link references in this section are to topics in that manual.

There are several modes of WebLogic installation - Graphical, Console, Silent. You can use whichever mode is convenient - the following description assumes the Graphical installation mode.

To install WebLogic, follow the instructions in Section 3.1, Starting the Installation Program in Graphical Mode.

The screens that are the framework for the graphical mode installation are described in detail in the following sections:

Table 3-1 describes the main WebLogic installation screens and the options for a basic WebLogic installation (the "Screen" column shows the screen topic sections as described in Appendix A Oracle WebLogic Server Installation Screens).

Table 3-1 WebLogic Installation Screens

Screen Screen Title Notes

A.1

Welcome

 

A.2

Choose Middleware Home Directory

Create a new Middleware Home

For example, C:\Oracle\Middleware

A.3

Register for Security Updates

N/A

A.4

Choose Install Type

Typical - for WebLogic Server + Coherence

Note: if you want to switch off Coherence, select Custom.

A.5

Choose Products and Components

If you selected Custom on A.4, you can uncheck Coherence.

A.6

JDK Selection

If bundled JDK available, select it.

Otherwise, select the local JDK you want to use

A.7

Choose Product Installation Directories

For example, C:\Oracle\Middleware\wlserver_10.3

A.8

Confirm Product Installation Directory

N/A

A.9

Install Windows Service

This is to enable Node Manager to be installed as a Windows service. Select Yes.

A.10

Choose Shortcut Location

Leave the default: "All Users" Start Menu

A.11

Installation Summary

N/A

A.12

Status

N/A

A.13

Installation Complete

At end, launch Quickstart.

This launches the Configuration Wizard, where you can create a WebLogic domain


3.1.2 Creating a WebLogic Domain

For conceptual information about WebLogic domains, see Oracle Fusion Middleware Understanding Domain Configuration for Oracle WebLogic Server, and in particular, Section 2 Understanding Oracle WebLogic Server Domains.

For general information about creating WebLogic domains, see Oracle Fusion Middleware Creating Domains Using the Configuration Wizard, and in particular, the following sections:

For a basic WebLogic system, the domain to be created consists of:

  • 1 Admin Server

  • 1 Machine

  • 1 Cluster (with 1 Managed Server)

There are several ways to create a WebLogic domain - the following description assumes that you use the graphical mode available through the Configuration Wizard.

You can launch the Configuration Wizard either as described in Section 2.3 Starting the Configuration Wizard in Graphical Mode, or through QuickStart (select Getting Started with WebLogic Server 10.3.6).

Then follow the instructions as described in Section 2.4 Creating a WebLogic Domain in Graphical Mode.

Table 3-2 describes the main Configuration Wizard screens and the options to create a simple, single-cluster WebLogic domain (the "Screen" column shows the screen numbers as specified in Section 2.4 Creating a WebLogic Domain in Graphical Mode).

In the table, the suggested example names for the elements created are AS1 for the Admin Server, MC1 for the Machine, C1 for the Cluster, and MS1 for the Managed Server.

Table 3-2 WebLogic Configuration Wizard Screens for Creating a Simple Domain

Screen Screen Title Notes

1

Welcome

Create new domain

2

Select Domain Source

Generate a domain configured automatically to support the following products

3

Specify Domain Name and Location

Domain name (suggestion): RTD_domain

(Goes under MW_HOME\user_projects\domains)

4

Configure Administrator User Name and Password

Used for all WebLogic administrator processes

(required for Production Mode startup)

5

Configure Server Start Mode and JDK

Generally Production Mode

For JDK, select either the bundled JDK or the local JDK as previously set up

14

Select Optional Configuration

Select:

- Administration Server

- Managed Servers, Clusters and Machines

15

Configure Administration Server

Example:

Administration Server (AS1) listens on 7001.

17

Configure Managed Servers

Example:

Managed Server (MS1) listens on 7003.

18

Configure Clusters

Example: Cluster Name C1

19

Assign Servers to Clusters

Assign MS1 to C1

21

Configure Machines

Example: Machine Name MC1

22

Assign Servers to Machines

Assign AS1 and MS1 to MC1

27

Configuration Summary

 

28

Creating Domain

At end, start Admin Server


3.1.3 Configuring JVM Properties for Managed Server

To add JVM and startup arguments to the managed server, perform the following steps in the WebLogic Administration Console:

  1. Navigate the path:

    Environment > Servers > managed_server_name > Configuration > Server Start tab.

  2. In the Arguments field, you must enter a string of parameters, all on one line.

    Use the following string as a template:

    -Dorg.eclipse.emf.ecore.EPackage.Registry.INSTANCE=com.sigmadynamics.emf.util.SDEMFRegistry -Drtd.instanceName=<managed_server_name> -Drtd.HTTPHostAndPort=<host>:<port> -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=<JConsole_port> -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dweblogic.wsee.skip.async.response=true -XX:MaxPermSize=1024m
    

    Notes:

    1. For Sun JVM, leave -XX:MaxPermSize as 1024m; for JRocket, you can remove this parameter.

    2. The system property, rtd.skipIlsTestLoad, can be used to bypass test loading of an Inline Service (ILS) during ILS deployment. If unspecified in the JVM start parameters, the property has a default value of false, which means ILS test loading will be performed during ILS deployment.

      If the logging level is set to DEBUG, a message similar to the following can be seen in the server log file:

      2013-12-10 11:04:10,142 DEBUG [DeployAppCommand] Performing test load on CrossSell with deployment state 5.
      

      Set the property to true, that is, add -Drtd.skipIlsTestLoad=true to bypass ILS test loading. This may be helpful in ILS redeployments from Decision Center in a clustered environment.

    3. If your Inline Services have many external rules, add the following JVM parameter to improve the initial load time of these external rules:

      -Dsun.reflect.inflationThreshold=2147483647

    For the three highlighted parameters, specify the values that are specific to your system:

    • rtd.instanceName identifies the managed server in the cluster

      Note:

      The instanceName value can only contain alphanumerics, underscore, dash and period.

    • rtd.HTTPHostAndPort for communication between managed servers such a during request forwarding

    • com.sun.management.jmxremote.port is used when launching JConsole

    For example (no new-line or carriage-return characters allowed):

    -Dorg.eclipse.emf.ecore.EPackage.Registry.INSTANCE=com.sigmadynamics.emf.util.SDEMFRegistry -Drtd.instanceName=MS1 -Drtd.HTTPHostAndPort=srvmach01:7003 -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=12302 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dweblogic.wsee.skip.async.response=true -XX:MaxPermSize=1024m
    
  3. Save.

3.1.4 Configuring JDBC Source for Oracle RTD Database

For general information about creating JDBC Sources, see Oracle Fusion Middleware Configuring and Managing JDBC for Oracle WebLogic Server, and in particular, 3.3 Creating a JDBC Data Source.

To create the JDBC data source for the Oracle RTD database, perform the following steps:

  1. In the tree to the left under Change Center, click Lock & Edit.

  2. Navigate the path Services -> Data Sources -> New -> Generic Data Source.

  3. Click New.

  4. For Name, enter the name for the data source. For example, RTD_DS.

  5. For JNDI Name, enter SDDS (this must be the exact name).

  6. For Database Type, select Oracle.

  7. For Database Driver, select Oracle's Driver (Thin) for Instance connections; Versions: 9.0.1 and later.

  8. Click Next.

  9. Uncheck the Supports Global Transactions checkbox.

  10. Click Next.

  11. On the Connection Properties page, perform these steps:

    1. For Database Name, enter the name of the Oracle RTD Database you created in Section 2.2, "Creating and Initializing the Oracle RTD Database."

    2. For Host Name, enter the name of the computer hosting the database server.

    3. For Port, enter the port number on the database server used to connect to the database.

    4. For Database User Name, enter the name of the database run-time user.

    5. For Password, enter the password of the database run-time user, then click Next.

  12. On the Test Database Connection page, leave all the settings already filled, except enter SDAPPS for Test Table Name.

  13. Click Test Configuration. If the test fails, go back and check your settings. If the test succeeds, click Next.

  14. Under Clusters, select the checkbox for your cluster.

  15. Click Finish.

    (Optional) If you want to improve performance, you should consider turning off the "Wrap Data Types" option, by performing these steps:

    1. Select the data source that you just created.

    2. Under the Configuration tab, click on the Connection Pool sub tab.

    3. Scroll down and expand the Advanced section.

    4. Deselect Wrap Data Types.

    5. Click Save.

  16. In the tree to the left under Change Center, click Activate Changes.

3.1.5 Configuring Oracle RTD Security in WebLogic

Note:

For general information about roles and permissions in Oracle RTD, see Chapter 5, "Configuring Security for Oracle Real-Time Decisions."

In WebLogic, Oracle RTD roles are defined in terms of user groups. A user is in a role if the user is in any of the groups referenced by the role. So the process is to create the groups, then create the roles that reference the groups. Users may be assigned to or removed from the groups at any time to add them or remove them from the referencing roles.

The following topics describe the stages of the process of creating Oracle RTD roles for WebLogic:

3.1.5.1 Creating User Groups for Standard Roles

To create user groups for standard roles, perform the following steps:

  1. Open the WebLogic Administration Console.

  2. In the tree on the left, select Security Realms.

  3. In the window on the right, select the security realm to use. The default realm is myrealm.

  4. Select the Users and Groups tab.

  5. Select the Groups sub-tab.

  6. Create each of these groups, or names of your own choosing:

    • RTDUserGroup

    • RTDAdminGroup

    • RTDBatchAdminGroup

    • RTDChoiceEditorGroup

    • RTDDCEditorGroup

    • RTDDCUserGroup

    • RTDStudioDeployerGroup

    • RTDStudioDownloaderGroup

3.1.5.2 Creating User Groups for Custom Roles (Optional)

Create enterprise-specific groups, if Inline Service development and access is to be controlled for separate Inline Services.

For example:

  • ILS2DevGroup - Developers for Inline Service ILS2

  • ILS2UserGroup - Business users for Inline Service ILS2

3.1.5.3 Specifying Subgroups

Select each of the standard and custom Oracle RTD groups in turn, except for RTDUserGroup, and make each of them a member of the group RTDUserGroup. This will allow any user to be automatically added to the RTDUserGroup when they are added to one of the other Oracle RTD groups.

The individual steps for each group are as follows:

  1. Select the group.

  2. Select its Membership tab.

  3. Select RTDUserGroup in the Available column and move it to the Chosen column.

  4. Click Save.

3.1.5.4 Creating Roles

Create standard Oracle RTD roles and any custom roles needed by the enterprise. Standard roles are the ones to which Oracle RTD automatically assigns realm permissions. Custom roles require cluster permission assignments through JMX.

The following table shows the standard roles and some custom roles, as well as the groups to associate with the roles, to illustrate the steps described in this section.

Table 3-3 Role and Group Associations

Role Group Standard or Custom

RTDUsers

RTDUserGroup

Standard

RTDAdministrators

RTDAdminGroup

Standard

RTDDecisionCenterEditors

RTDDCEditorGroup

Standard

RTDDecisionCenterUsers

RTDDCUserGroup

Standard

RTDStudioDeployers

RTDStudioDeployerGroup

Standard

RTDStudioDownloaders

RTDStudioDownloaderGroup

Standard

RTDBatchAdministrators

RTDBatchAdminGroup

Standard

RTDChoiceEditors

RTDChoiceEditorGroup

Standard

ILS2Developers

ILS2DevGroup

Custom - an example

ILS2Users

ILS2UserGroup

Custom - an example


Perform the following steps:

  1. Select the Roles and Policies tab of the security realm.

  2. Expand the Global Roles item in the Name column of the Roles.

  3. Select Roles.

    The following steps enable you to create the roles and to reference the corresponding group, as shown in the preceding table.

  4. For each role, perform the following steps:

    1. Click New to create a new global role.

    2. Enter the role name, as in Table 3-3.

    3. Click OK.

    4. Open the new role by clicking on its name in the global roles list.

    5. Click Add Conditions.

    6. Make sure that the Predicate List drop-down shows Group.

    7. Click Next.

    8. Enter the group name in the GroupArgument Name field, as in Table 3-3.

    9. Click Add.

    10. Click Finish.

    11. Click Save.

    12. Go back to the Global Roles list by clicking Global Roles in the list of bread-crumbs at the top of the screen.

3.1.5.5 Creating the Oracle RTD Administrator and Other Users

To create an Oracle RTD Administrator, perform the following steps:

  1. Go to the myrealm page, and select the Users and Groups tab.

  2. Select the Users sub-tab.

  3. Create an Oracle RTD administrator.

  4. Click the New button.

  5. Enter the user's name and password.

  6. Click OK.

  7. Click the user name, to edit the user properties.

  8. Select the Groups tab.

  9. Select the RTDAdminGroup in the left list, Available, and click the right arrow to move it to the right list, Chosen.

  10. Click Save.

  11. Return to the Users and Groups tab by selecting Users and Groups in the list of bread-crumbs at the top of the screen.

To create more users and put them into appropriate groups referenced by the roles, perform steps 4 through 11 of the preceding list of steps for each user.

3.1.6 Deploying Oracle RTD to WebLogic

For general information about deploying WebLogic applications, see Oracle Fusion Middleware Deploying Applications to Oracle WebLogic Server.

To deploy Oracle RTD to your cluster, perform the following steps:

  1. Logon to the Administration Console:

    http://weblogic_host:port/console

  2. In the tree to the left under Domain Structure, navigate to Deployments > Install.

  3. In the Install Application Assistant page, set the Path of the deployment to the location of deployment to the expanded folder that you set up in Section 2.1, "Installing Oracle Real-Time Decisions Files."

    For example, RTD_HOME\package\expanded.

  4. Set Install this deployment as an application.

  5. Select Cluster for the deployment target.

  6. Set the Name as OracleRTD.

  7. In the Security area, select Custom Roles.

  8. In the Source accessibility area, select Copy this application onto every target for me under Recommended selection.

  9. Select the cluster as the target on which to deploy.

    After deployment, the OracleRTD application is in a Prepared state.

  10. Start the OracleRTD application..

    This converts the application state from Prepared to Active.

    The Oracle RTD log file can be found at RTD_RUNTIME_HOME/log/server.log.

    For example

    • MW_HOME/user_projects/domains/domain_name/servers/server_name/stage/OracleRTD/expanded/log/server.log

3.1.7 Restarting WebLogic Server

This process consists of restarting the Admin Server and Node Manager, then starting the server or servers in the cluster.

To restart the Admin Server and Node Managers, perform the following steps:

  1. Stop Node Manager.

    If Node Manager has been set up as a web service, you can stop Node Manager from the Services window.

    Alternatively, find the command window where the Node Manager has been started (from a previous execution of startNodeManager.cmd) and hit Ctrl-C or close the window.

  2. Stop the Admin Server.

    Find the command window where the Admin Server has been started (from a previous execution of startWebLogic.cmd) and hit Ctrl-C or close the window.

    Alternatively, run the command:

    • weblogic-install-dir/user_projects/domains
      /rtd_domain/bin/stopWebLogic.cmd

    For example:

    • c:/Oracle/Middleware/user_projects/domains
      /rtd_domain/bin/stopWebLogic.cmd

  3. Start the AdminServer.

    Run the command:

    • weblogic-install-dir/user_projects/domains
      /rtd_domain/bin/startWebLogic.cmd

    For example:

    • c:/Oracle/Middleware/user_projects/domains
      /rtd_domain/bin/startWebLogic.cmd

  4. Start Node Manager.

    If Node Manager has been set up as a web service, you can start Node Manager from the Services window.

    Alternatively, run the command:

    • weblogic-install-dir\wlserver_10.3\server
      \bin\startNodeManager.cmd

For a typical installation, the log files for AdminServer can be found at:

  • C:\Oracle\Middleware\user_projects\domains\rtd_domain
    \servers\AdminServer\logs\

3.1.8 Starting Clustered Servers

If the cluster servers have not been automatically started as part of the WebLogic Server restart, perform the following steps in the WebLogic Administration Console to start the clustered servers:

  1. In the tree to the left under Domain Structure, expand Environment and click Clusters.

  2. Click the cluster name whose servers you want to start.

  3. Click the Control tab.

  4. Check all servers in the cluster.

  5. Click Start.

  6. Click Yes.

  7. Wait until the installation finishes.

For a typical installation, the log files for the managed server MS1 can be found at:

  • C:\Oracle\Middleware\user_projects\domains\rtd_domain
    \servers\MS1\logs\

3.1.9 Starting OracleRTD

If the OracleRTD application has not been automatically started as part of the WebLogic Server restart, perform the following steps in the WebLogic Administration Console to start the OracleRTD application:

  1. In the tree to the left under Domain Structure, click Deployments.

  2. Check the OracleRTD checkbox.

  3. Click Start and select Servicing all Requests.

  4. Click Yes.

  5. Wait until the installation finishes.

For a typical installation, the OracleRTD log file server.log can be found at:

  • C:\Oracle\Middleware\user_projects\domains\rtd_domain
    \servers\MS1\stage\OracleRTD\expanded\log\

3.2 Verification Tasks

This section describes a number of system verification processes, which you can perform after installation and after any significant system enhancement or modification, such as described in Section 3.3, "Post-Installation Tasks."

Verify Oracle RTD Deployment

3.2.1 Viewing OracleRTD MBeans in JConsole

To view the MBeans for the OracleRTD application in JConsole, perform the following steps:

  1. Run jconsole.exe from a Java installation.

    For example: C:\Program Files\Java\jdk1.7.x\bin\jconsole.exe

  2. In the New Connection window, click Remote Process.

  3. In the unnamed box under Remote Process, enter host and port values in the format <hostname>:<port>.

    The host is the machine name of the first clustered server instance, and the port is the JMX remote port set for this server instance as specified in Section 3.1.3, "Configuring JVM Properties for Managed Server."

    For example: srvmach01:12302

  4. Enter the administrator username and password.

  5. Click Connect.

  6. If you are not using SSL, click Insecure connection.

    This image is described in the surrounding text.

    You can view the OracleRTD MBeans entries, similar to the following:

    This image is described in the surrounding text.

    Note:

    The preceding image shows Inline Services entries. Inline Service entries only appear only after the Inline Services have been deployed.

3.2.2 Deploying an Inline Service in Decision Studio

If you are running Decision Studio on a 32 bit machine, go to the client computer where you installed the Oracle RTD client tools and run

RTD_HOME\eclipse\eclipse.exe.

To run Decision Studio on a 64 bit machine, you must specify a 32 bit JDK on the command line, in the following format:

RTD_HOME\eclipse\eclipse.exe -vm "32bit_jdk_directory\bin\javaw"

For example:

C:\OracleBI\RTD\eclipse\eclipse.exe -vm "C:\Program Files (x86)\Java\jdk1.7.x\bin\javaw"

Note:

The following assumes that you have set up the tables for the CrossSell Inline Service, as described in Section 2.3, "Populating the CrossSell Example Data (Optional)." If you have not done this, set up and deploy your own Inline Service.

Import the CrossSell Inline Service as an existing project from RTD_HOME\RTD\examples\CrossSell\.

Deploy the CrossSell Inline Service, with Host= your host machine, and Port=either your managed server port (or 8080 if you have set up the web server).

3.2.3 Running Integration Point Tests in CrossSell Inline Service

Before you can perform tests on the integration points in the CrossSell Inline Service, you must have first deployed the CrossSell Inline Service, as described in Section 3.2.2, "Deploying an Inline Service in Decision Studio."

To test the integration points in the CrossSell Inline Service, perform the following steps:

  1. In the CrossSell Inline Service in Decision Studio, click the Test tab.

  2. Call Start

    1. In the Test tab, select the Call Start Integration Point.

    2. Enter 5 for Customer ID and "Cell" for channel.

    3. Click the (right-arrow) Execute Request icon.

  3. Offer Request

    1. In the Test tab, select the Offer Request Integration Point.

    2. Enter 5 for Customer ID and "Cell" for channel.

    3. Click the (right-arrow) Execute Request icon.

    4. Note which offer is generated in the Response tab.

  4. Offer Response

    1. In the Test tab, select the Offer Response Integration Point.

    2. Enter 5 for Customer ID and "Cell" for channel.

    3. For choiceName, enter the offer noted in 3d.

    4. Enter "Interested" for choiceOutcome and "off" for simulationMode.

    5. Click the (right-arrow) Execute Request icon.

  5. Call Resolution

    1. In the Test tab, select the Call Resolution Integration Point.

    2. Enter 5 for Customer ID and "Cell" for channel.

    3. Click the (right-arrow) Execute Request icon.

Note:

If an error message appears in the Log tab indicating that a Decision Service request was received from an untrusted host, you must enter the IP address of your host in JConsole, in

  • MBeans > OracleRTD > Cluster > Decision Service > TrustedDSClients

This change takes effect immediately, that is, you do not have to restart the cluster or managed server.

3.2.4 Running Load Generator Against CrossSell Inline Service

Note:

The following assumes that you have set up the tables for the CrossSell Inline Service, as described in Section 2.3, "Populating the CrossSell Example Data (Optional)." If you have not done this, run the Load Generator against your own Inline Service.

To run Load Generator against the CrossSell Inline Service, perform the following steps:

  1. If you have not set up the web server, edit the file RTD_HOME\client\clientHttpEndPoints.properties as follows:

    Change the port number on the line

    • HTTP1.url = http://localhost:8080

    to the port of the managed server, for example,

    • HTTP1.url = http://localhost:7003

  2. Start Oracle RTD Load Generator by running:

    RTD_HOME\scripts\loadgen.cmd

  3. Click Open an existing Load Generator script.

  4. Go to RTD_HOME\examples\CrossSell\etc and select LoadGen3Threads.xml.

  5. Click Open.

  6. Click the General tab.

  7. Next to Client Configuration File, on the right, click the ellipsis (...) button.

  8. Go to RTD_HOME\client.

    Select clientHttpEndPoints.properties.

  9. Click Open.

  10. In the top menu bar, click File, then Save.

  11. In the top menu bar, click the icon Runs the current Load Generator script (blue right arrow).

3.2.5 Viewing Reports in Decision Center

To view reports in Decision Center, perform the following steps:

  1. In a browser window, enter http://hostname:managed_server_port/ui

    For example, http://localhost:7003/ui.

  2. Enter the Oracle RTD administrator user name and password, then click Login.

  3. Open the CrossSell Inline Service.

  4. In the left-hand menu, click Offers.

  5. Select different choices, and explore the reports for the choices.

    For example, Performance > Counts, Analysis > Best-fit, Analysis > Quality > Cumulative Gains Chart.

    Note:

    Depending on which choices were generated by Load Generator, some choices may have fuller reports than others.

3.3 Post-Installation Tasks

This section describes the tasks that you can perform after a basic system setup to add more features and capabilities into your system.

After each post-installation task, you can optionally perform one or more of the basic system verification tasks described in Section 3.2, "Verification Tasks."

This section contains the following topics:

3.3.1 Setting Up and Configuring the Web Server

Note:

This section describes a basic Web Server setup for a WebLogic system. For more details and further information, see Configuring Web Server Functionality in Oracle Fusion Middleware Configuring Server Environments for Oracle WebLogic Server.

This process consists of first installing Apache (download it from the Web), then enabling the WebLogic proxy plug-in in the servers, then configuring up the Apache HTTP server.

3.3.1.1 Enabling WebLogic Proxy Plug-In in Servers

To enable the WebLogic proxy plug-in in the servers, perform the following steps in the WebLogic Administration Console:

  1. In the tree to the left under Change Center, click Lock & Edit.

  2. In the tree to the left under Domain Structure, expand Environment and click Servers.

  3. Click the managed server name.

  4. Under Configuration tab General section, click Advanced.

  5. Under Advanced, check WebLogic Plug-In Enabled checkbox.

  6. Click Save.

  7. In the tree to the left under Change Center, click Activate Changes.

3.3.1.2 Configuring Apache HTTP Server

After installing Apache, to configure the Apache HTTP server, perform the following steps:

  1. Copy

    • weblogic-install-dir\wlserver_10.3\server\plugin
      \win\32\mod_wl_22.so

    to

    • apache-install-dir\modules\

    For example:

    C:\Program Files\Apache Software Foundation
    \Apache2.2\modules\

  2. Open apache-install-dir\conf\httpd.conf.

    For example:

    C:\Program Files\Apache Software Foundation
    \Apache2.2\conf\httpd.conf

    (Alternatively: Start>All Programs>Apache HTTP Server 2.2
    >Configure Apache Server>Edit the Apache httpd.conf Configuration File
    )

  3. Change the port for property Listen to 8080.

  4. Change the port for property ServerName to 8080.

    For example: ServerName myHostName.mynetwork.com:8080

  5. At the end of httpd.conf, add the following lines, after replacing hostName* and 7002-7007 in the WebLogicCluster line with the server and port for your system.

    [Note that you can include servers and ports that you intend to create in the future, as in the following example, where extra servers on srvmach01 with ports 7004 and 7005 may not have been set up yet.]

    LoadModule weblogic_module modules/mod_wl_22.so
    <IfModule mod_weblogic.c>
        # RTDCluster_DsDcLs
        <LocationMatch "/(ui|schema|soap|rtis|ls)">
          SetHandler weblogic-handler
          WebLogicCluster srvmach01:7003,srvmach01:7004,srvmach01:7005
        </LocationMatch>
     </IfModule>
    
  6. Save httpd.conf.

  7. Start Apache HTTP: Start>All Programs>Apache HTTP Server 2.2
    >Control Apache Server>Start Apache in Console

    (Or C:\Program Files\Apache Software Foundation\Apache2.2\bin>httpd -k start)

    Note:

    To stop, close the window in which you started Apache.

    (Or C:\Program Files\Apache Software Foundation\Apache2.2\bin>httpd -k stop)

3.3.2 Setting Up JConsole Security for WebLogic (Recommended)

Perform the following steps to set up security for the JConsole management tool.

  1. Navigate the path:

    Environment > Servers > managed_server_name > Configuration > Start Server tab.

  2. If you have not set the -Dcom.sun.management.jmxremote.authenticate parameter to "true" during the previous process of Configuring JVM Properties for Managed Server, then, for the Arguments field, add the following, all on one line:

    -Dcom.sun.management.jmxremote.authenticate=true 
    
  3. Save.

  4. Go to JAVA_HOME/jdkversion/jre/lib/management. Then, create a copy of the jmxremote.password.template file and rename it to jmxremote.password.

  5. Open the jmxremote.password file for editing. At the end of the file, remove the pound character (#) in front of the following two lines:

    monitorRole QED
    controlRole R&D
    

    Each line lists a set of credentials, or in other words, a user name followed by the corresponding password. Optionally, you can add new user names and passwords on separate lines. If you decide to keep the default user names monitorRole and controlRole, change the default passwords to new ones of your choice.

    By default, the user name monitorRole allows JConsole MBean read-only permissions, while the user name controlRole allows for full JMX MBean control. The following step explains how to change these default permissions.

  6. To set permissions for each set of credentials, open the jmxremote.access file, located in the same directory, for editing. Then, use the keywords readonly and readwrite to specify the access level for each set of credentials. For example:

    monitorRole readonly
    controlRole readwrite
    

    Make sure to add permissions for any new credentials you added to the jmxremote.password file.

  7. Because the jmxremote.password file contains passwords in clear text, you need to restrict access to this file to the file owner by changing the file access permissions, as follows:

    For more information on JConsole security, go to:

    http://docs.oracle.com/javase/7/docs/technotes/guides/management/agent.html
    

    Important:

    You must change the file access permissions for the jmxremote.password file. Do not skip this step.

  8. Restart the managed server.

You can now run JConsole and log in, using the user name and password combination defined in the jmxremote.password file. See Section 11.3, "Accessing JConsole" for more information.

3.3.3 Configuring Additional JDBC Sources

To configure an additional JDBC data source, perform the following steps:

  1. In the tree to the left under Change Center, click Lock & Edit.

  2. Navigate the path Services -> Data Sources -> New -> Generic Data Source.

  3. For Name, enter the name for the data source.

  4. For JNDI Name, enter any name (except SDDS).

  5. For Database Type, select Oracle.

  6. Click Next.

  7. For Database Driver, select Oracle's Driver (Thin) for Instance connections; Versions: 9.0.1 and later.

  8. Click Next.

  9. Uncheck the Supports Global Transactions checkbox.

  10. Click Next.

  11. On the Connection Properties page, perform these steps:

    1. For Database Name, enter the name of the database referenced by the data source.

    2. For Host Name, enter the name of the computer hosting the database server.

    3. For Port, enter the port number on the database server used to connect to the database.

    4. For Database User Name, enter the name of the database run-time user.

    5. For Password, enter the password of the database run-time user, then click Next.

  12. On the Test Database Connection page, leave all the settings already filled, except, for Test Table Name, enter a table in the database.

  13. Click Test Configuration. If the test fails, go back and check your settings. If the test succeeds, click Next..

  14. Under Clusters, select the checkbox for your cluster.

  15. Click Finish.

    (Optional) If you want to improve performance, you should consider turning off the "Wrap Data Types" option, by performing these steps:

    1. Select the data source that you just created.

    2. Under the Configuration tab, click on the Connection Pool sub tab.

    3. Scroll down and expand the Advanced section.

    4. Deselect Wrap Data Types.

    5. Click Save.

  16. In the tree to the left under Change Center, click Activate Changes.

3.3.4 Scaling Up

Scaling up is the process of adding more managed servers to your system, on the same machine where you set up your basic system. You can do this by adding extra managed servers to the cluster set up in the basic system.

This section describes the process of adding extra managed servers to a cluster, then modifying their Server Start parameters.

Note:

As the OracleRTD application is targeted to a cluster, you do not have to deploy OracleRTD separately on each additional server.

To create an extra managed server, first clone an existing server, specifying the new Server Listen Address and Server Listen Port.

Then add JVM and startup arguments to the new managed server. To do this, perform essentially the same steps described for creating the first managed server in Section 3.1.3, "Configuring JVM Properties for Managed Server."

As for the first managed server, for each extra server, you must provide server-specific values for the following Server Start parameters:

  • rtd.instanceName (specify the managed server name)

  • rtd.HTTPHostAndPort (specify host and port for the managed server)

  • com.sun.management.jmxremote.port (specify the port for JConsole)

After you save your changes, activate them.

Then start the new managed server.

When all the new managed server startups have completed successfully, you can log into JConsole (using any of the managed server jmxremote.port values), and see the new managed servers in the expanded list of MBeans under OracleRTD > Cluster, such as in the following example:

This image is described in the surrounding text.

3.3.5 Scaling Out

To scale out to another (target) machine, perform the following steps:

  1. Install WebLogic on the second (target) machine.

  2. Start Node Manager on the target machine.

  3. On the target machine:

    • Start the WebLogic Scripting Tool (wlst.sh or wlst.cmd)

    • Connect to the first (source) machine

    • Enroll the second (target) machine in the existing domain (use nmEnroll)

    • Disconnect from the first machine

    • Quit the WebLogic Scripting Tool

  4. On the source machine:

    • Clone the existing Machine

      For the cloned Machine, specify a new name, and new host and IP address values

    • Clone the existing server and specify that the new server is on the cloned Machine

  5. Start the cloned server.

3.4 Uninstalling the Oracle Real-Time Decisions Application from WebLogic

You can use the WebLogic Server Administration Console to uninstall Oracle RTD from WebLogic. Before you begin, ensure that WebLogic is started.

To uninstall Oracle RTD from WebLogic:

  1. Access the WebLogic Server Administration Console for your Oracle RTD domain at the URL http://weblogic_host:port/console. At the login prompt, enter the administrator user name and password. On Windows, you can also access the WebLogic Server Administration Console through Start > Programs > Oracle WebLogic > User Projects > domain_name > Admin Server Console.

  2. In the tree on the left, click Deployments.

  3. Select OracleRTD and click Stop > Force Stop Now.

  4. Select OracleRTD and click Delete.

These steps uninstall Oracle RTD from WebLogic, but they do not remove the Oracle RTD files from the operating system.

To be able to redeploy Oracle RTD, you must delete the Oracle RTD files manually, with the managed server shut down. Delete the apps folder under the directory into which you expanded the file RTD.ear when you installed Oracle RTD. For more information about this directory, see Step 2 of Section 2.1.1, "Installing Oracle RTD on a Single Windows Computer" or Step 2 of Section 2.1.2, "Installing Real-Time Decision Server on UNIX."

3.5 Configuring SSL for Real-Time Decision Server (Recommended)

Follow the steps in this section to set up SSL for all client connections to Real-Time Decision Server. Before you begin, ensure that you followed the instructions in Section 2.5 to change the default Oracle RTD keystore and truststore passwords. Also, ensure that WebLogic is started.

Note:

If you want to use your own keystore and truststore, you do not need to complete the instructions in Section 2.5.

To configure SSL for Real-Time Decision Server:

  1. Access the WebLogic Server Administration Console for your Oracle RTD domain at the URL https://weblogic_host:port/console. At the login prompt, enter the administrator user name and password. On Windows, you can also access the WebLogic Server Administration Console through Start > Programs > Oracle WebLogic > User Projects > domain_name > Admin Server Console.

  2. In the tree on the left, expand Environment and choose Servers.

  3. Click the name of the RTD Managed Server (for example, RTD_Server).

  4. In the General tab, select SSL Listen Port Enabled, then enter 8443 for SSL Listen Port.

  5. Click the Keystores tab, then provide the following values:

    1. For Keystores, select Custom Identity and Custom Trust.

    2. For Custom Identity Keystore, enter RTD_HOME/etc/ssl/sdserver.keystore. Alternatively, if you do not want to use the default Oracle RTD keystore, enter the path to your own keystore.

    3. For Custom Identity Keystore Type, enter JKS.

    4. For Custom Identity Keystore Passphrase and Confirm Custom Identity Keystore Passphrase, enter the password for your keystore. If you are using the default Oracle RTD keystore, enter the password you created in Section 2.5.

    5. For Custom Trust Keystore, enter RTD_HOME/etc/ssl/sdtrust.store. Alternatively, if you do not want to use the default Oracle RTD truststore, enter the path to your own truststore.

    6. For Custom Trust Keystore Type, enter JKS.

    7. For Custom Trust Keystore Passphrase and Confirm Custom Trust Keystore Passphrase, enter the password for your truststore. If you are using the default Oracle RTD truststore, enter the password you created in Section 2.5.

  6. Click the SSL tab, then provide the following values:

    1. For Identity and Trust Locations, select Keystores.

    2. For Private Key Alias, enter tc-ssl.

      For Private Key Passphrase and Confirm Private Key Passphrase, enter the password for your keystore. If you are using the default Oracle RTD keystore, enter the password you created in Section 2.5.

  7. Click Save.

  8. Restart the RTD Managed Server.

    Note:

    For a truly secure environment, you should also disable the regular HTTP port to ensure that all client connections are routed through the SSL port. To do this, perform the following step:

    1. Disable the HTTP port for your Web server using application server tools. Refer to the WebLogic documentation for more information.

  9. If you are using your own keystore and truststore, perform the following additional steps to enable SSL for Decision Studio. You do not need to perform these steps if you are using the default Oracle RTD keystore and truststore.

    1. Open RTD_HOME\eclipse\eclipse.ini for editing.

    2. Locate the following line:

      -Djava.net.ssl.trustStore="..\etc\ssl\sdtrust.store"
      
    3. Replace ..\etc\ssl\sdtruststore with the full path to your truststore file.

    4. Save and close the file.

    5. Open RTD_HOME\scripts\sdexec.cmd for editing.

    6. Locate the line beginning with %SD_START%, near the bottom of the file. Near the end of the line, locate the following string:

      -Djavax.net.ssl.trustStore="%SD_ROOT%\etc\ssl\sdtrust.store"
      
    7. Replace %SD_ROOT%\etc\ssl\sdtruststore with the full path to your truststore file.

    8. Save and close the file.

3.5.1 Testing the SSL Configuration

To verify that the SSL port is functioning properly, go to Decision Center at the URL https://server_name:ssl_port/ui. If the SSL port is functioning property, your browser will display the "Welcome to Decision Center" login screen.

You may get a message from your Web browser, similar to "Do you want to accept this certificate?" This message is generated because the browser does not know about the self-signed certificate that was shipped with the default Oracle RTD keystore. This self-signed certificate is suitable for development and test environments, but it is not recommended for production environments.

For production environments, Oracle recommends the self-signed certificate be replaced with a certificate from a trusted certificate authority (CA), like Verisign/Thawte, by submitting to the CA a certificate request generated by Sun's keytool utility.

For instructions on generating a certificate request, and for importing the certificate from the CA into the keystore, go to one of the following URLs:

For Linux and Solaris:

http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/keytool.html

For Windows:

http://docs.oracle.com/javase/7/docs/technotes/tools/windows/keytool.html