Sitworld: Sample EIF Listener project
By John Alvord, IBM Corporation
I was thinking for that you could smooth out some ITM rough edges by writing a EIF [Event Integration Facility] listener. You could do extended processing in the listener. You could do extended filtering – like altering the MS_Offline logic in ways that made business sense. Or you could use it for a diagnostic facility before committing some new situations to the eventual event receiver. There are lots of ways that could be useful.
An IBM colleague, Aldo Duran - firstname.lastname@example.org, created such an example a while ago and has graciously let me share it here. He titled the project
ITM Environment: Running Actions using an EIF Listener
A zip files with the Perl program objects and pdf documentation are found here
The second one has a small revision to allow retrieving posteifmsg inputs.
The following text is copied from the very nice and visual introduction to the project.
<start of quotation>
I am presenting in this document a way to run an action when the state of situations changes using the EIF (Event Integration Facility) interface. Also, in those cases in which interface is a work-around to this limitation. For example the following are cases in which we cannot define a system command to run in the action tab:
• When monitoring a file for the last time the file changed using a time comparison.
• When a situation is used in a policy (or workflow) the action is not invoked when the situation becomes open or true.
Running an action when a situation changes its state is very useful to customer that do not have event servers, like TEC or Omnibus and they need a way to interface ITM with their own event handler or at least have the capability to send emails when the state of the situation is changed.
<end of quotation>
It lets you arbitrarily extend what happens when there is change in situation status.
Omnibus has a command line tool to send alerts. After some transformations with the event input you could generate an alert and send it on to omnibus for more processing. You could check things in a database or some configuration file or almost anything. Here is a documentation reference
This example can be used to extend ITM actions in more ways. It is a very interesting example.