A common question amongst new Avalon users is "Which container should I use?" or "What's the difference between Fortress, Phoenix, and Merlin?" This section of the wiki has been set aside to help answer these questions. For a more verbose history of where the containers came from, see the ContainerStory.
please see the AvalonContainerFAQ for more information
Container Meta-Info Matrix (standard are critical)
Container |
Meta-Info Strategy |
Phoenix |
Container specific <blockinfo> descriptors. Contains information about service publication and service dependencies. |
Merlin |
Uses the standard Avalon Meta package. Avalon Meta descriptors expose information about service publication, runtime dependencies, context dependencies, deployment dependencies, deployment extension support, and a framework for general attribute association. |
ECM |
Uses marker interfaces to derive meta-info. |
Fortress |
Uses a combination of marker interfaces and a service to component mapping table. |
Container Meta-Data Matrix (solutions reflect container features)
Container |
Meta-Data Strategy |
Phoenix |
Maintains a list of components under a config file which are assembled based on a static mapping declared under an assembly file. System configuration is archived through a facilities file. |
Merlin |
Meta data for the kernel definition is contained under a kernel configuration (kernel.xml) which defines internal facilities defined under a system block. Component meta-data used for internal facilities and application components are described in a block directive. A block directives may contain component and container declarations, and include other from local or remote locations. Block directives may be configured to simulate components. |
ECM |
Uses roles files to map names to configurations. |
Fortress |
Uses roles files to map names to configurations and provides support for container level configuration. |