Configuring the IBM Stewardship Center installable image to work with an Oracle database

To deploy an IBM® Stewardship Center image on OpenShift®, configure the IBM Business Automation Workflow and IBM Stewardship Center Docker container to work with Oracle database by configuring the installable MDM ISC image. You can use this container alongside the MDM container configured to run Oracle as the database.

Before you begin

  1. Prepare Oracle schemas for installing IBM Business Automation Workflow 18.0.0.3 or above. Fourteen schemas are required:
    • Two of each of the following schemas (one for Process Center and one for Process Server):
      • Cell (CELL)
      • Common (CMN)
      • Design Object Store (DOS)
      • Target Object Store (TOS)
      • IBM Content Navigator (ICN)
      • Performance Data Warehouse (PDW)
    • One for the Process Center user
    • One for the Process Server user
    Note: Alternatively, you can configure two separate databases: one for Process Center and another for Process Server.
  2. Ensure that the Oracle database is configured and accessible.
  3. Decide where you are going to host Apache Kafka and Elasticsearch. It can be on-premise or on a container. While configuring the MDM container, you must provide appropriate values for Kafka, Zookeeper, and the Elasticsearch host, port, and credentials.
  4. Ensure that ojdbc8.jar is on your machine. It must be placed in the Docker container.
  5. Download the sample Oracle configuration script and files archive file.

About this task

Both InfoSphere® MDM and IBM Stewardship Center for MDM must be configured to point to a remote Oracle database.

Tip: Use remote Oracle databases for Business Automation Workflow WebSphere® profiles. Additionally, on a remote node, create all Business Automation Workflow related databases by following the procedures described in the Business Automation Workflow documentation.

Procedure

Bring up the containers using Docker Compose

  1. Place docker-compose.yml in the /root/MDM<version>DKR/MDM_<version>_DKR_COMPOSE folder.

    The docker-compose.yml file must have services for installable-mdm and isc-installable.

  2. Pull the Docker images as required for your deployment by running the Configure_MDM_Docker script in the MDM_<VERSION>_DKR_COMPOSE folder.
    1. Follow the onscreen prompts to review and accept the license, including selecting your preferred language. You must accept the terms of the license agreement before you can continue.

      After you accept the license agreement terms, the script logs into the IBM Docker registry and displays a list of InfoSphere MDM related Docker Compose (YAML) files that you can either run directly or run using a custom script.

    2. Select option 13 to run the configuration using a custom Docker Compose file (docker-compose.yml).

