tsession: A Transaction Framework for Web Applications
This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.
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:
Properties
Versions | 0.1, 0.1 |
---|---|
Change log | None available |
Dependencies | base (>4 && <5), containers, mtl, time, transformers [details] |
License | BSD-3-Clause |
Copyright | 2014 Florian Micheler |
Author | Florian Micheler <hackage@micheler.net> |
Maintainer | Florian Micheler <hackage@micheler.net> |
Category | Web |
Uploaded | by FlorianMicheler at 2014-06-22T21:37:43Z |
Modules
- Control
- Control.TSession
Downloads
- tsession-0.1.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
Package maintainers
For package maintainers and hackage trustees