What is Avalon?
Avalon is a component framework for Java (and effort is underway for other languages too).
Ok, so what is a component framework?
Component Oriented Programming (COP) combines nifty design patterns such as Inversion of Control and Seperation of Concerns to traditional Object Oriented Programming. Design patterns are essentially 'best practices' for solving common programming problems. COP applies these practices to components -- reusable, replacable, composable objects which when assembled together (usually inside of a container) make for a well designed, secure, and easily maintained application.
That sounds cool, but kinda abstract and generic...
In a way, yes. Avalon is somewhat abstract and generic, just like object oriented programming is abstract and generic. Avalon is a COP framework for Java. All the basic algorithms and utilities for using those design patterns are in place. There are even a couple of containers and prebuilt components available. You can then use Avalon to build just about anything, from a web application to a new web framework, from a desktop standalone app to a new application server. Most of the 'extras' of Avalon are designed to build server-like applications, but the framework itself can be used anywhere.
To learn more, visit the documentation section of the Avalon web site: http://avalon.apache.org/doc/index.html You also should read our 'Developing With Avalon' whitepaper at: http://avalon.apache.org/developing/index.html
[Return to AvalonFAQ ]