I have noticed in most Web applications that whenever there is a transaction involved in a train of pages, the transaction handling happens in the database layer. In a web application where there could be numerous users running such transactions, handling all the transactions could be a critical thing. I agree that the database layer is quite efficient in doing this and provides quite a number of features to do this efficiently.
My question is if a web application is built over a database which does not provide support transaction handling, is there a way to handle these transactions in the other layers ?