Copyright © 2003-2004 Sam Stainsby
|Revision version 0.1||22nd May, 2003|
|Revision version 0.2||20th March, 2004|
JChassis is a component system for developing and maintaining Java applications. It concentrates on being scalable in terms of the resources that it requires. JChassis is able to run in restricted environments such as J2ME Foundation Profile as well as running on standard Java 1.1 and Java 2 runtime environments. Small JChassis applications can have code sizes in the order of tens of kilobytes.
JChassis aims to bring a rich component architecture to applications that traditionally lack one. It goes beyond the standard JavaBeans approach by providing tools that handle component interdependencies and versioning. It also provides XML file formats for configuring the way that an application is structured, which components it uses, and how those components are configured. Those familiar with Enterprise JavaBeans (EJBs) might think of JChassis as "non-Enterprise Java Beans".
It should be noted also that most JChassis components can be used in non-JChassis applications and hence may be useful for your project in their right. However, you as the developer will have to take care of ensuring that component dependencies are satisfied. JChassis has tools that take care of this.
The JChassis framework provides a convenient platform for component integration that requires little or no change to existing components. It also aims to provide a set of useful components designed to alleviate the need for a number of simple, yet tedious, programming tasks.
Finally, JChassis is completely open source, and is licensed under the GNU Lesser General Public License (LGPL) version 2.1. This is to maximise the benefits to developers, and also to benefit from contributions from the open source community.
The JChassis project plans aims to:
promote the use of Java software components in "non-enterprise" applications;
encourage and facilitate the development of flexible software architectures;
provide a set of lightweight software components that are commonly needed in many applications, and;
allow existing applications and components to be easily integrated into the JChassis framework.
The key benefits of JChassis hinge on its use of reusable components and the JChassis component framework:
component-based development improves the structure of applications and increases code reuse between projects;
handling component interdependencies and versioning reduces the complexity of development tasks, accelerating development and preventing costly configuration errors;
component configuration can be stored outside of the code in an XML format, allowing applications to be reconfigured without the need for recompilation, and;
the simplicity of a JChassis component allows easy integration with existing applications and components.