DPML
DPML Metro Runtime
HomeUtilitiesStationMetroDepotTransit
Metro Runtime

The Metro Runtime is an application that implements a multi-layered system model. The following illustration depicts the principal sub-system APIs (higher level blocks are dependent on immediate low-lever blocks).

Metro API

A component part is a network accessible datatype that associates a controller with a deployment profile. The deloyment profile references a component type. The component type may be implementated using a collection of local or remote component parts. The Metro API defines concrete datatypes for component type definitions, deployment scenarios, and an extended management model.

  • type: located under a <classname>.type - a serializable datatype containing information about a component class including characteristics such as the services provided by the component, the context assumptions asserted by the implementation, logging assumptions and defaults, etc. A type may also contain an implemention description in the form of a collection of internal parts. This information is cached under the .type resource (in XML) for use by deployment tools and the runtime system.
  • directive: an XML component definition referencable via the artifact uri using the part type identifier. The part directive contains the default deployment profile including the definition of the component inital context, dependency solutions, and any related configuration information. The directives serves as the initial data used to establish a component model. The component definition may contain nested component definitions as parts of its internal structure.
Component API

The Component API deals with component composition and is central to the platforms ability to support concurrent deployment of different container implementations. The Metro system is the reference implementation of the Component API.

Using a network accessible part datastructrues, the Metro runtime provides support for the creation of a Component via a Controller. The Component handles requests for locating service providers and the establishment of the underlying component.

  • controller: general utility to construct directives from network accessible resources and handles creation of locally or remotely managed components.
  • component: encapsulates a deployment configuration applied to a component type. Uses an associated lifestyle policy to control establishment of managed providers.
  • provider: handles service provider establishment, runtime state management, and provider decommissioning.
Part API

The Part API deals with a generic deployment package. XML part descriptions include a complete classloader chain definition and the declaration of a deployment strategy.