Session

KLone: An SDK for Embedded Web Applications
Steven Dorigotti, Software Engineer, KoanLogic

Track: Mobile
Date: Wednesday, 20 September 2006
Time: 10:00 - 10:40
Location: Salon Versailles

KLone is a multiplatform GPL-licensed SDK for building embedded web applications especially targeted for environments that are constrained in terms of memory, storage, CPU, and power consumption. KLone provides:

  • the HTTP/S server itself
  • an embedded file system which can be natively compressed and encrypted
  • a framework for building dynamic pages in C/C++ with usual scripting style (i.e., <% /* C/C++ code */ %>)
  • a helper library for easily handling form variables, sessions, and cookies
  • other embedded features such as in-memory logging, cryptographically protected client side sessions, etc.

All these features fit in a 140 KB ROM executable with a RAM footprint of approximately 70 KB.

The latter is made possible by the absence of a middleware for active pages execution: both static and dynamic content are in fact transformed into C/C++ files, before being compiled and linked to the skeleton HTTP/S server to form a single, very small, executable file.

This talk will illustrate, from the inside, all the techniques we have developed and used to accomplish the task:

  • transformation of active/dynamic pages in C source code
  • blending web pages and the HTTP engine together
  • registering resources inside the embedded file system
  • run-time request/response dispatching


Download presentation file