Install and Configure Oracle Fusion Middleware using Slim Installer
Oracle Health Insurance applications run on the Oracle Fusion Middleware Application Server, also known as the Oracle WebLogic Server.
The slim installer option enables the creation of light-weight Docker or CRI-O images and containers in Kubernetes, when the installation does not require the WebLogic console.
The slim installation includes the Oracle WebLogic Server and Oracle Coherence server runtime applications, but excludes examples, the WebLogic console, WebLogic clients, Maven plug-ins and Java DB.
The Oracle Health Insurance ADF user interface does not run on the slim installation; only the JET user inteface is available.
If it runs on more than one managed server or node, the application servers have to be configured as a cluster. WebLogic version 12.1.x introduced a DynamicCluster feature. A dynamic cluster uses a single server template to define the configuration for a specified number of generated (dynamic) server instances. In a dynamic cluster, additional dynamic servers can be started without having to first manually configure and add them to the cluster. Oracle Health Insurance applications are certified to work with both static and dynamic clusters.
This guide assumes the reader has experience with the installation and set up of the Oracle WebLogic Server. For additional information regarding the installation process refer to the product documentation.
The certification information is available, per release, on My Oracle Support. It specifies the required Java and Oracle WebLogic Server software versions that have to be installed.
This chapter outlines the installation procedure of the Oracle WebLogic Server software.
Installing Oracle Fusion Middleware and Creating a Domain
Install Oracle Fusion Middleware and use the Slim Installer for the Oracle WebLogic Server and Oracle Coherence.
Create a WebLogic Domain, either by using he Fusion Middleware Configuration Wizard, the command line or WLST scripts. All subsequent changes to the Weblogic Domain have to be done through the WLST or via the RESTful Management API.
If using the Configuration Wizard, make sure to select the WebLogic Coherence Cluster Template. Any other templates are optional and are not required for running the Oracle Health Insurance applications.
When using the Configuration Wizard, Oracle recommends accepting the default Coherence Cluster Name and Unicast Listen Port.
Domain Configuration
Redirect the JVM Output to a Log File
The JVM output for a WebLogic server is written to the console by default. Oracle recommends redirecting the console output to a file.
In development mode, the default size of a logfile before it is rotated is set to 500Kb. Oracle recommends changing the size of the log files before rollover to 10240 Kb and specifying the number of log files that are retained.
Setting up the Claims Properties Files
Create a directory that holds the Claims properties and the configuration files.
This directory is referenced as <CONFIG_ROOT>
throughout this document.
Copy the following files that are delivered as part of the specific release from <OHI_ROOT>/properties*
to <CONFIG_ROOT>
:
-
logback.xml
-
ohi-claims.properties.template
Rename the copied ohi-claims.properties.template to ohi-claims.properties.
Copy the file <OHI_ROOT>/util/security/ohi-security.config
to <CONFIG_ROOT>
.
Setting up Coherence Clusters
Oracle Health Insurance applications use Oracle Coherence. The IT infrastructure on which the system is installed determines the configuration for Oracle Coherence. This paragraph describes the following configuration options:
-
Control multiple Coherence clusters that are spread across multiple machines
-
Control multiple Coherence clusters that are executed on one machine
-
Specific settings for running Coherence in a Production environment
Define a Coherence Cluster for Oracle Health Insurance
Oracle recommends creating an application-specific Coherence cluster that is associated with the application-specific WebLogic Cluster in which the Oracle Health Insurance application is executed.
For example, for the Oracle Health Insurance Claims application, create a claims_cluster and a claims_coherence_cluster. Associate the claims_cluster with the claims_coherence_cluster while configuring the Weblogic Administration Domain. Enable the local storage.
Linking JVMs to Coherence Clusters
To control which JVMs can join a Coherence cluster, the following options are available:
-
Use multicast addressing and have every member that needs to join the cluster define the cluster name
-
Use the Coherence Well Known Addresses (WKA) feature
Use either of these options to:
-
Control multiple Coherence clusters that are spread across multiple machines.
-
Control multiple Coherence clusters that are executed on a single machine.
For example, assuming use of WKA to control which members are allowed to join a Coherence cluster and a WebLogic cluster named claims_cluster that consists of the following server members:
-
One administration server
-
Two managed servers, named claims_node1 and claims_node2.
The claims_cluster is associated with an existing claims_coherence_cluster.
-
Two Well Known Addresses are defined for claims_coherence_cluster:
Name Listen Address Listen Port wka1
Name of the host machine that runs the managed server
A unique listen port, for example, 27111
wka2
Name of the host machine that runs the managed server
A unique listen port, for example, 27112
-
For each Managed Server, change the settings as follows:
Settings for … Unicast Listen Address Unicast Listen Port claims_node1
Name of the host machine that runs the managed server
wka1
claims_node2
Name of the host machine that runs the managed server
wka2
For additional information refer to the Fusion Middleware documentation on Administering Clusters for the Oracle WebLogic Server.
Running Coherence in a Production Environment
Oracle Coherence runs in development mode by default. The Production Checklist in the Coherence Documentation recommends to use the development mode for all pre-production activities, such as development and testing. This is an important safety feature, as Coherence automatically prevents these nodes from joining a production cluster. The production mode has to be explicitly enabled.
In the Production environment, set the system property tangosol.coherence.mode
has to the value prod
in the script that is used to start the Coherence nodes:
-Dtangosol.coherence.mode=prod
Setting Environment Variables
Although environment variables for Oracle Health Insurance Claims are set in the startWebLogic.sh script, the recommended approach is to create a separate shell script named setClaimsEnv.sh
in a chosen directory, referred to as <SET_ENV_VAR_DIR>. Ensure this is a shared directory for all the managed servers in the cluster.
The following is a sample setClaimsEnv.sh script, formatted for readability:
# Memory Args MEM_ARGS="-Xmx4096m" MEM_ARGS="${MEM_ARGS} -XX:+UseG1GC" export MEM_ARGS # Java Options JAVA_OPTIONS="${JAVA_OPTIONS} -Dohi.properties.url=file:/config/ohi-claims.properties" JAVA_OPTIONS="${JAVA_OPTIONS} -Dlogback.configurationFile=/config/logback_claims.xml" JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.security.auth.login.config=/config/ohi-security.config" JAVA_OPTIONS="${JAVA_OPTIONS} -Dtangosol.coherence.mode=prod" JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.org.apache.xml.internal.dtm.DTMManager= com.sun.org.apache.xml.internal.dtm.ref.DTMManagerDefault" JAVA_OPTIONS="${JAVA_OPTIONS} -Djavax.xml.datatype.DatatypeFactory= com.sun.org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl" JAVA_OPTIONS="${JAVA_OPTIONS} -Djavax.xml.stream.XMLInputFactory= com.sun.xml.internal.stream.XMLInputFactoryImpl" JAVA_OPTIONS="${JAVA_OPTIONS} -Djavax.xml.stream.XMLOutputFactory= com.sun.xml.internal.stream.XMLOutputFactoryImpl" JAVA_OPTIONS="${JAVA_OPTIONS} -Djavax.xml.stream.XMLEventFactory= com.sun.xml.internal.stream.events.XMLEventFactoryImpl" export JAVA_OPTIONS # To make Jersey filters that set certain CORS related HTTP Headers work JAVA_OPTIONS="${JAVA_OPTIONS} -Dsun.net.http.allowRestrictedHeaders=true" # Optional settings for JMX management JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.authenticate=false" JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.ssl=false" JAVA_OPTIONS="${JAVA_OPTIONS} -Djavax.management.builder.initial= weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder" export JAVA_OPTIONS # Optional settings to enable monitoring Coherence through JMX JAVA_OPTIONS="${JAVA_OPTIONS} -Dtangosol.coherence.management=all" JAVA_OPTIONS="${JAVA_OPTIONS} -Dtangosol.coherence.management.remote=true" export JAVA_OPTIONS
Use the tangosol.coherence.mode property for production environments only.
Go to the domain directory and edit bin/startWebLogic.sh script, and add the following line (highlighted below) at the beginning as shown in this sample:
# Call setDomainEnv here. DOMAIN_HOME="/home/domains/ohi_domain" . ${DOMAIN_HOME}/bin/setDomainEnv.sh noderby $* if [ "${SERVER_NAME}" = "<ohi admin server name>" ] ; then MEM_ARGS="-Xmx1024m" export MEM_ARGS else . <SET_ENV_VAR_DIR>/setClaimsEnv.sh ${SERVER_NAME} fi SAVE_JAVA_OPTIONS="${JAVA_OPTIONS}"
Disabling Basic Authentication on the Weblogic Server
The Oracle Health Insurance HTTP API use Basic Authentication as the default authentication mechanism.
The RESTful API requests that use HTTP BASIC authentication must pass the WebLogic Server authentication. Upon successful authentication, the WebLogic Server creates HTTP session objects in the JVM memory. The default session-timeout value in WebLogic Server is 3600 seconds, so the HTTP session objects are invalidated/GC’ed only after 3600 seconds.
Because Basic Authentication is handled by the Oracle Health Insurance applications, the Weblogic Server’s Basic Authentication mechanism has to be disabled. To do so, set the domain wide flag enforce-valid-basic-auth-credentials
to false.
For additional information, refer to the WebLogic documentation as well as the Oracle support documents:
2178771.1
and 2235898.1
.