Configuring an IBM Transformation Extender Advanced and IBM Control Center Integration

Integrate your IBM® Transformation Extender Advanced installation with IBM Control Center to monitor the status of your ITXA servers and messages using IBM Control Center.

Prerequisites

About setting the ITXA properties

To send events to IBM Control Center, you set some ITXA properties to configure the following:

  • Classes that send ITXA event and system status heartbeats to IBM Control Center.
  • Login information for the event repository. You set these properties to point to the IBM Control Center instance.
  • Other information that is used by the event and system status classes, such as the default instance name to use, the locale, the heartbeat frequency, and a directory for temporary storage of the events that are queued to send to IBM Control Center.

Configure ITXA properties and start the ITXA Trading Partner UI

  1. First, configure ITXA to support sending events to IBM Control Center and to reference your instance:

    In ITXA, modify the customer_overrides.properties file to uncomment the following entries.

    # These properties are set to enable the Control Center event provider.
    event.repository.url=http://hostname:port/sccwebclient/events
    event.repository.username=username
    event.repository.password=password
    event.SystemStatusTimerSeconds=300
    event.SystemStatusInstanceName=SPE 
    event.SystemStatusLocale=your_locale
    event.dir=C:/IBM/Standards Processing Engine 9.0.0/ccEventStore
    spe.EventProvider=com.ibm.spe.core.events.SPEControlCenterEventProvider
    spe.SystemStatusProvider=com.ibm.spe.core.events.SPESystemStatusProvider
    In this example:
    • The variables username and password refer to your the IBM Control Center user name and password. The default is admin.
    • The variable hostname designates the FQDN for the IBM Control Center event processor (EP).
    • port is the port that is configured for the event processor's WebSphere® Application Server. Example: 58082. Ensure that this port is open in the firewall.
    • event.SystemStatusTimerSeconds controls how frequently the system status provider sends heartbeat events to IBM Control Center.
    • event.Repository.url is comma-delimited list of URLs that events should be posted to (for example, http://server:port/sccwebclient/events). When you supply more than one URL, events are posted in a round-robin order. This feature provides a way for you to implement multiple instances of the event repository without requiring a load balancer.
    Important: Be sure to save this file.
    Two additional properties can be set to control how events are batched and sent to Control Center. However, these typically do not need to be changed from the default values.
    • event.batchSize controls the number of events that are posted at one time.
    • event.maxPostInterval specifies the number of seconds that can elapse before batched events are posted to the repository (regardless of how many events have accumulated).
  2. Start the Trading Partner UI.
  3. Open a browser and connect to the ITXA Trading Partner UI. You must also restart Sterling B2B Integrator whenever changes are made to the ITXA customer_overrides.properties file in order for those changes to take effect.
  4. Log in to the ITXA Trading Partner UI to finish initializing it and to start sending of heartbeat events.
    Note: Once the first user connects to the ITXA Trading Partner UI, it sends heartbeat events until it is shut down.
  5. Connect to IBM Control Center and log in.

    See the IBM Knowledge Center for a description of the IBM Control Center dashboard and how to monitor servers and server groups.

Configure the ITXA base summarizer

IBM Control Center uses a summarizer to help capture summary information about the events that it receives for a given process. You can use the default summarizer that is provided by IBM Control Center, or you can write your own.

  1. Copy the custom ITXABaseSummarizer class from ITXA to a directory for use by IBM Control Center:
    1. Change your directory to the root summarizer folder control_center_dir/conf/classes.
      Installation directory: control_center_dir indicates the IBM Control Center installation directory. Windows example: C:\Program Files\IBM\ControlCentern.n.n
    2. Create a directory path on disk that corresponds to the ITXA summarizer package path. Create the following directory: control_center_dir/conf/classes/com/ibm/spe/controlcenter.
    3. From the itxa_install_dir/ICC/com/ibm/spe/controlcenter directory, copy the ITXABaseSummarizer.class file to the directory that you created, control_center_dir/conf/classes/com/ibm/spe/controlcenter

    This class is used to set the process status to accurately reflect the Enveloping, De-enveloping, or Transform status.

  2. If IBM Control Center is not running, start or restart it.

    When the message Web Client initialized is displayed in the console log, this indicates that IBM Control Center is started .

  3. From a browser window, start the IBM Control Center web console at http://hostname:port/sccwebclient/manage, where hostname is the FQDN of the event provider and port is the port that the event provider of the WebSphere Application Server is configured to use.
  4. When the login screen is displayed, enter your IBM Control Center user name and password.

    Default settings: admin for both the user name and password.

  5. To use an ITXA service to fire events, set one of these options as shown in the examples:
    DriverTracking=true
    Lets ITXA generate an ID to use as the correlation ID
    DriverTrackingID=someTrackingId
    Specifies the ID to use as the correlation ID
    Note: The DriverTrackingID must be unique. If the same DriverTrackingID is used on multiple threads at the same time, some events might not be sent to IBM Control Center.
    Examples:
    • If you are using Sterling B2B Integrator, then add this service parameter to your ITXA service:
      <assign to="SPEContextParms.DriverTracking">true</assign>
    • If you are using an example from an ITX pack, add the following option to your itx_install_dir\examples\pack_type\standard_type\batchfile.txt file:
      option=DriverTrackingID|MyCorrelationID
      Example:
      api=deenvelope;standard=X12;input=deenvelope/data/x12in-multi.txt;output=deenvelope/output/multi;option=DriverTrackingID|Sample-Deenvelope-1
  6. Verify that event data is reaching IBM Control Center:
    1. In the IBM Control Center web console, go to the Monitor menu and select Completed Processes.

      The completed processes are displayed for the services that you ran.

    2. If the completed processes are not displayed, review the logs and check the Troubleshooting items.
  7. Configure the ITXA summarizer in IBM Control Center:
    1. In the IBM Control Center web console, go to the Admin Menu on the far right and select System Configuration.
    2. In the Custom Views list, click Itxa.
    3. Enter the full class name of the summarizer in the Process summarizer field that is displayed on the right:com.ibm.spe.controlcenter.ITXABaseSummarizer

      Optionally, change the Description from Itxa to a more descriptive option, such as ITX Advanced, and save.

  8. If desired, customize the column display in IBM Control Center.

Configure instance names for multiple ITXA processes

Normally, the name listed in IBM Control Center for a monitored ITXA server matches the name of the event.SystemStatusInstanceName in the ITXA customer_overrides.properties file. However, the ITXA Trading Partner UI is configured to specify a Java™ system property at startup that overrides this name. This way, if you have multiple ITXA/SPE processes running on a single machine, it is easier to tell them apart.

You can also override the event.SystemStatusInstanceName by using an environment variable.

Configuring Sterling B2B Integrator

If you are a Sterling Integrator® user, you must also configure your ITXA installation in order to update the installation path and to send correlations to IBM Control Center.

  1. Modify the dynamicclasspath.cfg file to add the following references:
    VENDOR_JAR=install_spe_jar/jars/icu4j-55.1.jar
    VENDOR_JAR=install_spe_jar/jars/10x-core-2.3.0.7.jar (or higher) 
    VENDOR_JAR=install_spe_jar/jars/event-publisher-sdk-2.0.2.jar (or higher) 
    VENDOR_JAR=install_spe_jar/jars/commons-codec-1.9.jar
    VENDOR_JAR=install_spe_jar/jars/gson-2.2.4.jar
    Important: The entry for the icu4j-55.1.jar jar must remain as the first entry. Otherwise, a conflicting icu4j jar file that is used by Sterling B2B Integrator can conflict and prevent the event publisher API from generating events. The placement of the other .jar files does not matter.
  2. Add the following assign to the SPE service call in your business process. It tells ITXA to send any correlations that are captured to IBM Control Center.
    <assign to="SPEContextParms.DriverTracking">true</assign>
    If you prefer to specify your own TrackingID instead of using a generated ID, add a statement similar to the following:
    <assign to="SPEContextParms.DriverTrackingID">yourSpecifiedValue</assign>
  3. Restart Sterling B2B Integrator in order for the new .jar files to take effect.

Configuration troubleshooting

If the expected completed processes are not displayed, review the logs. To receive logging information, add these properties as desired to the ITXA customer_overrides.properties file:
event.debug=true
# Writes additional debugging information to either the systemlogger, or to standard output.
event.logDebugMessagesToStandardOut=true
# Writes the debug information to standard output instead of to a log.
event.logDebugMessagesToStandardErr=true
# If an exception is thrown in the ICC classes that send the events, the 
# exception information is written to stderr.
Generate debugging messages as desired in IBM Control Center by using the following methods. Log messages that are generated by the report summarizer appear in the icc_install_dir/log/Engine_datetime.log.
  • Create an icc_install_dir/conf/itxa.properties file with the following entry:
     ITXAReportSummarized.debug=true
    If you want the debugging messages to be written to standard output (stdout) instead of to the log file, add this entry:
    ITXAReportSummarizer.logDebugMessagesToStandardOut=true
  • Edit ccInstall/conf/Engine.log4j and set the following entry:
    log4j.rootLogger=DEBUG, R
    Note: This turns on system-wide debugging, which generates a lot of output.
If the expected completed processes are not displayed, also check to ensure the following:
  1. Required .jar files are present in the classpath. Check for a ClassNotFoundException message in the logs.
  2. IBM Control Center port (example: 58082) and the Cognos® dispatcher port (example: 58085) are open in any firewalls.