Apache Retires Excalibur
The Apache Software Foundation (ASF) has officially retired the Excalibur Project, a platform for component and container applications built on the Java platform around the design patterns Inversion of Control (IoC) and Separation of Concerns (SoC).
Senior Java EE developer Carsten Ziegeler, a long-time member of the Apache Software Foundation, and a member of the Excalibur community, discussed the decision last week via the ASF user mailing list. The project was retired due to inactivity, he said.
"Retiring a project is not as simple as turning everything off," Ziegeler wrote, "as existing users need to both know that the project is retiring and retain access to the necessary information for their own development efforts."
At the core of the Excalibur project was the Avalon Framework, which provided Java software for component and container programming. Excalibur was actually a subproject of Apache Avalon, one of several to split off from that project. Avalon, which pioneered IoC and SoC, was closed in 2004.
Inversion of Control is a software architecture principle in which flow control of a system is inverted. It's sometimes called the Hollywood Principle (Don’t call us, we'll call you.), a term SpringSource founder Rod Johnson is often credited with coining. And it's commonly seen as a defining characteristic of a framework. Separation of Concern refers to a software engineering principle that describes the process of separating a computer program into separate features that overlap in functionality as little as possible.
Excalibur was used to build a range of applications, from desktop-centric Swing apps to complicated servers. It also included IoC container called Fortress, a set of container utilities called ContainerKit, and a component library called Cornerstone.
Ziegeler said there were no known natural successors or potential forks for Excalibur, but he pointed to two alternatives: Apache Felix and Apache Aries. The Felix community is trying to implement the OSGi R4 Service Platform and other OSGi-related technologies under the Apache license. The Aries project aims to deliver a set of pluggable Java components enabling an enterprise OSGi application programming model, including implementations and extensions of app-focused specs defined by the OSGi Alliance Enterprise Expert Group (EEG) and an assembly format for multi-bundle applications, for deployment to OSGi-based runtimes.