Tuesday, 13 May 2014

More on IBM BPM and IBM Business Monitor integration - get your aliases right ...

So part of the process of integrating IBM BPM and IBM Business Monitor is to set up an Event Emitter Alias. This is an ID ( with a fixed name - EventEmitterAlias ) that exists on BPM, and is known to Monitor.

Monitor then fires messages at the BPM cell, using this alias. The alias, as created on the BPM cell, also known as a Java2Connectivity (J2C) Authentication Alias, is then used to map the alias to a real user only known to/by the BPM cell.

The documentation is quite explicit in this: -


  • Create a J2C authentication alias named EventEmitterAlias on the IBM BPM cell:
    1. From the administrative console on the remote IBM BPM cell, click Security > Global Security.
    2. Under Authentication, expand Java Authentication and Authorization Service, and then click J2C authentication data.
    3. Clear the Prefix new alias names with the node name of the cell (for compatibility with earlier releases) check box.
    4. Click Apply.
    5. Click Save.
    6. Click New and enter EventEmitterAlias for the alias name.
      • The J2C authentication alias must be EventEmitterAlias. It must not contain the node name of the cell.
      • The user ID and password must be an existing administrator user ID and password for the IBM BPM cell.


  • Guess which fool didn't read point (C) above ?

    Yes, you've guessed it.

    I created an alias called EventEmitterAlias via the WAS Admin GUI ( Integrated Solutions Console ), and didn't notice that the name automatically picked up the prefix of dmgr meaning that I had an alias called dmgr/EventEmitterAlias.

    So Monitor fired a message to BPM, expecting to find EventEmitterAlias, but BPM didn't know about that one.

    Long story short, this led to exceptions such as: -

    [5/12/14 15:22:25:971 CDT] 0000029c MDBEmitter    E com.ibm.wbimonitor.mdbemitter.MDBEmitter onMessage(Message message) CWMDS6902E
    : The following exception occurred when processing the XML and sending CBE:
     No authentication data.
    [5/12/14 15:22:26:031 CDT] 000001a6 EmitterUtils  E com.ibm.wbimonitor.emitter.utils.EmitterUtils getInstance() CWMDS6818E: The Monitor emitter cannot be obtained. Will retry in 15 seconds...


    in the SystemOut.log file on the BPM ( Process Center ) box.

    Once one of my colleagues realised where I'd gone wrong, and we recreated the alias and restarted BPM, all was well.

    This, plus my earlier LTPA issues, represents a really useful set of experiences, to which I know I'll refer back :-)

    No comments:

    Note to self - use kubectl to query images in a pod or deployment

    In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...