This page is several years old and does not usefully describe the current version of Kettle. Consult its own README in its repository for up to date information at https://github.com/fluid-project/kettle
What is Kettle?
There are several primary development metaphor metaphors in Kettle are Spouts, which represent high-level handlers for incoming Web requests and outgoing responses. By default, Kettle provides two types of Spouts that can be defined declaratively; markup spouts, which provide rendered HTML content, and data spouts, which handle JSON-based feeds. Programmers who need a lower level of abstraction can drop down to a CherryPy-inspired API where individual handlers can be bound to specific URL paths in the applicationsuch 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?
an emerging project of the Fluid community and represents a major priority for us alongside Infusion. Though it is still in early development, Kettle provides critical infrastructure for the Global Public Inclusive Infrastructure's realtime personalization framework. To this end, Kettle is actively being supported and developed by a group of contributors from across the Cloud4all, GPII, and Fluid projects.
Initial documentation for Kettle is available in the GPII wiki, and further documentation, tutorials, and sample code are planned.
As part of the GPII and FLOE ProjectProjects, 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.
Kettle currently depends on the following frameworks and libraries: