Deploying ibi WebFOCUS - Container Edition Appserver with MS-SQL server or Oracle as a Repository Database

    Procedure
  1. Download the WebFOCUS - Container Edition tar file and extract it.

  2. From the extracted WebFOCUS - Container Edition tar file, navigate to the <webfocus-ce>/wfc.

  3. Edit the Dockerfile and locate the "Download OpenSource drivers for repository" section.

  4. In the "Download OpenSource drivers for the repository" section, update the driver url of MS-SQL server or Oracle.

    RUN curl -q https://jdbc.postgresql.org/download/postgresql-42.3.7.jar \
    -o $JETTY_BASE/lib/ext/pgclient.jar \

    Replace the previous code with the following code:

    • If you are using MS SQL, then use the following code.

      RUN curl https://repo1.maven.org/maven2/com/microsoft/sqlserver/mssql-jdbc/7.2.2.jre11/mssql-jdbc-7.2.2.jre11.jar \
      -o $JETTY_BASE/lib/ext/mssql-jdbc-7.2.2.jre11.jar \
    • If you are using Oracle, then use the following code.

      RUN curl https://download.oracle.com/otn-pub/otn_software/jdbc/232-DeveloperRel/ojdbc11.jar \
      -o $JETTY_BASE/lib/ext/ojdbc11.jar \
    • Save the updated Dockerfile.
  5. Run the ./build-images.sh from <webfocus-ce>/scripts directory. This creates a modified WebFOCUS Client (wfc) docker image.

  6. You need pre-created db user and database. Use the following commands to grant the appropriate permissions:

    CREATE USER orcluser IDENTIFIED BY oraclpassword;
    GRANT CREATE VIEW TO orcluser;
    ALTER SESSION SET CURRENT_SCHEMA=orcluser;
    GRANT CREATE SEQUENCE TO orcluser;
    GRANT CREATE TABLE TO orcluser;
    GRANT CREATE TRIGGER TO orcluser;
    GRANT CREATE PROCEDURE TO orcluser;
    GRANT CREATE SYNONYM TO orcluser;
    GRANT CREATE TYPE TO orcluser;
    GRANT CONNECT, RESOURCE TO orcluser;
    GRANT CREATE SESSION TO orcluser;
    GRANT UNLIMITED TABLESPACE TO orcluser;
  7. Navigate to the Helmfile <webfocus-ce>/scripts/helmfile/environment/ directory.

  8. Edit the <webfocus-ce>/scripts/helmfile/environments/wf.integ.yaml.gotmpl file, navigate to appserver, and edit the following sections:

    1. Edit the appserver parameter, and change the usePgSQL flag to "false".

    2. Update the dbuser and dbpassword of your Oracle database.

    3. Update the dbUrl and place the URL of your Oracle database.

      appserver:
      usePgSQL: false
      dbUser: <db_username>
      dbPassword: <db_password>
      dbUrl: jdbc:oracle:thin:@<host_name>:1521:ORCL;

      If you are using MS SQL, then replace the jdbc:oracle:thin:@<host_name>:1521:ORCL with jdbc:sqlserver://<host_name>:1433;databaseName=<db_name>.

  9. Edit the config/install_cfg section and add the new parameter IBI_REPOS_DB_DRIVER with repository class value of respective db:

    appserver:
    config:
    install_cfg:
    IBI_REPOS_DB_DRIVER: "oracle.jdbc.driver.OracleDriver"

    If you are using MS SQL, then replace the oracle.jdbc.driver.OracleDriver with com.microsoft.sqlserver.jdbc.SQLServerDriver.

  10. In the global section, update the repository class value as per your respective db:

    global:
    config:
    REPOSITORY_CLASS: oracle.jdbc.driver.OracleDriver
    JDBC_PATH: "${JETTY_BASE}/lib/ext/*"

    If you are using MS SQL, then replace the oracle.jdbc.driver.OracleDriver with com.microsoft.sqlserver.jdbc.SQLServerDriver.

  11. Lastly, deploy WebFOCUS - Container Edition to the cluster.