Publication of informational messages to software applications in a computing environment
First Claim
1. A method for publishing information to independent software applications operating in a computer system, the method comprising:
- detecting occurrence of an event in which a persistent store of data is modified;
storing, in a memory of the computer system, a new record for each event, each record comprising information relating to the event and a respective next sequential identification code;
preparing a corresponding message for each record of a plurality of records, each message comprising certain information relating to a respective event that is to be communicated to the independent software applications;
transmitting each message to at least one independent software application of the computer system to publish information relating to corresponding events; and
storing, in the memory, the respective sequential identification code of the last record published by transmission of a respective corresponding message.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
-
Citations
25 Claims
-
1. A method for publishing information to independent software applications operating in a computer system, the method comprising:
-
detecting occurrence of an event in which a persistent store of data is modified;
storing, in a memory of the computer system, a new record for each event, each record comprising information relating to the event and a respective next sequential identification code;
preparing a corresponding message for each record of a plurality of records, each message comprising certain information relating to a respective event that is to be communicated to the independent software applications;
transmitting each message to at least one independent software application of the computer system to publish information relating to corresponding events; and
storing, in the memory, the respective sequential identification code of the last record published by transmission of a respective corresponding message. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 22)
-
-
14. A method for publishing information to independent software applications operating in a computer system, the method comprising:
-
storing, in a memory of the computer system, a new record for each of a plurality of events, a persistent store of data being modified with the occurrence of each event, each record comprising information relating to a corresponding event and a respective identification code, the respective identification codes being assigned to the records in a predictable sequence corresponding to an order of storing of the records;
preparing a corresponding message for each record of a first plurality of records, each message comprising information relating to a respective event that is to be communicated to the independent software applications;
transmitting, in a first plurality of messages, each message of the first plurality of messages to at least one independent software application of the computer system to publish information relating to corresponding events; and
storing, in the memory, the last sequential identification code of the records corresponding to the messages transmitted in the first plurality of messages. - View Dependent Claims (15, 16)
-
-
17. A method for publishing information to independent software applications operating in a computer system, the method comprising:
-
receiving a recovery request from a subscribing application, said recovery request identifying at least one identification code of a record for which retransmission of a corresponding message is requested, the corresponding message including information from the record;
adding to a queue the recovery request; and
intermittently processing a plurality of recovery requests in the queue, the processing for each recovery request comprising retrieving information from a persistent store of data, preparing a message including the retrieve data, and transmitting the message to the subscribing application. - View Dependent Claims (18, 19, 20, 23)
-
-
21. A computer program product embodied on one or more computer-readable media, the computer program product comprising:
-
computer readable program code configured to store, in a memory of the computer system, a new record for each of a plurality of events, a persistent store being modified with the occurrence of each event, each record comprising information relating to a corresponding event and a respective identification code, the respective identification codes being assigned to the records in a predictable sequence corresponding to an order of storing of the records;
computer readable program code configured to prepare a corresponding message for each record of a first plurality of records, each message comprising information relating to a respective event that is to be communicated to the independent software applications;
computer readable program code configured to transmit, in a first plurality of messages, each message of the first plurality of messages to at least one independent software application of the computer system to publish information relating to corresponding events; and
computer readable program code configured to store, in the memory, the last sequential identification code of the records corresponding to the messages transmitted in the first plurality of messages.
-
-
24. A system for publishing information to independent software applications operating in a computer system, the system comprising:
-
means for storing, in a memory of the computer system, a new record for each of a plurality of events, a persistent store being modified with the occurrence of each event, each record comprising information relating to a corresponding event and a respective identification code, the respective identification codes being assigned to the records in a predictable sequence corresponding to an order of storing of the records;
means for preparing a corresponding message for each record of a first plurality of records, each message comprising information relating to a respective event that is to be communicated to the independent software applications;
means for transmitting, in a first plurality of messages, each message of the first plurality of messages to at least one independent software application of the computer system to publish information relating to corresponding events; and
means for storing, in the memory, the last sequential identification code of the records corresponding to the messages transmitted in the first plurality of messages.
-
-
25. A system for publishing information to independent software applications operating in a computer system, the system comprising:
-
a processor;
a memory operably connected to the processor; and
instructions stored in the memory and executable by the processor to cause said system to;
store, in the memory, a new record for each of a plurality of events, a persistent store being modified with the occurrence of each event, each record comprising information relating to a corresponding event and a respective identification code, the respective identification codes being assigned to the records in a predictable sequence corresponding to an order of storing of the records;
prepare a corresponding message for each record of a first plurality of records, each message comprising information relating to a respective event that is to be communicated to the independent software applications;
transmit, in a first plurality of messages, each message of the first plurality of messages to at least one independent software application of the computer system to publish information relating to corresponding events; and
store, in the memory, the last sequential identification code of the records corresponding to the messages transmitted in the first plurality of messages.
-
Specification