Avalon Framework - ContainersIntroductionThere are various containers that are aware of the Avalon Framework interfaces. This is a sort-of comprehensive list. Standalone ContainersThese typically run from the command line and are launched via a legacy main() method. Avalon PhoenixThis is a sister project to Avalon Framework. It provides an environment for launching multiple, isolated, more or less unrestricted server applications as hosted components. These can be applications like a web server, RDBMS or EJB server. It provides many advanced features like automatic management, at the cost of a bit of complexity. See Phoenix. Phoenix is the oldest of the Avalon Containers; it is probably the most powerful and most widely used. While still in alpha, this hints at the fact that we find it to be not completely future complete, rather than an infantile project. Avalon Excalibur's TweetyTweety is almost the opposite of Phoenix. It is a recent development and written exclusively as a teaching tool. It has no features whatsoever besides basic support for the Avalon lifecycle. This results in a complete distribution the size of the Phoenix bootstrapper. See Tweety MyrmidonMyrmidon is a proposal for the kernel of Apache Ant 2. See Myrmidon Embedded ContainersThese run inside another application (like a servlet engine) and are controlled by it. Excalibur Component ManagerThis is used by various applications like Cocoon. Cocoon is run inside the Sun specified servlet context of a web-app. It is designed for such servlet-context reuse. ECM is the most stable of the containers (it is the only one with a stable release); it is also arguably the worst design. See ECM. FortressFortress is meant as a future replacement of ECM. It fixes several of ECMs flaws like a mixup of concerns. It is built to be very extensible, and it includes support for custom lifecycle extensions. Fortress is still pre-alpha. See Fortress. MerlinAnother recent development is Merlin, which has a client API very similar to Phoenix (applications that can run within phoenix can run within merlin as well). Merlin is still pre-alpha. See Merlin. PlexusPlexus is a container under development that will become the basis of the services framework for a sister project to Avalon, Turbine. See Plexus. Note
Plexus is being developed outside of Avalon itself as an external project.
Enterprise Object Broker (EOB)The reference implementation of this EJB-replacement container runs on top of Phoenix. EOB supports a subset of the Avalon Framework interfaces but allows RPC publishing of arbitary interfaces apparent in a hosted components object model. See EOB. Note
EOB is an being developed outside of Avalon itself as an external project.
|