IBM Support

IBM Control Center and IBM Sterling B2B Integrator.

Technical Blog Post


Abstract

IBM Control Center and IBM Sterling B2B Integrator.

Body

A lot of folks use IBM Control Center (ICC) to monitor IBM Sterling B2B Integrator (SBI). ICC is a tool which looks at a lot of things, but it does have some performance considerations. So I wanted to go over what the mechanics of the monitoring - Go over how the monitoring works and what it does and doesn't do. I also wanted to mention some of the "gotchas" you can run into with the monitoring.

Note: IBM Control Center used to be called Sterling Control Center (SCC) in earlier versions. What I'm talking about here covers both SCC and ICC up to version 6.X. The diagram I used below is one I created before the name change, so it talks about SCC, not ICC. But it still applies.

1) ICC sends a SOAP request to SBI.
2) The SOAP request is sent via HTTP to an HTTP server adapter set up on the SBI side. Out of the box, this hits the /soap-sync URI. This does mean that SBI needs to be up and running for ICC to get information. If SBI is down, then the SOAP requests won't make it to SBI and will not be processed.
3) The HTTP Server adapter kicks off the process SOA_MessageHandler_Sync. This process parses the SOAP request and pulls out the request. The request is the information about what is being asked for and all the parameters.
4) This process then kicks off the process SOA_RequestHandler_Sync. This process parses through the request and pulls out all of the parameters and figures out which service to run.
5) And then the SCCInteropService is kicked off. This code takes the request and the parameters and figures out what information is needed. It either pulls the information from memory, or if needed, it puts together a database query and sends a query to:
6) Database (optional). If the monitor is looking for information from the database, then a query is run. If there is an issue with performance or a bottleneck, it's most likely in this step.
5) Then the SCCInteropService sends the results back to:
4) The SOA_RequestHandler_Sync process, which formats the reply and send it to:
3) The SOA_MESSAGEHandeler_Sync process which puts this into an HTTP response and hands it back to:
2) The HTTP Server Adapter which sends the formatted response back to:
1) ICC

Overrides.

The SCCInteropService builds and runs queries against the database. It's fairly common to put overrides in to modify the queries to increase performance. Most of the overrides have to do with adding row limits to the queries to limit the amount of data that is returned to ICC on each run. There are a few things to watch out for when putting in the overrides.

1) The properties for the queries are included under the jdbcService properties. This means that when you override them you use the prefix "jdbcService." in the customer_overrides.properties file.

For example:

jdbcService.query.BPHistoryEnd.oracle= WFD.TYPE < 100 AND WFC.WFD_ID = WFD.WFD_ID AND WFC.WFD_VERSION = WFD.WFD_VERSION ORDER BY END_TIME, STEP_ID) WHERE ROWNUM < &recordLimit;

  1. When overriding a property, make sure the entire property is on one line with no carriage returns or line feeds.

  2. The properties are database specific. In the example above, the override is for someone using Oracle as the database. Make sure that you are overriding the correct database. If I am using DB2 and I put the override above in, it will not be used. In this case it won't hurt anything, it will just won't be used.

Some final thoughts.

  1. A lot of the monitors in ICC query the SBI database. One thing this means is that it cannot not monitor information that isn't there. If the data expires and is purges from the SBI database before ICC asks for it, you won't see it. Also if you don't store the data to begin with, again ICC won't see it.

  2. The monitoring queries themselves can have a performance impact on the database. If you have been running SBI and are adding monitoring in, you should do testing to make sure you don't see performance issues. You may want to talk to your sales representative to get a sizing engagement done to make sure you have the resources to both run and monitor your data.

The Flow

image

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SS3JSW","label":"IBM Sterling B2B Integrator"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

UID

ibm11121697