Configuring Helidon Microservices

Here are the steps for Helidon-side setup and configuration:

  1. Copy the Siebel application certificates and save them in the FS path.
  2. Import the certificate from the FS path into cacerts in the Java directory.

    Java certificate location example: <jre21>\lib\security\cacerts

    Command:

    Linux:
    keytool -importcert -trustcacerts -alias siebel -file "<FS path>/siebel.crt" 
    -keystore "<FS path>/jre/lib/security/cacerts" -storepass changeit -noprompt
    Windows:
    keytool -importcert -trustcacerts -alias siebel -file "<FS path>\siebel.crt" 
    -keystore "<FS path>\jre\lib\security\cacerts" -storepass changeit -noprompt
  3. Copy .jks files from the Siebel application to the Helidon FS path.
  4. Unzip the Helidon jar file.
  5. Configure application.yaml (see the steps that follow).
  6. Start the Helidon jar.

Set Up Helidon

Helidon deliverables:
  1. Copy the siebel-data-archival.zip from Siebel Build: <Siebel Build>\ses\siebsrvr\BIN\
  2. Unzip the siebel-data-archival.zip. It contains:
    1. \libs
    2. siebel-data-archival.jar
    3. application.yaml
    4. logging.properties
    5. ArchivalDBSetup.jar

Configure the Helidon Server

Yaml configuration sample:
server:
  port: <port>
  host: localhost
  tls:
    enabled: true
    private-key:
      keystore:
        type: "JKS"
        key.alias: "<>"
        passphrase: "<>"
        resource:
          path: <path_to_keystorejks>
      truststore:
        type: "JKS"
        key.alias: "<>"
        passphrase: <>"
        resource:
          path: <path_to_truststorejks>

Configure Helidon Logging

Siebel Data Archival leverages Helidon-based microservices for request orchestration and API interactions. To enable consistent, readable, and supportable logging output across these services, you must configure the Helidon runtime to use java.util.logging with a standardized formatter and log-level definition.

The following sample logging.properties file illustrates the recommended configuration for Helidon logs:

handlers=java.util.logging.ConsoleHandler
java.util.logging.SimpleFormatter.format=%1$tY.%1$tm.%1$td %1$tH:%1$tM:%1$tS.%1$tL %5$s%6$s%n

# Global logging level. Can be overridden by specific loggers
.level=SEVERE

# Logging level for Helidon WebServer
io.helidon.webserver.level=SEVERE

Descriptions:

  • ConsoleHandler

    Directs all logging output to the console, ensuring logs are immediately visible when services run in containerized or command-line environments.

  • SimpleFormatter.format

    Defines a timestamped, compact log format aligned with operational standards. The format includes year, month, day, and time down to milliseconds, followed by the log message and any associated stack trace.

  • Global Log Level (.level)

    Sets the default logging level for the entire Helidon application. The recommended level for production environments within the Data Archival solution is SEVERE, ensuring only critical events are captured.

  • Helidon WebServer Log Level

    Allows specific refinement for the Helidon WebServer component. By defining io.helidon.webserver.level, administrators can enforce the same severity threshold or override it as required.