A "push" based publication model in which messages are sent automatically
to communicate event related data to other system applications when an
event occurs that causes a change to a persistent data store. A shadow
table stores records relating to information stored in the main table.
Each record is assigned a sequentially ordered identification code. A
high water mark table stores the identification number of the last
message published for a group of messages, and thus points to where
publication last stopped. By using sequentially ordered codes, it is
readily apparent from a gap in the sequence codes whether a
record/message is missing. The shadow table may be configured as an Index
Ordered Table to eliminate a query "hop" from the index table to the
shadow table. The persistent store is queried to identify changes in
persistent store structure, and the message structure is modified
automatically to reflect any changes.