1.3.8 Instantiation Concepts

A COMA server optionally provides run-time control of instance containers--conceptual containers in which components are instantiated--by forwarding client requests (via an implementation-specific mechanism) to its target ORB. This section describes instantiation concepts.

An ORB typically provides local and/or remote mechanisms by which components can be instantiated. An example of a remote instantiation mechanism is DCOM activation, ([MS-DCOM] section 1.3.1). An instantiation of a component is known as a component instance.

For historical reasons, COMA enables control over instantiation of components only in cases where the instantiation is associated with a component configuration entry in a conglomeration. Although the details of instantiation might vary, the following conceptual steps are part of any instantiation that can be controlled in COMA:

  • By some implementation-specific mechanism, the ORB associates the instantiation with a component configuration entry in a conglomeration.

  • The ORB finds an existing instance container for the conglomeration, or creates a new instance container, and associates it with the conglomeration. An instance container is a conceptual container in which components that are configured in a single conglomeration can be instantiated.

  • The ORB creates the component instance in the selected instance container.

An instance container is identified by a GUID, known as the container identifier.

The following UML diagram summarizes the relationships between components, component configuration entries, conglomerations, component instances, and instance containers.

Relationships between static and run-time objects

Figure 4: Relationships between static and run-time objects

Recycling refers to permanently disabling the creation of new component instances in an instance container. An instance container that is recycled is shut down as soon as the existing component instances in the container are destroyed. Recycling enables a problematic instance container to gradually drain its component instances rather than being immediately and forcibly shut down. An ORB optionally recycles instance containers automatically based on run-time information, such as the number of component instances that have been created in its context or the system resources it has consumed. COMA enables automatic recycling to be configured for a conglomeration and also enables clients to recycle instance containers.

Pausing refers to temporarily disabling the creation of new component instances in an instance container. COMA enables clients to pause instance containers.