ITX Container Integration with Sterling B2B Integrator

Pre-requisites

For integration, only an ITX runtime image is needed. Fetch the ITX runtime image from the entitlement registry.
Important: In Sterling B2B Integrator v6.2.0.0, only ITX image version 10.1.1.1.20221116 is supported for integration with Sterling B2B Integrator.
Important: From Sterling B2B Integrator v6.2.0.1 and above, ITX image version 10.1.1.1.20221116, 10.1.1.1.20231130, and 10.1.2 are supported for integration with Sterling B2B Integrator.
Note: ITX does not use a database, hence no DB configuration parameters available in the Sterling B2B Integrator values.yaml.

Image and Helm Chart details

You will need a runtime image and no Helm charts are required.
Linux x64 IBM Certified Container
Certified Container image is in IBM Entitled Registry
Image Registry: cp.icr.io/cp
Image Name: ibm-itx-rs
Image Tag: 10.1.1.1.20221116
Image Digest: sha256:d6dea7cad255582d091f91c7ab226d819ce105a4146b9ac706d96262dd929afc

Considerations

Once ITX integration is disabled, the Sterling B2B Integration services for ITX will not be removed, and they will keep appearing in the service configuration on the Sterling B2B Integrator dashboard. This will not have any impact on the functioning of Sterling B2B Integrator.

Integration Process Overview

The following is an overview of the ITX integration with Sterling B2B Integrator.
  • Create the required PVs for ITX integration if ITX integration is required.
  • Configure values.yaml to enable ITX integration flag.
  • Confirm datasetup configuration is enabled for ITX in values.yaml.
  • Install Sterling B2B Integrator Helm charts.
  • See Integrating ITX with Sterling B2B Integrator for a complete installation guide.

Integrating ITX with Sterling B2B Integrator

  1. You need two PVs, which are data and logs.

    Under Data PV, the following folders are automatically created:

    /data/maps contains compiled maps. By default, the maps must have the .lnx file extension. If a map references a file relative to the map directory, that file must reside in the directory relative to this directory. Likewise, if a map creates a file without specifying a directory, that file will be created in the map directory. If a map runs other maps, those maps must reside in the same directory and must be saved under the exact names, including file extensions, under which they are referenced in the main map. To ensure that all instances of the container have access to the same maps when those instances are running on different hosts, this location must be accessible on all hosts, for example, it can be an NFS share.
    /data/tmp contains temporary execution files.
    /data/extra contains any additional shared libraries and JAR files to make available to the running container, such as, for example, JDBC driver JARs for use with the JDBC adapter. You can also list JAR files and directories in the dtx.ini configuration file.
    Logs PV will hold the log files generated by the ITX runtime.
    /logs contains log files produced by the ITX runtime.
  2. The following parameters are added in values.yaml:
    integrations:
      seasIntegration:
        isEnabled: false
        seasVersion: "1.0"
      itxIntegration:
        enabled: false
        dataSetup:
          enabled: true
        image:
          repository: "cp.icr.io/cp/ibm-itx-rs"
          tag: "10.1.1.1.20221116"
          digest: "sha256:d6dea7cad255582d091f91c7ab226d819ce105a4146b9ac706d96262dd929afc"
          pullPolicy: IfNotPresent
          pullSecret:
        dataPVC:
          name: itxdata
          useDynamicProvisioning: true  
          storageClassName: ""
          selector:
            label: "intent"
            value: "itxdata"
          accessMode: ReadWriteMany
          size: 100Mi
          preDefinedDataPVCName:
        logsPVC:
          name: itxlogs
          useDynamicProvisioning: true
          storageClassName: ""
          selector:
            label: "intent"
            value: "itxlogs"
          accessMode: ReadWriteMany
          size: 100Mi
          preDefinedLogsPVCName:
        # Logging settings
        log:
          includeHostInLogNames: true
          jniLog:
            # Supported levels are "none", "failures", "info" and "all". Default is "none".
            level: "none"
          cmgrLog:
            # Supported levels are "none", "failures", "info" and "all". Default is "none".
            level: "none"
     
  3. Enable ITX integration with Sterling B2B Integrator by updating the properties below in values.yaml file in the Sterling B2B Integrator Helm charts.
    
    itxIntegration:
       enabled: true
  4. Enable datasetup one time, perform Helm install or upgrade, and then set the datasetup property to false.
    Note: You need to have required service created in Sterling B2B Integrator for ITX integration i.e. ITX Map Service and this is required to function the integration properly.
    
    itxIntegration:
     enabled: true
     dataSetup:
      enabled: true
    
  5. Add respective image details like repository, tag, digest, pullPolicy, and pullSecret for the itxIntegration section in values.yaml.
  6. Specify PVC configuration for data and logs for ITX integration.
    
        dataPVC:
          name: itxdata
          useDynamicProvisioning: true  
          storageClassName: ""
          selector:
            label: "intent"
            value: "itxdata"
          accessMode: ReadWriteMany
          size: 100Mi
          preDefinedDataPVCName:
        logsPVC:
          name: itxlogs
          useDynamicProvisioning: true
          storageClassName: ""
          selector:
            label: "intent"
            value: "itxlogs"
          accessMode: ReadWriteMany
          size: 100Mi
          preDefinedLogsPVCName:

    Under data PV, the maps folder will be created post ASI or AC pod starts, and this is where we should copy the required set of maps used by the WTX Map service.

    The log files generated by the ITX runtime will be stored under Logs PV.

  7. For ITX integration, you can configure the ITX runtime logging configuration in the below section.
    
      log:
          includeHostInLogNames: true
          jniLog:
            # Supported levels are "none", "failures", "info" and "all". Default is "none".
            level: "none"
          cmgrLog:
            # Supported levels are "none", "failures", "info" and "all". Default is "none".
            level: "none"

