 | 
ECM
·
·
·
·
·
·
·
·
·
·
·
·
·
·
|
CORBA Component Model Short Introduction
The CORBA Component Model (CCM) is an Object Management Group (OMG)
specification which defines a standard process for the design, implementation, packaging, assembling, and deployment
of software components and assemblies of software components. As the CCM is built on top of the CORBA
standard, CCM applications can be highly distributed, server-side scalable, and heterogeneous (operating
systems and languages).
The CCM process consists of five steps:
-
Design: using the OMG IDL3 / CIDL languages, designers define their components in terms of:
- provided and required operational interfaces, using so-called facets and receptacles
- consumed and published events, using so-called sinks and emitters/publishers
- segments, which are bundles of facets and sinks that allow to split components into independently activated
parts. From that perspective, a component is a bundle of related CORBA objects.
The design outputs a set of OMG IDL3 / CIDL files.
-
Implementation: the implementation of a component follows a set of rules defined in the
Component Implementation Framework (CIF). The CIF takes a designed component as input (OMG IDL3 /
CIDL file) and outputs a library of compiled code. As the CIF is under-specified at present, the ECM-RI
defines its own CIF. Please refer to session component tutorial
of the Quick Start for more information.
-
Packaging: the packaging produces self-described component archives. A component archive is a set of
component implementations. Each implementation describes its system dependencies (operating system,
language, libraries, etc), its service dependencies as defined by the container model (transactions, security, etc),
and the location of the compiled code library. The Component Software Descriptor (CSD) XML file
defines the various implementations contained in a component archive. The CORBA Component Descriptor (CCD)
XML file defines the component features (eq. OMG IDL3 / CIDL in XML) and the service dependencies of a particular
component implementation. The packaging takes a designed and compiled component as input (OMG IDL3 / CIDL file
and library) and outputs a ZIP archive.
-
Assembling: the assembling produces self-described application archives. An application archive is a set of
component archives and an initial deployment plan. This plan defines the application in terms of the
instantiated components and their interactions. The assembling takes packaged components as input and
outputs a ZIP archive.
-
Deployment: the deployment is the process of executing an initial deployment plan. The first step of the
deployment is the (automatic or manual) assignment of the components to the nodes of the target environment
based on the dependencies defined in the archives. Then the archives are installed to the nodes, the components
are instantiated and connected. The deployment takes an application archive as input and outputs a running
application.
A CCM implementation typically provides the following components:
-
Design: OMG IDL3 to IDL2 compiler (so-called client-side mapping)
-
Implementation: container implementation and its associated OMG IDL3 / CIDL compilers
-
Packaging: packaging tool and OMG IDL3 / CIDL to XML CSD / CCD compiler
-
Assembling: assembling tool
-
Deployment: local deployment infrastructure (provided as part of the container implementation),
and distributed deployment infrastructure associated with a deployment tool
Go to the next section: Using the ECM-RI to define, implement, package,
and deploy CCM components
|  |