Bumped into some jargon gibberish? The following glossary of terms should help clear up any fuzzy definitions.
See also: the WhatIs section
Appliance
An appliance a component plus its meta-data. Used in Merlin. |
Block
One or more services (appliances) which create a single usable application. Phoenix can co-host several blocks. Merlin defines a root block with an internal hierarchal structure (sub-blocks). |
Component
The atomic unit of Component Oriented Programming. It made up of an interface which defines the service it provides (the API) and one or more implementations of that interface. The implementations can also provide lifecycle methods (configuration, start, stop, etc.) |
Container
a special component which can host sub-components and is responsible for all the resources and lifecycle stages of its hosts services. |
*Extension \[meta-tag\]* |
An extension tag in the meta-API declares component which can provide an extension handler (i.e.- the {{SecurityManager}} of a security extension) |
Inversion of Control
The design pattern which states that a component NEVER controls its own lifecycle methods and that all dependencies are provided by a hosting object (a container or some caller object). Control of a component is completely given to the calling object. |
Kernel
generally refers to a container "bootstrapper" which provides external resources (jars, classloaders, etc.) to the container in order for it to startup. |
Lifecycle
Refers to the general stages that a component progresses through during execution. The Avalon framework defines a standard set of lifecycle stages and a defined order. Fortress and Merlin containers allow for custom lifecycle stages to be defined. |
Lifestyle
Refers to the initialization style or type. Examples include: factory, transient, pooled, threadsafe, etc. |
Meta-Data
Configuration information defining a component instance or implementation |
Meta-Info
Configuration information telling a container how to deploy a component |
Repository
an ordered collection of resources. Usually refers to a collection of JAR files either on the local filesystem or on a remote server. |
Runtime Repository
the set of resources (class files, jars, meta-data, etc.) available to components during runtime. |
Seperation of Concerns
Design pattern which states that a component should focus on only one task. |
Service
another name for a component. Service is sometimes used to refer to the interface (or role) of a component rather than the implementation. |
Service Manager
a lookup manager for services. Allows services/components to access (lookup) other services on which they are dependent. |
*Stage \[meta-tag\]* |
A stage tag in the meta API declares that the component implements an extended lifecycle stage (i.e.- the component implements "Securable") |
System Repository
A set of resources (classes, jars, meta-data, etc.) available only to the kernel or the container. Includes a privileged classloader. |