Patent ID: 7631092

Claim:
A computer-based system that uses a pluggable store to communicate between a messaging server and a plurality of persistent resources, comprising: a messaging server that sends, via an application program interface that includes asynchronous persistence capability, asynchronous messages to a pluggable store to update the contents of a persistent resource; a pluggable store that provides the application program interface used by the messaging server to send the asynchronous messages to the pluggable store and provides an interface definition between said asynchronous messages and a plurality of persistence mechanisms plugged into the pluggable store, wherein each of the plurality of persistence mechanisms is associated with a persistent resource and implements the interface definition between said asynchronous messages and the plurality of persistence mechanisms to plug an associated persistent resource into the pluggable store; and a plurality of persistent resources embodied on computer readable storage media, the contents of which are persistently updated by the pluggable store in response to receiving said asynchronous messages; wherein the interface definition defines functions to open, close, write to, and delete an object from an associated persistent store; wherein the application program interface provides functions that the messaging server accesses to manipulate records in the plurality of persistent resources including functions to open the plurality of persistent resources, functions to write an object to the plurality of persistent resources, functions to delete an object in the plurality of persistent resources, and functions to close the plurality of persistent resources; wherein the pluggable store allows several write, delete, or change requests to be aggregated and processed concurrently; wherein the messaging server is a JAVA Messaging Service (JMS) layer; and wherein the asynchronous persistence capability is part of an asynchronous store layer wherein the pluggable store is part of a synchronous pluggable layer wherein the interface definition defines the interaction of the asynchronous persistent store and the synchronous pluggable layer.