Avalon Beginners Guide

Welcome to the Apache Avalon "Beginner's Guide."

The purpose of this guide is to ease Avalon's notorious learning curve. To some, the programming framework possesses the same mysterious atmosphere as its Arthurian namesake. This is truly unfortunate since Avalon, at its core, is profoundly simple. The sort of simple that when you "get it" you wonder what all the fuss was about.

One way to describe Avalon is as a set of design patterns – programming methods and object oriented techniques – and concrete implementations of those patterns. In this guide we will focus on the implementation and application side of the framework. In other words, real programming examples and real application solutions. Concepts like "component oriented programming" and "inversion of control" need not be esoteric and seeing actual usage of these ideas will help you see how Avalon can apply to and improve your own projects. If your exploration of Avalon is anything like my own, then you'll soon begin to wonder why you ever programmed any other way.


We're preparing a new beginners guide to Avalon that will be located here in the wiki. It will involve articles describing Avalon and a number of tutorials and HOWTO's. The format is still being worked out, so feel free to edit this page and add something to the outline. You might also want to add a request to JIRA.


  1. Overview of Avalon
    1. Avalon: Products and Projects
    2. Tutorial Requirements
  2. Component Writing (use Fortress or Merlin?)
    1. Component Lifecycles
    2. Looking Up Services
    3. Meta-Stuff
    4. Lifestyles
    5. Using the Configuration and Context
  3. Simple Web Server Tutorial (parts I and II)
    1. See what Timothy has in store
  4. Avalon in various environments
    1. Standalone
    2. Servlets
    3. Avalon and J2EE
  5. Playing Nice with Avalon
    1. Converting between Fortress/Phoenix to Merlin
    2. Avalon and Pico/Spring
  6. Advanced Topics
    1. Merlin Facilities
    2. Writing your own container
    3. Some other stuff

_ Notes:

  • need to coordinate with other examples, tutorials, etc.
  • The Merlin Tutorials
  • Timothy's Web Server Tutorial
  • Aaron's Mutual Tutorial
  • The Developing With Avalon paper
  • Is the wiki the right place for this? Thoughts?_

Related Documentation

In lieu of our yet-to-be-finished beginner's guide, you make want to check out the following documentation. Some of it may be dated.

  • No labels