Code Comments
Programming Forum and web based access to our favorite programming groups.I would like to announce that the first public release of SISCweb is available at http://www.sf.net/projects/siscweb/. SISCweb is a framework to facilitate writing stateful Scheme web applications in J2EE environments. In addition to the source code, a small collection of simple examples is provided as a war file "siscweb-examples.war" which can be deployed in any recent J2EE server (e.g. tomcat 5.x) running under Java 1.4. 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. Some consequences of this approach are: - Programs are more easily structured around their problem domain rather than their presentation. - Developers are freed from having to manually manage the lifecycle of objects in the session. In fact, there is hardly any need to store objects in the session; when the browser submits a request and the program's execution flow is resumed, all the language-level variables the were in scope are again available. - Thanks to SISC's serializable continuations, accumulated program state is transparent to server restarts and (theoretically) to clustering. - Programs can be made resilient to page reloads and cloning with much less effort. - An extra security layer is added because URLs (which now encode a reference to program state) cannot quite be manipulated, hidden form variables are not needed anymore, and in general the automatic state management in SISCweb should be more difficult to fool than the ad-hoc solutions developers are forced to implement in traditional web applications. SISCweb uses SXML to generate the content of the response, but any other mechanism can be easily plugged on top of a basic set of the response functions. Additionally, features planned for future releases are: - A concise set of functionalities to build content (HTML, JPG, PNG, etc.) - SXML markup wizardries such as (img (@ (src ,get-image))) and more. - A robust continuation management engine: by v1.0 an application written in SISCweb should be as resilient to load as a traditional Java web application. [*] 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 relatively recent J2EE application server (Tomcat 5.0 for instance) and Java 1.4.2. More detailed information is contained in the INSTALL file. STATUS While currently about as featureful as PLT's web-server collection, this release is strictly oriented to people already familiar with Scheme and the continuation-based development approach. A concise reference to the main modules is provided in the doc/ folder, and a few basic examples can be found in the examples/ folder. This release features a very simple continuation manager that removes accumulated continuations based on an assigned time-to-live. More is in store. 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/sche...tml/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. CONTRIBUTING, BUG REPORTS Comments, ideas, and bug reports are welcome at: acolomba@users.sourceforge.net Thank you! ___ Alessandro
Post Follow-up to this messageAlessandro Colomba wrote: > I would like to announce that the first public release of SISCweb is > available at http://www.sf.net/projects/siscweb/. > > SISCweb is a framework to facilitate writing stateful Scheme web > applications in J2EE environments. > > In addition to the source code, a small collection of simple examples > is provided as a war file "siscweb-examples.war" which can be deployed > in any recent J2EE server (e.g. tomcat 5.x) running under Java 1.4. > > The above examples can be viewed for the time being at: http://minstrel.dtdns.net/siscweb-examples/ Scott
Post Follow-up to this messagePowered by vBulletin
Copyright 2000-2006 Jelsoft Enterprises Limited.