| |
|
|
|
Terms and Definitions
A component is a software object, meant to interact with
other components, encapsulating certain functionality or a set of
functionalities. A component has a clearly defined interface and
conforms to a prescribed behavior common to all components within
an architecture. Multiple components may be composed to build other
components.
The component interface is a set of methods supported by
a component, and type definitions for the data used for arguments
to those methods. An interface itself is a type and can be an
argument for a component method.
A component architecture is a system defining the rules
of linking components together. The CCA model of a component
architecture is composed of the following elements:
- An Interface Definition Language understandable to all
components. Interface definitions expressed in this language allow
components to find out about each other either through
introspection or through consulting a repository, and give a
component architecture the potential to dynamically add and delete
components in multi-component applications (whether this potential
is actually realized or not depends on a specific implementation of
the architecture).
- An Introspective Capability or a Repository. These two
approaches have been found to be complementary; the purpose of
either is to create a global namespace and type definitions
accessible to all components. The repository or information
returned by introspective capability can contain both interface
definitions and implementation and performance information about
components.
- A Reusable Combining Infrastructure provides the
implementation necessary to link components. It contains mechanisms
enabling the components to reference each other, understands the
interface definition syntax and is capable of transferring data
types and component references between components.
- A Binding between the interface definition syntax
and a language or framework of actual component
implementation.
- A Composition API allows the programmer to link
components into multi-component applications and save those
compositions. Such a mechanism could be provided for example by a
GUI or a scripting language, and need not be standardized in a
CCA.
A framework is a specific implementation of a component
architecture
A Common Component Architecture is a component
architecture defining standards necessary for the interoperation of
components developed in the context of different frameworks. To
date the need for three such standards has been identified: the
Interface Definition Language, an interaction model and a set of
services based on this model which can be expected by every
component, and should be provided by every framework, and a
standardized way of retrieving information from the repository.
|
|