Scenario: The end user wants to define actions on set of data change events that happen within the system. These actions should be configurable. I have few questions regarding it below:
My first questions is how can we monitory data changes & raise events from database tier? as don't have single point entry to database. Possible solutions which I know of is DB Triggers, Change Tracking & Change Data Capture. Are they really good choices as they are all based on Pull model?
Who should observe these events? Should we queue them in a table and pick them from there one by one?
Is it a proper use case of Complex Event Processing?
It seems clearly that configurability of actions can come directly from any Rules engine like drools, flexrule etc. Is it the right approach? There are many blogs that talk about rules engine being bad a choice.