SISCWeb (web framework)
|Stable release||0.5 / April 27, 2007|
|Operating system||Cross-platform via JVM|
|Type||Web application framework|
|License||GNU Lesser General Public License|
SISCweb is a framework to facilitate writing stateful Scheme web applications in a J2EE environment.
By using continuations, SISCweb does away with the page-centric execution model typical of web programming. Every time the program sends a response to the browser, its state is suspended, to be then resumed from that exact point when the browser submits a request.
One implication of this approach is that local variables in scope when the response is sent will still be in scope when the subsequent request is received, making much of the session-object data shuffling needless. Another consequence is that, much like in console-based applications, the conversational state between client and server is constantly maintained—hence the term "stateful."
SISCweb is implemented in SISC, a Scheme interpreter for the JVM with support for full continuations.
SISCweb is both a compact engine to manage continuations and a collection of small libraries to ease web development. Benefiting from both its implementation language, Scheme, and its environment, J2EE, SISCweb offers:
- An interactive, REPL-based web application development style.
- Developers can write web applications incrementally without ever needing to restart the J2EE context or the application itself.
- A powerful, yet unobtrusive SXML-based extension to HTML mostly oriented toward flow control.
- It is possible to define closures on the fly, and associate them to a link.
- Solid support for using standard J2EE view components such as JSP/Servlets in place of SXML.
- A handy (if incomplete) SQL library easily extended to various database vendors through plug-in Scheme modules.
- Generation of Graphviz graphs through an SXML version of DOTML.
- Home page at http://siscweb.sourceforge.net/