Using Apache Kafka for external integrations

As part of the development setup for IBM® Sterling Intelligent Promising containers, an Apache Kafka instance is provisioned and managed within the SIPEnvironment. This Kafka instance can be used for both internal communication and external integrations.

About this task

In earlier setups, users who required integration between IBM Sterling Intelligent Promising and Sterling Order Management System Software or other external consumers or producers, had to provision and manage a separate external Kafka instance.

With the updated development setup, IBM Sterling Intelligent Promising containers include an Apache Kafka instance that can also be used for external access. This eliminates the need to set up and maintain a separate Kafka instance for development and testing purposes.

Users who are running Sterling Order Management System Software which ingests data to IBM Sterling Intelligent Promising, or external systems that consume events from IBM Sterling Intelligent Promising, can connect to this Apache Kafka instance even if they are not in the same cluster where IBM Sterling Intelligent Promising is installed, provided appropriate network access and configurations are in place.

Procedure

  1. Install Apache Kafka.
    1. Install IBM Sterling Intelligent Promising container in development mode, which installs Apache Kafka by default.
    2. Verify that the installation creates an HTTPS route to access Kafka from outside the cluster.

      For example:

      https://kafka-<sip-domain>:443
  2. Configure Kafka in the Sterling Order Management System Software environment by adding the following properties in the customer_overrides.properties file.
    kafka.cluster.names.ext: sip-kafka
    kafka.cluster.sip-kafka.producer.bootstrap.servers: kafka-<sip-domain>:443
    kafka.cluster.sip-kafka.producer.security.protocol: SSL
    kafka.cluster.sip-kafka.producer.ssl.truststore.type: JKS 
    kafka.cluster.sip-kafka.producer.ssl.truststore.location: /opt/ssfs/runtime/security/trustStore
    kafka.cluster.sip-kafka.producer.ssl.truststore.password: changeit
    Note: Ensure that you use an SSL port in the security protocol as shown in the example.

    For more information about extracting the trustore.jks for the Red Hat® OpenShift® cluster, see Accessing Kafka: OpenShift Routes.

    For more information about extracting the trustore.jks for the Kubernetes cluster, see Accessing Kafka: Ingress.

    For more information about the Kafka properties, see Kafka properties.