Installation

The Adabas Audit Data Viewer installation package is provided as a WAR file that is to be installed on a Java application server.

The tool has been tested with the following web browsers: Chrome 72.0+, Firefox 60.0+, IE 77.0+, Safari 12.0+.

To ensure proper and secure use of AAV, it is important to follow the installation and configuration instructions of the chosen Java application server. The Java application server should only be installed, configured and operated by a qualified system administrator.

Configuring secure TLS communication is recommended, but is not part of this documentation. For detailed information, see the documentation for your Java application server.


Installation Requirements

The following components must be installed:

  • JDK (Java Development Kit) or JRE (Java Runtime Environment).

  • Java application server.

Installation Package

The AAV installation package consists of the following parts:

  • WAR file
    Contains the AAV backend application that must be deployed on the Java application server.

  • Web application
    Contains static files and can be deployed on any web server (including the Java application server).

Configuration Process

AAV Backend Configuration

The backend configuration is stored in the application.yml file. The administrator can set the following parameters in the application.yml file:

  1. bql.sql
    Allows to enable SSL globally. Defines keystore and truststore paths and passwords. If set to true, the (absolute) paths to the keystore/truststore must be provided.

    bql:
      ssl:
        enabled: true
        keystore: 
          path:
          password:
        truststore:
          path:
          password:
  2. endpoints
    • ip: IP address where the AAR subsystem can be reached (range: 10.0.0.0 - 10.255.255.255).

    • port: port number of the AAR subsystem which is on the z/OS side and is defined by the B97_TCPIP_PORT_AAV parameter (range: 0 - 65535).

    • ssid: AAR subsystem ID.

    • appl: application identifier (B97_AAV).

    • ssl: defines whether the SSL connection is to be used. If this parameter is set to true, it must also be enabled globally using the bql.sql parameter. By default, it is set to false.

    server:
      tomcat:
        basedir: tomcat
        accesslog:
          directory: logs
          enabled: true
          pattern: common
    endpoints:
      Adabas_Data_Viewer_Demo_System:
        ip:
        port:
        ssid:
        aapl:
      demo:
        ip:
        port:
        ssid:
        aapl:
        ssl:
  3. client: allowed-origins
    Defines the URLs which can connect to the AAV backend. You can define the following values for this parameter:

    • A list of allowed URLs, separated by a semicolon (;). For example:

      client:
        allowed-origins: "http://aav.server1.com;http://aav.server2.com"
    • An asterisk (*) to allow all URLs. It is recommended that you only use this for test purposes.

      client:
        allowed-origins: "*"
  4. user: inactivity
    Defines the time (in seconds) of user inactivity after which a user is automatically logged out of AAV.

    user:
       inactivity: 3600
  5. folder: caching
    This section of the application.yml file allows you to improve the system performance by enabling the "folder tree caching mechanism":

    • interval: the time after which the list of database folders is updated with the latest data.

    • enabled (true/false): enables/disables the caching mechanism.

    • limit: determines the maximum number of user sessions for which the caching mechanism is enabled. This parameter protects against overuse of server resources.

    Example:

    If the number of users exceeds a set value, then the last logged-in users take over the resources of the first ones.

    folder:
      caching:
        interval: 300
        enabled: true
        limit: 50

AAV Frontend Configuration

The configuration must be changed depending on how the frontend files are served. The frontend configuration is available in the config.js file in the frontend directory. This file contains information about the AAV backend (WAR) URL and the base path where the frontend is served. These values are from the user's perspective, so the URLs and paths configured here are the publicly accessible URLs as typed in browser's address bar, not local file system paths.

  • Setting the API endpoint
    API_URL defines the path or URL at which the API server is accessible. The URL can be relative if the backend is hosted on the same domain or absolute if server is hosted on another domain. When the AAV backend server is served from another domain, ensure that CORS is properly configured so that it can be accessed.

    For example, if the frontend is available at yourserver.com/aav and the backend server is on the same domain at yourserver.com/aav-api, then set the API_URL variable as shown below:

    window.config = {
    // ...
    API_URL: '/aav-api',
    // ...
    };

    If the backend is on a different domain, set API_URL to a full URL as shown below:

    window.config = {
    // ...
    API_URL: '//api.yourserver.com/aav',
    // ...
    };
  • Setting the base path of the web app
    BASE_PATH defines the path where the AAV web app is available on your domain. By default, it is assumed to be available in the root directory (/). If it is installed in a subdirectory, you must change the configuration as described below. If it is available at yourserver.com/aav, then set this value to /aav:

    window.config = {
    // ...
    BASE_PATH: '/aav',
    // ...
    };

    In addition, you must also update the index.html file with the new path. Replace <base href="/"/> with the following:

    <base href="/aav/"/>

    The path must end with a slash (/) character.

  • Configuring routing
    The AAV web app uses browser-side routing (HTML5 history). For this to work, your web server must serve index.html at paths that do not exist. The AAV web app comes with a WEB-INF directory that redirects all invalid paths to index.html, which should work with most Java application servers.

