|
Jakarta main
About
Overview
Features
History
License
Mail Archive
Contributors
Coding Standards
Sub-Projects
Framework
Excalibur
Phoenix
Cornerstone
Testlet
LogKit
|
What is it? |
The Avalon project is an effort to create, design, develop and maintain
a common framework and set of components for (server) applications written
using the Java language. This framework is not a standalone product,
but allows existing and yet to be created server applications to fit
into a common platform and to share code, design and human resources.
|
Project Goals |
As many people point out, software engineering is a very uncommon procedure
in software development and even more uncommon in auto-organized open
source projects. The main goal of this project is to design a way for
different projects to share resources avoiding as much as possible efforts
duplication.
The framework is not a product or an API set or a set of interfaces: it is
a collection of code design patterns, rules, guidelines and suggestions on how to
write (server) software that "plugs" into the framework. The framework does not
impose restrictions on the application that uses it, but rather precious guidelines to
help the developers reuse as much work they can from other solutions.
|
Sub-Projects |
There are several distinct sub-projects that together form the Avalon project:
- First up is the Server Framework.
This provides a specification of design patterns and rules in the form of
interfaces. Also provided are default implementations of those interfaces.
- Secondly, there is Excalibur, a
collection of often-needed reusable components. It includes tools for threading,
pooling, datasources, proxies and more.
- Then there is Phoenix, a
(server-oriented) Kernel within which applications that conform to the framework
rules can be executed. It supports standard java security, custom classloaders,
and more. It also provides a JMX-based management facility.
- Cornerstone is a repository
for what we call blocks,
which provide services vital to server applications, like scheduling and socket
utilities. It also has some demo applications that demonstrate the proper use
of the avalon framework and can be used as a starting point for your own servers.
- the Testlet code still needs a
lot of work; it is a unit testing framework used by the other sub-projects.
- finally, LogKit is the lightweight
logging engine used by Phoenix.
|
| by
Federico Barbieri, Berin Loritsch, Leo Simons |
|