Validating ITX integration with Sterling B2B Integrator

  • When the ITX integration is enabled, the Sterling B2B Integrator ASI or AC pods do not starting.

    Resolution: Make sure that the itxIntegration.dataSetup.enabled flag is set to true for ITX in values.yaml file before Sterling B2B Integrator Helm installation or upgrade.

  • Post ITX integration, the below service should be available in the services configuration in the Sterling B2B Integrator dashboard, and they should be in the enabled state.

    ITX Map Service

    If this service is not visible, then make sure that the itxIntegration.dataSetup.enabled flag is set to true for ITX in values.yaml file before Sterling B2B Integrator Helm installation or upgrade.

  • Check if respective properties files for ITX are updated with required relative paths and variables (examples is translator.properties_wtx_ext).
  • Check if the paths used for maps or other artifacts in business processes are configured correctly.
  • Temporary space for map processing is configured on /data/tmp, and make sure that sufficient space is available on the persistent volume.

Disabling ITX Integration with Sterling B2B Integrator

Once ITX is integrated with the Sterling B2B Integrator, the integration can be easily disabled by updating the individual flag in values.yaml.

itxIntegration:
 enabled: false
 

Installing the WTX adapter and third-party jars to the SI classpath

To use a WTX adapter or third-party jars, follow this process:
  1. You can find the required WTX adapters in the jars or libs folder inside the ASI and AC pods, under /ibm/integrations/itx/opt/runtime. You can add these jars to the SI classpath as follows:
    Note: From Sterling B2B Integrator v6.2.0.1 and above, you can find the required WTX adapters in the jars or libs folder inside the ASI and AC pods, under /opt/runtime.
    • Copy the /ibm/b2bi/install/properties/dynamicclasspath.cfg.in file to the persistent volume.
    • Make the necessary modifications to this copied file and place the file in the config folder in the Sterling B2B Integrator Helm charts.
    • If required, shuffle the jars and change the order in dynamicclasspath.cfg.in.
    • Perform Helm upgrade.
  2. In the case of third-party Jar:
    • Use the customization UI to deploy the Jar.
    • Follow the above process if you want to change the order of the jars.

Customizing dtx.ini file for ITX

The dtx.ini is a configuration file used for setting various parameters for the ITX runtime. Inside the ASI/AC pod, the file can be located at /ibm/integrations/itx/opt/runtime/config. To make custom modifications to the dtx.ini file, copy it to a persistent volume, then place a modified file inside the config folder in the Sterling B2B Integrator Helm charts, and then upgrade the helm. For more details, see Understanding and Configuring the dtx.ini in WebSphere Transformation Extender.
Note: From Sterling B2B Integrator v6.2.0.1 and above, the file dtx.ini can be located at /opt/runtime/config inside the ASI/AC pod.

Migrating from IIM to Certified Containers

If you are an existing Sterling B2B Integrator-ITX customer and want to move to certified container, you just need to point your existing database to the Sterling B2B Integrator Helm chart (values.yml), followed by upgrading the Helm. This exercise will keep your existing on-premises database intact and will seamlessly migrate to certified container based deployment.

Following are the environments that are validated in Sterling B2B Integrator v6.2.0.0:
  • Sterling B2B Integrator v603x with ITX 10.0.3 (IM) is upgraded to Sterling B2B Integrator 6200 with ITX 10.1.1.1 in OCP.
  • Sterling B2B Integrator 601x with ITX 10.0.3 (IM) is upgraded to Sterling B2B integrator 6200 with ITX 10.1.1.1 in OCP.
  • Sterling B2B Integrator 611x with ITX 10.0.3 (IM) is upgraded to Sterling B2B integrator 6200 with ITX 10.1.1.1 in OCP.