In addition to database transactions controlled by a single Web object or procedure, WebSpeed supports the option of database transactions that last for multiple state-aware Web requests. That is, if you begin a WebSpeed transaction in your application, you have the option of starting a database transaction on the WebSpeed agent that lasts for the duration of the WebSpeed transaction or until you terminate the transaction by explicitly undoing, retrying, or committing the transaction. Furthermore, as long as at least one state-aware Web object remains active, you can continue to start and terminate these multi-page (agent) database transactions.