Configuring the Archival Database Source

Configure Archival Source Database

Configure the source database (DB) from which data will be archived. The DB is directly used to create summarization and job related data.

Note: Ensure the details are under db: sourceDB: section.
Yaml Configuration Sample for Oracle as Source DB
sourceDB:
  source: "jdbc"
  connection:
    url: "jdbc:oracle:thin:@${DA_SRC_DB_HOST}:${DA_SRC_DB_PORT}:${DA_SRC_DB_SERVICE}"
    username: "${DA_SRC_DB_USERNAME}"
    password: "${DA_SRC_DB_PASSWORD}"
    poolName: "myoracle"
    initializationFailTimeout: -1
    connectionTimeout: 20000
    maximumPoolSize: <Maximum number of DB connections>
    helidon:
      pool-metrics:
        enabled: false
        name-prefix: "hikari."
Note:
Make appropriate changes for MSSQL as Source DB:
url: "jdbc:sqlserver://${DA_SRC_DB_HOST}:${DA_SRC_DB_PORT};databaseName=${DA_SRC_DB_NAME};encrypt=true;trustServerCertificate=true"
poolName: "mySqlServerPool"

See https://helidon.io/docs/v4/se/guides/dbclient for more details.

Using Environment Variables for Database User Credentials

The user credentials for database are picked from environment variables.

  • Source DB:
    • DA_SRC_DB_HOST,
    • DA_SRC_DB_PORT,
    • DA_SRC_DB_SERVICE, DA_SRC_DB_USERNAME,
    • DA_SRC_DB_PASSWORD
  • Target DB:
    • DB1:
      • DA_TGT_DB1_HOST,
      • DA_TGT_DB1_PORT,
      • DA_TGT_DB1_SERVICE,
      • DA_TGT_DB1_USERNAME,
      • DA_TGT_DB1_PASSWORD
    • DB2:
      • DA_TGT_DB2_HOST, DA_TGT_DB2_PORT,
      • DA_TGT_DB2_SERVICE,
      • DA_TGT_DB2_USERNAME,
      • DA_TGT_DB2_PASSWORD

Here’s an example of how to set environment variables for the source database across Windows and Linux platforms. Apply the same approach for the remaining environment variables.

  • export DA_SRC_DB_HOST=<Source DB hostname>
  • set DA_SRC_DB_HOST=<Source DB hostname>
  • setenv DA_SRC_DB_HOST <Source DB hostname>

Configure Archival Source API

Configure the Siebel server Application where the EAI component is enabled for the Data Archival to access the Data APIs. The Data APIs in this server are used to query the data that's archived and to delete the data, once archived.

Note: Ensure the details are under app: section.
  • numberOfParallelSubJobs: Number of parallel sub jobs to be run at a time in the Helidon server. This will depend on your hardware.
  • batchSize: Number of records to be processed by a sub job as a batch.

Yaml Configuration Sample

app:
  numberOfParallelSubJobs: 1
  hostname: <siebel_server_host>
  port: <Siebel_server_port>
  batchSize: 1

Configure Siebel Security

Security: Type of security implemented in Siebel EAI Component. Example: sso.

Define the details for the required security type.

sso: 
    userspec: <SIEBEL_SSO_USERSPEC>
    anonusername: <SIEBEL_USERNAME>

See https://helidon.io/docs/v4/se/guides/security-oidc for more details on security.

Configure the Archival Targets for the data archival. Two types of targets are supported: file system and database.

Configure the Archival Target

  1. Configure the target databases under archivalTarget: targetDB: section as DB1, DB2, and so on.
  2. Configure the target file systems under archivalTarget: targetFileSystem: section as FT1, FT2, and so on.
    Note: NFS/FS path that can be accessed from the machine hosting the Helidon server should be provided for targetfileSystem.

YamlConfiguration Sample (for Oracle, SQL Server, File System)

targetDB:
  DB1:
    source: "jdbc"
    connection:
      url: "jdbc:oracle:thin:@${DA_TGT_DB1_HOST}:${DA_TGT_DB1_PORT}:${DA_TGT_DB1_SERVICE}"
      username: "${DA_TGT_DB1_USERNAME}"
      password: "${DA_TGT_DB1_PASSWORD}"
      poolName: "myoracle"
      initializationFailTimeout: -1
      connectionTimeout: 20000
      maximumPoolSize: <Maximum number of DB connections>
      helidon:
        pool-metrics:
          enabled: false
          name-prefix: "hikari."

  DB2:
    source: "jdbc"
    connection:
      url: "jdbc:sqlserver://${DA_TGT_DB1_HOST}:${DA_TGT_DB1_PORT};databaseName=${DA_TGT_DB1_NAME};encrypt=true;trustServerCertificate=true"
      username: "${DA_TGT_DB1_USERNAME}"
      password: "${DA_TGT_DB1_PASSWORD}"
      poolName: "mySqlServerPool"
      initializationFailTimeout: -1
      connectionTimeout: 20000
      maximumPoolSize: <Maximum number of DB connections>
      helidon:
        pool-metrics:
          enabled: true
          name-prefix: "hikari."

  DB3:
    source: "jdbc"
    connection:
      #
      # Oracle configuration
      #
      url: "jdbc:oracle:thin:@<hostname>:<port>:<service_name>"
      username: "${DA_TGT_DB1_USERNAME}"
      password: "${DA_TGT_DB1_PASSWORD}"
      poolName: "myoracle"
      initializationFailTimeout: -1
      connectionTimeout: 20000

targetFileSystem:
  FT1: "<Path1>"
  FT2: "<Path2>"

Configure AI Summarization

Configure the server where Siebel AI Services are set up for AI summarization under ai: section

Yaml Configuration Sample

ai:
  hostName: <hostname>
  port : <port>
  compartmentId: "<Compartment ID>"

See Artificial Intelligence (AI) Services for Siebel CRM for AI set up and configuration.

Configure AI Summarization Scheduler

Configure the time slot between which the AI summarization job has to be scheduled under aiScheduler: section. Format: HH:MM:SS.

Yaml Configuration Sample

aiScheduler:
  startTime: "00:00:00"  # HH:mm:ss
  endTime: "00:00:00"    # HH:mm:ss

Configure Siebel System Preferences

  1. Update the HostURL in Administration - Application > System Preferences.
    • System Preference Name: Data Archive Service URL
    • System Preference Value: https://<host name>:<port name>/
    Note: Update the host name and port name where the siebel-data-archival.jar is running.
  2. Restart the Siebel server after adding the system preference.