@hackage tsession0.1

A Transaction Framework for Web Applications

  • Categories

  • License

    BSD-3-Clause

  • Maintainer

    Florian Micheler <hackage@micheler.net>

  • Versions

    • 0.1 Sun, 22 Jun 2014

The concept of this web transaction framework is influenced by sessions, transactions and software transactional memory. To web-developers it offers sessions with integrated transaction management that has an included server-side storage of key-value pairs. The transactions can be spanned over multiple web requests and only affect the database when a commit is instructed. Additionally, the sessions have access to the (not yet committed) key-value pairs and the status (e.g., the last requested page) of all other sessions that are active. As sessions have to be canceled after a given timeout, the framework has a garbage collector that safely cleans up the timed out sessions. The framework introduces a monad which encapsulates all the logic of the transactions and frees them of side effects. This is a concept known from the STM--monad and like in STM, the transactions cannot dead-lock each other.

For more information check my master thesis:

http://stud.micheler.net/master.pdf