What is Kettle?
There are several primary development metaphors in Kettle such as Servers and Apps. Servers represents a single instance of the Node.js HTTP server. A Server is a container for 0 or more Apps (see further). Developers have an option of deploying a number of Servers that themselves contain 0 or more Apps. The source code for the Server can be found here: Server. The App is a component that represents a single purpose application deployed within a particular Server. The source code for the App can be found here: App.
What's the Status of Kettle?
Kettle is currently a proof-of-concept framework which has seen some limited real-world testing under load through the Fluid Engage mobile pilot at the McCord Museum in Montreal. It has not yet been released as a standalone product, and is still very much under active development. It has not yet been documented (at all!), and APIs will change.
As part of the FLOE Project, Kettle will be used to develop RESTful server-side data feeds and markup transformers for storing and sharing content accessibility information, user preferences, and captions.
As part of this work, Kettle will be:
- Modularized, so it's easy to drop a Web app into the Kettle container and run it
- Extended to support better URL routing and rewriting
$.ajax()) with implementations that are not browser-encumbered. Initially, Kettle will be integrated with Node.js using the JSGI 0.3 spec, but in the future will be expanded to natively support Node's evented model.
More information about our initial technology motivations for Kettle are documented in the Engage Server-Side Technology page.