Component Specification
The component specifications deals with the interaction between a component and the container it is running within. This specification covers the component descriptors, lifecycle artifacts and delivery mechanisms, and component lifestyles.
Index
Topic | Summary |
---|---|
Descriptors | A component is a reusable computation unit that provides zero or more functional services. This implies that a component is more than a class or collection of classes. It is computational unit that can be deployed predictably in different application scenarios and environments. A component type descriptor (Type) is used to hold immutable information associated with the component implementation. Based on information accessible from an instance of Type a container has available the structural and runtime dependencies that a instance of a corresponding component class will require. This section presents the type model and the techniques supporting automated generation of type information. |
Artifacts | A component may be instantiated using either constructor injection or phased lifecycle processing. During the process of instantiation a container can supplies a range of artifacts such as logging channel, configuration, context object, service manager, etc. This section of the specification presents each of the standard artifacts and the associated semantics. |
Lifecycle | Lifecycle management encompasses the process of deployment during which artifacts are delivered and a component is fully established, runtime lifecycle management functions, through to end-of-life processing and the related decommissioning of the component. This section of the specification deals with abstract lifecycle concepts and the effects of lifecycle management on an overall system. |
Lifestyle | A component implementation is associated with a particular lifestyle. A lifestyle is policy that deals with the decision to create a new component as opposed to to supplying a reference to an existing component. Examples of lifestyle policies include "singleton", "per-thread", and "transient". This section of the specification describes each policy and the related semantics that a component author can assume concerning instantiation and references sharing. |