Kilim Java Configuration Framework

Kilim is a generic configuration framework for Java, which can be used easily with existing applications, frameworks, and systems. It was originally built into Jonathan in order to allow fine configuration of its various frameworks (protocols, resource management policies, etc.) without requiring specific code, and has since grown independently of Jonathan.

Kilim's basic idea is to externalise an application or a platform's assembly structure into a configuration. This configuration is analogous to the application's assembly line as it specifies how its various components are initialised and linked between each other. The focus is on how the various components are obtained rather than on their effective execution time structure. Modifying the configuration permits to deeply alter an application's structure and therefore adapt it to specific requirements or execution conditions.

It can be introduced progressively to create flexibility points. It is also very much unintrusive : no particular interfaces need be implemented, the application's architecture needn't be modified; the only dependency is in the manner to obtain initial elements. Kilim can configure homogeneously an application and the various frameworks it uses (logging, ...).

Kilim is used in Jonathan. The current implementation has therefore been extensively tested and has proved capable of scaling to large applications.

Recent News

9th July 2003: Kilim 2 Tutorial is released

Here comes finally the complete tutorial (which can be downloaded independently from
the Kilim 2.0 source) presenting the framework's new features in a simple publish and subscribe banking example !

5th June 2003: Kilim 2.0.25 is released

Kilim 2.0 is a complete rewrite of Kilim 1.0, allowing more reuse in the configuration files (extension mechanism)
and more dynamicity (reconfiguration via JMX). It comes with a complete tutorial (which can be downloaded independently from
the Kilim 2.0 source) presenting the framework's new features in a simple publish and subscribe banking example.

Kilim 1.0 will still be maintained, and occasionally versioned, as existing Kilim projects won't probably make
the needed refactoring to take advantage of Kilim 2.0's new features.

30th September 2002: Kilim 1.1.3 is released

A new Kilim release has been made today. This is a maintenance release mainly needed for bug fixes. In particular, the following bugs have been fixed:

Assemblages that use a factory alternative that doesn't require parameter may not have a MY_CONFIGURATION in the KCF.

11th September 2002: new documentation available

A newer version of the Getting started guide is now online. It now introduces a number of new Kilim constructs available in KCFs since Kilim 1.1. It is a recommended read.

8th August 2002: Kilim 1.1.1 is released

Corresponding to the move to Sourceforge, a new Kilim has been tagged on CVS: Kilim 1.1.1, tag Kilim_1_1_1. It is in practice very little different from Kilim 1.1 (mainly, the XML2Kernel tool, used to create bootstrap kernels, is now called Kcf2Java). Enjoy.