Our solution for the automatic recovery of business events in an information system is based on the following observation: While many information systems - especially older ones - are rather monolithic and their intrinsic information flows are hard to monitor, basic events in their associated database systems can easily be registered - either by way of listening at the interface or by reporting methods commonly supported in current database systems, e.g. triggers on database tables.
Figure 1 summarizes the overall design of our approach: A business operation carried out on the information system transforms the state of its underlying database system (arrow 1). Resulting database events are reported by triggers on the database tables (arrow 2). The reports are used by a production system in order to recover relevant business events (arrow 3). These can either initiate a workflow transition (arrow 4) or trigger a notification to a user (arrow 5).
It would be rather time consuming or error-prone for a human programmer to manually code the automatic recovery of business events. Therefore, our design incorporates a learning process (cf. section 3) during which the functional correspondences between sequences of atomic database events and higher-level business events are semi-automatically acquired by our system. The results of this learning process are then compiled into a set of production rules. At run- time the production rules are defined in an inference engine that can handle interleaved business operations commonly arising in multi-user systems (cf. section 4).