Event Engine Channels plug-in


The plug-in provides a mechanism for notifying changes to configuration items (CIs) stored in BMC Helix CMDB. The Event Engine (BMC.FILTERAPI.EVENT_ENGINE) plug-in is also called the Event Engine Channels plug-in. 

BMC Helix CMDB Core Event Channels diagram

The following diagram presents the key modules that implement the BMC Helix CMDB Core Event Channels. 

block_diag_EC.jpg

Note

Currently BMC supports changes done by BMC Helix CMDB only. Other channels such as Complex Query Processor, DSM/AUI/NE, and RE are not implemented but shown for conceptual clarity.

Event flow for a subscriber

At a high level, the following is the flow of events for a subscriber:

  1. A subscriber subscribes to a channel, for example, CMDB CI Feed Channel.
  2. An internal connection is established with the event delivery mechanism (AR Alert) and ensured that a call back routine (that implements a known event interface, described in later sections) is available.
  3. When the event, in our example above, a CI Change event for an instance of BMC_ComputerSystem class, is received by AR Alert, it calls the call back routine and passes the CI Change Event object.
  4. The call back routine, to be written by the subscriber, calls the getChangedCI() function on the CI Change Event object. In the current example, this is the CMDBInstance object representing the changed CI of the BMC_ComputerSystem class.
  5. The event contains all the system wide configured attributes. However, you can select the CIs that need to be processed. For example, if you are interested in all ComputerSystems except Desktops and Laptops, you can check primary capability attribute to discard all CI's that represent Desktops & Laptops and process all other CIs. 

Event flow for a publisher

At a high level, the following is the flow of events for a publisher:

  1. CMDB detects a newly created CI.
  2. CMDB creates a new entry in CI Event Form containing the relevant information about this CI by using the Publisher API.
  3. The Publisher API checks if the class is configured for change events, then looks at the system-wide configuration of attributes for the specific class, and stores only those attributes as name-value pairs in a field on the CI Event form.
  4. The creation of the entry triggers a filter API call on the Event Engine (a filter Plug-in).
  5. The Event Engine adds the entry to a queue specific to the CI Events and returns the call.
  6. A background thread in the plug-in fetches the entry, picks up the subscribers for the CI Channel, builds a string message that contains relevant data, and creates a new alert (containing the message) in the Alert Event form.
  7. AR Alert picks up the event and sends it to the intended subscriber.
  8. The subscriber processes the event.

AR System server connectivity

The Event Engine plug-in connects to the AR System server by using the AR System Java API.

Configuration information

The plug-in receives its configuration from the following:

  • The AR System Configuration Generic UI form allows enabling and disabling the plug-in functionality. 
    See AR System Configuration Generic UI form in Action Request System documentation.

  • The AR System Administration:Plugin Server Configuration form allows configuring the plug-in. 
    Event Engine plug-in.png


 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*