Assembly - Functional DescriptionThe assembly system is all about the management of the deployment of services provided by a component. The package provides support for the declaration of meta-info describing component dependencies, and deployment templates. Components in the framework may have dependencies on services provided by other components, which in turn may have dependencies of their own. In addition, components can declare (as part of their meta-info) particular lifecycle stages (such as initiation or configuration) and the type of stage provider it needs to handle that stage. So in effect, components can be deployed with classic runtime dependencies together with deployment dependencies (because deployment stage providers are themselves components). Assembly services include ordered deployment and decommissioning, a range of "lifestyle" handlers (things like thread-safe, per-thread, singleton, transient, or custom policies). The package includes facilities for: classloader management and cascading repositories for types, templates, service definitions and appliance instances (appliance is simply an instantiation of a particular component deployment scenario). |