1. A computer implemented method comprising: receiving, at a server hosting a web service, an initial web service call from a client associated with a caller identifier; upon authenticating the client, creating a client session using the caller identifier, and sending the caller identifier to the client, the caller identifier binding the client to the server for the duration of the client session; receiving, from the client, a web service call indicating a beginning of a database transaction and comprising the caller identifier indicating that the client has been authenticated by the server; creating the database transaction in response to the web service call indicating the beginning of the database transaction, wherein creating the database transaction comprises opening a database connection and associating an identifier of the database transaction with the caller identifier; receiving, from the client, subsequent web service calls comprising the caller identifier during the client session; for each subsequent web service call during the client session, determining the identifier of the database transaction using the caller identifier, restoring the database connection pertaining to the database transaction, and performing a corresponding subsequent web service call using the database connection while refraining from committing data resulting from the subsequent web service calls to a database; and upon receiving a web service call indicating an end of the database transaction, committing or rolling back the data resulting from the subsequent web service calls, and terminating the database transaction, wherein terminating the database transaction comprises releasing the database connection.