Patent ID: 7433875

Claim:
In a system including a server having a store, the store accessible by one or more clients, wherein the one or more clients access items from the store using a plurality of different protocols, a method for implementing application logic to manipulate items in the store, the method comprising the acts of: registering application logic with one or more store events that abstract the plurality of different protocols from the application logic such that client communication using any of the plurality of different protocols corresponding to access to an item in the store can cause the application logic to execute; detecting the occurrence of one of the store events for which one or more application logic has been registered; upon determining that the detected store event is a synchronous event and prior to committing the item to the store, providing complete control of the item to the application logic registered with the store event while the application logic registered with the store event executes, and providing access to the item thereafter being returned to the client; and upon determining that the detected event is an asynchronous event, committing the item to the store and thereafter executing the application logic registered with the store event to manipulate the item in the store in response to the occurrence of the store event.