[Sisc-users] [ANN] SISCweb v0.33 - Stateful Scheme framework for J2EE
Brought to you by:
mradestock,
scgmille
From: Alessandro C. <aco...@gm...> - 2006-04-15 17:06:57
|
I would like to announce the release of SISCweb v0.33, available at: http://siscweb.sourceforge.net/ This is a compatibility release with SISC 1.13, and adds some features from the 0.4 development branch. NOTES This release is ONLY compatible with SISC 1.13 and up. If compatibility with SISC 1.11 is desired, SISCweb 0.32 should be used instead. FEATURES - A new module siscweb/image provides procedures to send images from java.awt.image.RenderedImage objects or from files. - A new API wraps and "scheme-ifies" all methods on the Request, Response, Session and ServletContext objects. This makes it easier to access POST data through a scheme input port, or to set the response buffer size, or set Java or Scheme session attributes, for example. - A new procedure forward/dynenv/store! can be used in place of the @href-p attributes or plain forward/store! when one desires to capture the dynamic environment of a closure, e.g. SRFI-39 parameters. Because SISC 1.13 solves a few serialization bugs, it is now possible to use SRFI-39 parameters in place of session attributes for tracking state. This is particularly useful in event-based programming (e.g. AJAX). See the Counter example code (no pun intended). - Improvements to response writing improve performance for markup, graphviz, images. - Improvements to XML/XHTML output. - A new (backwards-compatible) API for siscweb/config. - Updated documentation throughout. - Some internal refactoring. FIXES - Compatible with SISC 1.13. - Some XML/XHTML fixes. OVERVIEW SISCweb is a framework to facilitate writing stateful Scheme web applications in J2EE environments. FEATURES SISCweb features an interactive, REPL-based web application development style. Developers can write applications interactively, without ever bouncing the server, and, insofar as it is desirable, without ever losing application state. (In fact, save for the Java portion, SISCweb itself is written interactively in a REPL.) Through the use of continuations, SISCweb does away with the page-centric execution model typical of web applications. [*] Every time a response is sent to the browser, the program execution flow is suspended, to be then resumed from that exact point when the browser submits a request. [*] More information can be found in this paper: Christian Queinnec. "Inverting back the inversion of control or, continuations versus page-centric programming". Technical Report 7, LIP6. May 2001. (http://www-spi.lip6.fr/~queinnec/Papers/www.ps.gz) REQUIREMENTS SISCweb requires a J2EE 1.3 application server and a JDK 1.4 or later. More detailed information is contained in the INSTALL file. CREDITS SISCweb is based on SISC (sisc.sf.net), a Scheme interpreter for the JVM, and is heavily influenced by other Lisp web frameworks: - the PLT web server collection (http://download.plt-scheme.org/scheme/docs/html/web-server/) - SUnet (http://www.scsh.net/resources/sunet.html) - AllegroServe (http://allegroserve.sourceforge.net/) A couple of initial design decisions were also lifted from Matthias Radestock's servlet code in the contrib section of the SISC CVS tree. Also special thanks to Anton van Straaten, Dominique Boucher, Ben Simon, Dan Muresan and Felix Klock for bug reports, suggestions, and/or work in support of SISCweb. CONTRIBUTING, BUG REPORTS Comments, ideas, and bug reports are welcome at: aco...@us... Thank you! ___ Alessandro |