Configure InfoSphere MDM to work with IBM Stewardship Center

  1. Attach to the mdm_container and go to the /opt/IBM/bin folder.
    docker exec -it mdm_container bash
  2. Run the configuration script Configure_MDM_Interactive.sh to set up the InfoSphere MDM instance. Follow the prompts to configure your InfoSphere MDM deployment.

    Be sure to configure the deployment to work with a remote database, and also to enable the Statistics, MDM Publisher, and Elasticsearch features.

    Tip: If you are working with an MDM container that is already deployed but does not have Statistics, MDM Publisher, and Elasticsearch configured, complete the following post-configuration steps:
    1. Run the following madconfig targets to add these features.
      ./madconfig.sh configure_mdm_statistics -Duser.db.password=<DATABASE_PASSWORD> -Duser.kafka.statistics.enable=no -Duser.kafka.zk.host=<HOST_NAME> -Duser.kafka.zk.port=2181 -Duser.kafka.cluster.enable=false -Duser.kafka.standalone.host=<HOST_NAME> -Duser.kafka.standalone.port=9092
      ./madconfig.sh configure_mdm_publisher -Duser.mdm.publisher.enabled=false -Duser.db.password=<DATABASE_PASSWORD> -Duser.kafka.statistics.enable=no -Duser.kafka.zk.host=<HOST_NAME> -Duser.kafka.zk.port=2181 -Duser.kafka.cluster.enable=false -Duser.kafka.standalone.host=<HOST_NAME>-Duser.kafka.standalone.port=9092 -Duser.was.admin.password=mdmadmin -Duser.was.password=mdmadmin -Duser.jetty.server.fqdn=<HOST_NAME> -Duser.jetty.server.ou=labs -Duser.jetty.server.o=IBM -Duser.jetty.server.city=Armonk -Duser.jetty.server.state=NY -Duser.jetty.server.countrycode=US -Duser.jetty.server.keystore.password=mdmadmin -Duser.jetty.server.keystore.password.check=mdmadmin -Duser.jetty.server.key.password=mdmadmin -Duser.jetty.server.key.password.check=mdmadmin
      ./madconfig.sh configure_elastic_search -Duser.elastic.search.enabled=false -Duser.db.password=<DATABASE_PASSWORD> -Duser.kafka.statistics.enable=no -Duser.kafka.zk.host=<HOST_NAME> -Duser.kafka.zk.port=2181 -Duser.kafka.cluster.enable=false -Duser.kafka.standalone.host=<HOST_NAME> -Duser.kafka.standalone.port=9092 -Duser.was.admin.password=mdmadmin -Duser.was.password=mdmadmin -Delasticsearch.hostname=<HOST_NAME> -Delasticsearch.port=9200 -Delasticsearch.user=admin -Delasticsearch.password=admin -Delasticsearchcluster.name=mdm-es-application -Delasticsearchnode.name=mdm-es-node1 -Delasticsearchnetwork.host=0.0.0.0 -Delasticsearchunicast.host=<HOST_NAME> -Delasticsearch.ssl.certificates.available=no -Delasticsearch.ssl_enabled=false -Delasticsearch.ssl.certificates.available=no
      
      Replace the following placeholders with appropriate values:
      • <DATABASE_PASSWORD> - The database password.
      • <HOST_NAME> - The host or container name where the client applications are installed.
    2. Set up Kafka by running the SQL commands from the file /opt/IBM/MDM/KafkaProcessor/properties/KafkaSetupQueries.sql.
    3. Enable Statistics by running the following SQL command:
      update configelement set value='true', LAST_UPDATE_DT=CURRENT_TIMESTAMP where name='/IBM/DWLCommonServices/Statistics/enabled';
    4. Complete the MDM configuration for IBM Stewardship Center by running the SQL statements from the file /opt/IBM/MDM/DataStewardshipAndGovernance/mdmg/install/sql/MDMBPM_notification_Ora.sql.
    5. Restart the MDM application server.
    6. Initialize Statistics for use by the IBM Stewardship Center.
    7. Restart the MDM application server.
    8. Run the following scripts to create Kafka topics and start both Kafka and Zookeeper.
      cd /opt/IBM/MDM/kafka_2.11-0.10.2.1/bin
      nohup ./zookeeper-server-start.sh /opt/IBM/MDM/kafka_2.11-0.10.2.1/config/zookeeper.properties &
      nohup ./kafka-server-start.sh /opt/IBM/MDM/kafka_2.11-0.10.2.1/config/server.properties &
      cd /opt/IBM/MDM/KafkaProcessor/bin
      ./statistics-topics.sh
      ./createTopics_Sample.sh
      nohup ./runKafkaStreams.sh ../properties/MdmRealTimeSync_v1.2.xml &
      nohup ./runKafkaStreamsForSE.sh ../properties/MDMSEWindowingProcess_v1.1.xml &
      cd /opt/IBM/MDM/KafkaProcessor/bin
      nohup ./statistics-streams.sh &
      nohup ./statistics-connect-standalone.sh &
      The provided paths for these scripts are relative to an InfoSphere MDM installation. Modify them as appropriate for your deployment environment.
  3. Run installation verification tests (IVT) to ensure that the InfoSphere MDM instance is functional.

