Features and Benefits

Composite Component Management

Merlin provides support for the packaging and deployment of composite components with a structure called a Block. A block represents the association of resources to a containment hierarchy within which components are managed. In addition, a block enables the separation of a component assembly as implementation from the subset of services published by the block.

Automated Assembly

Underlying the Merlin system is a assembly engine that provides support for the deployment of components. The assembly engine takes care of dependency resolution, component instantiation, lifecycle processing, and component decommissioning.

Lifestyle Management

Merlin provides support for different component instantiation policies. These policies are referred to as lifestyles. Examples of supported lifestyle include 'singleton', 'per-thread', 'pooled' and 'transient'.

Lifecycle Management

Following instantiation, a component is processed through a lifecycle. Lifecycle processing involves the execution of a series of stages such associating a logging channel, applying a configuration or component parameters, setting the runtime context, supplying dependent services, initialization, startup, shutdown and disposal. Within the Merlin system, lifecycle stages can be extended or modified through association of other components that provide lifecycle support. Merlin distinguishes these services as deployment dependencies as distinct from classic runtime dependencies.