The core framework is strictly the only mandatory sub-system in a JChassis application. It includes the most minimal container for JChassis services and is used to bootstrap the JChassis system. The facilities provided by the core framework are typically used by other parts of JChassis as a source of default services after the application has started. The core framework library size is a tiny 20 KB.
Unless you a really trying to shoe-horn your application into a tiny space, you should consider using the basic framework. However, studying the core framework may help you understand the key design patterns used throughout JChassis, and used for creating applications based on JChassis.
The core framework includes the classes for the minimal service container, the core "service context". It also contains a simple loader to load configuration from a properties file and also to initiate other loaders. Finally there is a package of useful classes that can be used as the basis for a JChassis application.
The basic framework relies on the core framework for bootstrapping a JChassis application and also as a source of default services. The basic framework used an XML configuration format and allows you to specify how services should be instantiated and configured. The format also allow you to attach metadata to services, such as unique names. This allows you to search for services by metadata. For example, you might search for a service that both implements the Log interface and is called "error-log", to distinguish it from the "debug-log".
JChassis Dependency API is an API for representing resources and the dependencies between them. Resources are abstract, so what they represent is entirely up to the user of the API. In the simplest case, they contain a name and a version. For example, resources might represent versioned software components.
JChassis Rule-Based Command Line Parser is an API for parsing and processing command line arguments. The manner in which the command line is parsed is specified by a sequence of simple, human-readable rules.
$Id: subprojects.html,v 1.6 2004/12/20 09:42:20 stainsby Exp $