Downloading and Running Oracle Health Insurance Agent

This section of the document explains how to obtain Oracle Health Insurance Agent java archive file (or jar file) and how to run it. A Java runtime is needed to run Oracle Health Insurance Agent jar, no other software needs to be installed.

Downloading Oracle Health Insurance Agent

Oracle Health Insurance Agent runnable jar file must be downloaded from Oracle Insurance Gateway by executing a GET request to its "/agent" HTTP API resource. Accessing the resource is subject to the usual authentication and authorization procedures.

For example, assuming user "agent_downloader" is provisioned in the Oracle Insurance Gateway and is authorized to access the "/agent" resource, the following curl request will download Oracle Health Insurance Agent jar (it will prompt for the password):

curl -su agent_downloader -o ohi-agent.jar http://gateway_machine/api/agent

For the remainder of this guide it is assumed that Oracle Health Insurance Agent runnable jar file is placed in a directory that is referred to as AGENT_HOME.

Setting Up a Properties File

In the AGENT_HOME (or in AGENT_HOME/config) create a file called "application.properties". In the file, add at least valid values for the following system properties (note that all property name=value pairs need to be specified on one line without line breaks):

Property Required? Description

agent.gateway.uri

Yes

Oracle Insurance Gateway URI, including the context root for the HTTP API.

Must be a secure connection.

agent.gateway.authentication

Yes

Either OAuth or BasicAuthentication. Defaults to OAuth.

agent.vault.uri

Yes

Vault URI that Oracle Health Insurance Agent uses to retrieve secrets.

Must be a secure connection.

agent.vault.pemFilePath

Yes

Client certificate in PEM format for accessing the Vault.

agent.vault.token

Yes

Oracle Health Insurance Agent specific token for accessing the Vault.

agent.oauth2.uri

If OAuth is used

OAuth2 Authorization Server URI that Oracle Health Insurance Agent uses to retrieve OAuth2 access tokens that are needed to access Oracle Insurance Gateway.

Must be a secure connection.

agent.oauth2.serverScope

No and only if OAuth is used

Optional scope for retrieving OAuth2 access tokens.

ohi.rest.client.agent.gateway.authentication.trust.store.file

Yes

The location of the SSL trust store file

ohi.rest.client.agent.gateway.authentication.trust.store.password

Yes

The password for the SSL trust store file

Running Oracle Health Insurance Agent

Please note that Oracle Health Insurance Agent requires Java 11 to run.

Run Oracle Health Insurance Agent by executing the following command:

java -Dtangosol.coherence.override=tangosol-coherence-override.xml -jar ohi-agent.jar
This command references a tangosol-coherence-override.xml file that is shipped with Oracle Health Insurance Agent. It contains a minimal Oracle Coherence configuration for running it. The use of Oracle Coherence for setting up Oracle Health Insurance Agent for high availability is documented elsewhere in this guide.

Checking If Oracle Health Insurance Agent Version Matches the Oracle Insurance Gateway Version

Upon startup Oracle Health Insurance Agent connects to the Oracle Insurance Gateway in order to retrieve its configuration. When doing so, it will check if its own version matches that of Oracle Insurance Gateway. If that is the case it will log the following informational message:

Agent version a.b.c matches version of Agent that is bundled with Gateway

Otherwise it will log the following warning:

Agent version a.b.c does not match the version of Agent that is bundled with Gateway, please download Agent from Gateway

In the latter case, download the matching version of Oracle Health Insurance Agent from the Oracle Insurance Gateway and use that.

Checking the Health of Oracle Health Insurance Agent

From an operational perspective it is useful to have a mechanism to easily check whether the Agent is up and running. For this purpose, the Agent exposes a specific endpoint. This endpoint can be accessed through

https://<host>:<port>/actuator/health

The below example shows how this is accessed through curl. If the Agent is up it will report back on the status:

curl http://myhost:8890/actuator/health
{"status":"UP"}
The port shown above, is something that is determined by the system. For this port to have a fixed value, include the following startup parameter: <tt>--server.port=<portnumber></tt>. Where <portnumber> is the port number of the system.

Display the Version of Oracle Health Insurance Agent Binary

In order to display the version of Oracle Health Insurance Agent binary that is currently present/installed on-premises, without effectively running the agent the following command can be run from the command line:

java -jar ohi-agent.jar --version

This will print version information, which looks like:

agent (IAT)
Version: 4.0.0

Configuring Oracle Health Insurance Agent Logging

By default Oracle Health Insurance Agent logs output to the console, and to a logs directory relative to the location where Oracle Health Insurance Agent is started. Oracle Health Insurance Agent logging can be configured in various ways. This section lists the most important configuration options. As is the case for Oracle Health Insurance Agent properties, logging configuration is done through adding the appropriate Oracle Health Insurance Agent program argument on the command line.

Changing the Location Where Logs are Written To

To write log files for Oracle Health Insurance Agent to another directory, add this program argument:

--logging.file.path=/external/as2805_a/logs

Activating a Particular Component Namespace for Additional Log Information

Sometimes it is useful to have Oracle Health Insurance Agent generate additional logging information. This for instance can be used to resolve a service request raised for a problem with Oracle Health Insurance Agent. A support engineer will typically ask that a particular component namespace be put in a state that it starts generated more detailed log information. An example where the root component namespace is put into debug mode, looks like this:

--logging.level.com.oracle.healthinsurance=DEBUG

Externalizing Oracle Health Insurance Agent Logging Configuration in Its Entirety

There might be reasons where the whole configuration for the logging subsystem needs to be externalized from the application. The externalized log configuration file follow the logback format (check http://logback.qos.ch/manual/configuration.html - "Configuration File Syntax" for details). This can be done using the following:

--logging.config=file:/external/config/logback-spring.xml

or in order to externalize the logging configuration to a web server:

--logging.config=http://somehost:8080/config/logback-spring.xml