IBM CICS is an example for smart producer of event processing system, it does not do event processing inline, but instruments CICS transactions to emit events, and works in a loosely coupled mode with any event processing engine that can read its emitted events. CICS TS 4.2 released recently has several improvements in the CICS event producing capabilities. Among these improvement are:
- Including the event emission to be part of the transaction, by doing the event emission as part of the commit process. Note that since it is loosely coupled with the event processing itself, this does not becomes atomic unit with the event processing itself, I have recently written about the relationships between transactions and events, and identified this area as one that need to be investigated more.
- Change management inside the event instrumentation in CICS with appropriate tools
- Inclusion of system events inside the CICS instrumentation (e.g. connection/disconnection to databases, transactions aborts etc..).
Since the strength of a chain s typically equivalent to the strength of the weakest link, in many cases the producer is the weakest link, and the amount of work required to emit the right events and the right time is often much larger than the rest of the system. Smart event producers like CICS making this weakest link much stronger.