Example of a Minimal Configuration in Tomcat

  1. If not installed, install the Java Development Kit (JDK) or Java Runtime Environment (JRE).

  2. If not installed, install Tomcat v.8.0+.

    Links:

    Note
    During the installation process, make sure that the versions of Java and Tomcat (32-bit or 64-bit) match the operating system installed on the target computer.

  3. Put the files from the AAV installation package in the Tomcat root folder (path_to_tomcat/).

    Note
    The AAV installation package for Tomcat contains the additional file context.patch. This file contains information about the updates that should be made to the context.xml file. You can update the context.xml file manually (described in the next step) or automatically (by executing the context.patch file).

  4. Enable or disable the use of the SSL connection using the bql.sql parameter.

  5. Define the endpoints:

    • Update the context.xml file with the path to the application.yml file:

      <Context>
        ...
         <Parameter name="spring.config.location" value="path_to_application.yml/>
        ...
      </Context>
    • Define the endpoints in the application.yml file. For example:

      endpoints:
      Adabas_Data_Viewer_Demo_System:
        ip: "10.56.83.100"
        port: 49728
        ssid: "A700"
        aapl: "B97_AAV"
      • ip: IP address where the AAR subsystem can be reached (range: 10.0.0.0 – 10.255.255.255).

      • port: port number of the AAR subsystem which is on the z/OS side and is defined by the B97_TCPIP_PORT_AAV parameter (range: 0 - 65535).

      • ssid: AAR subsystem ID.

      • appl: application identifier (B97_AAV).

  6. In the conf/application.yml file, configure a client allowed-origins.

    This defines the URLs which can connect to the AAV backend. You can define the following values for this parameter:

    • A list of allowed URLs, separated by a semicolon (;). For example:

      client:
        allowed-origins: "http://aav.server1.com;http://aav.server2.com"
    • An asterisk (*) to allow all URLs. It is recommended that you only use this for test purposes.

      client:
        allowed-origins: "*"
  7. In the conf/application.yml file, configure a user session inactivity parameter.

    For example, if the user is to be logged out after 3600 seconds of inactivity:

    user:
      inactivity: 3600
  8. In the conf/application.yml file, configure a folder caching parameter.

    This section of the conf/application.yml file allows you to improve the system performance by enabling the "folder tree caching mechanism":

    • interval: the time after which the list of database folders is updated with the latest data.

    • enabled (true/false): enables/disables the caching mechanism.

    • limit: determines the maximum number of user sessions for which the caching mechanism is enabled. This parameter protects against overuse of a server resources.

    Example:

    If the number of users exceeds a set value, then the last logged-in users take over the resources of the first ones.

    folder:
      caching:
        interval: 300
        enabled: true
        limit: 50
  9. Start Tomcat (if Tomcat was installed in step 2) or restart Tomcat.

  10. Configure the config.js of the AAV web application.

    Depending on the release contents:

    • If the release package directory contains the page directory and app.war file (pre 1.0):

      Set API_URL to /app and BASE_PATH to /page in config.js:

      window.config = {
          API_URL: '/app',
          BASE_PATH: '/page',
      };

      And replace <base href="/"/> in index.html with the following:

      <base href="/page/"/>
    • If the release package webapps directory contains the aav directory and the aav-api.war file (starting with v1.0):

      Set API_URL to /aav-api and BASE_PATH to /aav in config.js:

      window.config = {        
          API_URL: '/aav-api',        
          BASE_PATH: '/aav',        
      };

      And replace <base href="/"/> in index.html with the following:

      <base href="/aav/"/>
  11. To configure the secured TLS connection, refer to https://tomcat.apache.org/tomcat-9.0-doc/ssl-howto.html.