Archive for May 22nd, 2006

Icing: Lightweight web development in Scheme

As part of a recent development project, we’ve assembled pieces from SISCweb, SSAX and SXPath, and some of our own code to build a simple web-development framework we’ve tentatively named Icing.

Icing, so far, consists of:

  • a simple bean-like layer atop raw SQL, with an S-expression based SQL syntax and objects representing table rows;

  • a small library (not quite the same as SISCweb’s approach) to allow pattern-matching on the URLs of incoming requests, and to allow attaching handlers to matched URLs;

  • libraries for using JavaMail to construct and send arbitrary MIME multipart message parts and for using BouncyCastle’s PGP implementation with JavaMail to build PGP MIME email bodies and attachments; and

  • a XSLT-template-based Model-View-Controller-plus-Workflow framework for structuring applications. HTML templates (with special attributes and with optional embedded XSLT instructions) form the View; Scheme code forms the Controller; the DB layer referred to above forms the core of the Model; and SISCweb’s support for continuation-based web programming forms the Workflow.

The software is still being hammered into shape; we’re currently in the process of documenting it, packaging it conveniently for use in other applications, and deciding how we want to release it — it could be released as a thing-in-itself, bundling together a collection of third-party libraries, or we could instead take Icing to pieces, and fold some of the parts back into SISCweb (if SISCweb’s author, Alessandro Colomba, approves, of course).

I’ve made the slides from the presentation on Icing I gave last week available. They’re the only real documentation the code has at present, but ought to give a feel for the kind of approach we’re taking with it.

3 comments May 22nd, 2006 tonyg

Calendar

May 2006
M T W T F S S
« Apr   Jun »
1234567
891011121314
15161718192021
22232425262728
293031  

Posts by Month

Posts by Category