Excalibur - Front Page
2010/12/15 - Apache Excalibur has been retired.
For more information, please explore the
Attic
Last Published: 2009-07-31
Fortress
Components
Containerkit
Essentials
Overview
Mailing Lists
Subversion
Wiki
FAQ
Javadocs
Issue Tracking
Miscellaneous
Fortress
Overview
Features Oriented
Getting Started
Using Meta Info
CLI
Swing
Servlet
Lifecycle Extensions
Design Notes
Framework
Documentation
Developing
Components
Overview
Sourceresolver
Store
Thread
XMLUtil
Containerkit
Overview
Instrument
Lifecycle
Logger
Deprecated Materials
Overview
Old Documentation
ECM
Event
Configuration
Thanks
to our sponsors!
Sponsor the ASF
What is excalibur?
Excalibur is an
open source
software
project of
The Apache Software Foundation
Our primary product is a lightweight, embeddable
Inversion of Control
container
named
Fortress
that is written
in
java
Inversion of control, also known as the hollywood principle ("don't call us,
we'll call you"), is a simple but powerful concept. The idea is that we
don't "wire up" all the pieces that make up an application (the "components") by
writing lots of this-component-uses-that-one-like-so code, nor do we use some
kind of lookup directory (like
JNDI
, for example) where each component
decides what components to interact with itself. Instead, we instruct a smart piece
of software, the container, to
tell
the components how to interact.
Fortress (and also its predecessor, "ECM") is such a container. It is
lightweight
, by which we mean that it doesn't need a lot of resources,
take a lot of disk or memory, or impose all sorts of demands on its environment. Fortress
is also
embeddable
, by which we mean that you can use fortress inside just
about every java environment. More concretely, you can use it as the basis of a
large standalone development platform (like the
Keel
project), at the core of a
servlet-based web application (like
Cocoon
) or even as the basis of a GUI
application (like
GuiApp
).
Fortress knows how to manage components that have been developed using a
rigid
lifecycle
contract called
Avalon-Framework
In the next upcoming release, fortress will also be able to manage ordinary
javabeans, and support for other kinds of Inversion of Control are planned.
Besides providing fortress, excalibur also provides a small library of very
useful
components
We also distribute some of the libraries used to build fortress (and some
other containers) seperately. This selection of libraries is called
containerkit
So why is excalibur an interesting project?
Here's a few partial answers.
good code
. Code that comes from the mature avalon project
(everything that used to be branded as "Avalon Excalibur" and "Avalon Fortress").
This includes two lightweight Inversion of Control containers. One of these powers,
among other things,
Cocoon
. The other ("fortress") is the basis
of projects like
Keel
. Excalibur also includes powerful
and mature reusable "components" and "libraries", handling tasks ranging from thread
management to component pooling to (URI-and-similar-) source resolving.
smart developers
. See
this list
Most of these people are or have been active in the avalon project in various roles.
Several of them are apache members. Together they have loads and loads experience
under their belts related to inversion of control development. In fact, I'm
confident to say this list includes some of the biggest experts on
inversion-of-control-style container development.
exciting community
. Several open source and commercial projects
(both at apache and elsewhere) depend on and contribute to the excalibur project. A
strong team of enthousiastic developers (with strong ties to several other projects
in the same problem domain) has various big and small plans with excalibur. One of
the leading open source organisations in the world,
The Apache Software Foundation
, is hosting the
project, providing insight, advice, infrastructure, legal backing, a time- and
battle-proven development process, and much more.
1997-2009

The Apache Software Foundation