Patent ID: 7502811

Claim:
A process to defer a persistence of a server component object during a transaction on a database, the process comprising: using an improved container program that creates a plurality of server component objects, associates each of the plurality of server component objects with the transaction, maintains each of the plurality of server component objects in a cache, filters out any unnecessary database operations, and then flushes the cache at an appropriate time so that a server component object is persisted only when a client program commits an associated transaction or an object program attempts to access the server component object, performing the steps of: receiving a request from the client object program to initiate the transaction; storing the request from the client object program to initiate the transaction within the cache; receiving a request from the client object program to create a server component object associated with the transaction; storing the request from the client object program to create the server component object associated with the transaction within the cache; receiving a request from the client object program to commit the transaction; and responsive to the client object program's request to commit the transaction, initiating the transaction stored in the cache, persisting the server component object associated with the transaction to the database, committing the transaction, removing the request to initiate the transaction from the cache, and removing the server component object associated with the transaction from the cache; wherein all operations on the database related to the transaction are deferred until the client object program completes the transaction; wherein the persistence of the server component object during the transaction is controlled minimizing a number of times that the database is accessed; wherein a plurality of database operations required to persist a plurality of server component objects are cached until the client object program commits the associated transaction or until the object program attempts to access the server component object.