Configure IBM Stewardship Center to use Oracle

  1. Decompress the sample Oracle configuration script and files archive file that you downloaded before beginning this procedure.
    1. Copy the files Advanced-PC-SingleCluster-Oracle.properties, Advanced-PC-SingleCluster-Oracle.properties, and Configure_BPM_Oracle.sh to your machine.
    2. Copy the same files to mdmisc_container using the docker cp command.
      docker cp Advanced-PC-SingleCluster-Oracle.properties mdmisc_container:/opt/IBM/bin/
      docker cp Advanced-PS-SingleCluster-Oracle.properties mdmisc_container:/opt/IBM/bin/
      docker cp Configure_BPM_Oracle.sh mdmisc_container:/opt/IBM/bin/
      
  2. Attach to the mdmisc_container as the root user.
    docker exec -itu root mdmisc_container bash
  3. Provide execute permissions to the Configure_BPM_Oracle.sh script and create the Oracle folder where odbc8.jar will have to be placed.
    chmod a+x /opt/IBM/bin/Configure_BPM_Oracle.sh
    mkdir /opt/ibm/Workflow/v18.0/jdbcdrivers/Oracle/
  4. Log out from the container.
    exit
    Tip: Do not use the container when logged in as the root user.
  5. Copy odbc8.jar to the mdmisc_container into the /opt/ibm/Workflow/v18.0/jdbcdrivers/Oracle.
    docker cp ojdbc8.jar mdmisc_container:/opt/ibm/Workflow/v18.0/jdbcdrivers/Oracle/
  6. Log back in to the mdmisc_container.
    docker exec -it mdmisc_container bash
    By default, you will be logged in as the bpmadmin user.
  7. Go to the /opt/IBM/bin folder and run the configuration scripts.
    cd /opt/IBM/bin
    1. Create WebSphere profiles with the remote Oracle database by running the Configure_BPM_Oracle.sh script.
      ./Configure_BPM_Oracle.sh
      This script prompts you to provide database configuration details for both Process Center and Process Server, including the database host name and port, the database name, and database user credentials. Once you have provided the required values, the script creates and starts corresponding WebSphere profiles.
    2. Wait for the script to complete. This can take more than an hour.
    3. Run the Configure_ISC_Interactive.sh script from the same directory to deploy the MDM ISC container.
      ./Configure_ISC_Interactive.sh
      This script prompts you to provide MDM operational server, MDM database connection, and IBM Stewardship Center connection details. When prompted, be sure to answer that this deployment is using a Docker container for the MDM operational server.
      After gathering the required values, this script validates your responses and proceeds with the IBM Stewardship Center deployment.
      Note: This script can take 45 minutes or more to complete. Be sure to let it complete fully before continuing with the next step.
  8. The Configure_ISC_Interactive.sh script does not configure the MDM data source for the Process Server. This must be manually configured with the following steps.
    Note: These steps are not required for Process Center, which does not need any additional configuration.
    1. Log in to the WebSphere Application Server Integrated Solutions Console (admin console) of the Process Server.
      https://8001/ibm/console/login.do?action=secure
      Use the user name bpmadmin and the password bpmadmin.
    2. Navigate to Resources > JDBC > Data Sources and click on any of the displayed data sources.
    3. Click JAAS-J2C Authentication Alias.
    4. Click New, then name the new alias <DATABASE_NAME>_alias and provide the user name and password needed to access the database. For example, if you are using the database from the provided stencil, provide MDMORA12CR2_alias as the name and ORASCH01 and go2aruba as the login credentials.
    5. Click OK, then review your changes and click Synchronize and Save.
    6. Navigate to Resources > JDBC > Data Sources and set the scope to Cluster=SingleCluster.
    7. Click New, then provide the data source name (<DATABASE_NAME>) and JNDI name (jdbc/<DATABASE_NAME>).
    8. Click Select an existing JDBC Provider and select Oracle JDBC Driver (XA).
    9. Provide a value for URL that follows the format jdbc:oracle:thin:@//<DATABASE_HOST>:1521/<DATABASE_NAME>.
      Note: Do not provide the host name as localhost. Provide the full machine name where the Oracle database resides. Do not change the data store helper class name.
    10. Under Security Aliases, set the Authentication alias for XA recovery, Component-managed authentication alias, and Container-managed authentication alias to <DATABASE_NAME>_alias.
    11. Click Finish, then click Synchronize and Save.
    12. Click Custom properties in this Data Source and provide appropriate values for the existing properties databaseName, serverName, and portNumber. Add two new properties, user and password, and provide the appropriate values.
    13. Click Synchronize and Save.
  9. When the configuration is complete, verify the deployed instance by checking the logs at /opt/IBM/MDM/DataStewardshipAndGovernance/mdmg/install/logs.
  10. Run the docker commit command to commit mdm_container and mdmisc_container.
    docker commit mdm_container mdm:v1
    docker commit mdmisc_container mdmisc:v1
    Note: Committing a Docker container ensures that your configuration choices are not lost if the container is removed. For information about committing a Docker container, see the Docker CLI documentation.

What to do next

When the deployment is complete, you can access the IBM Stewardship Center for MDM dashboard at the following URLS:
Process Server
  • Process Portal: https://<HOST_NAME>:8026/ProcessPortal
  • Process Admin: https://<HOST_NAME>:8026/ProcessAdmin
  • WebSphere Console: https://<HOST_NAME>:8001/ibm/console
Process Center
  • Process Portal: https://<HOST_NAME>:7026/ProcessPortal
  • Process Admin: https://<HOST_NAME>:7026/ProcessAdmin
  • WebSphere Console: https://<HOST_NAME>:7001/ibm/console