|
|
The CORBA & CORBA Component Model (CCM) Page
New slides as of Nov 13, 2000 here. (or PDF+ZIP) (or on-line version)
Introduction
This page's goal is to led the reader through a comprehensive
introduction to the CORBA
Component Model (CCM) that will be part of the new CORBA 3.0
specification. Thus, it should guide you through the different
documents and specifications that the Object Management Group (OMG) has
developed to rule the introduction of Components into the CORBA
standard.
Understanding the OMG web
site and downloading the OMG CCM specifications
The OMG's web site, www.omg.org is
not the easiest web site to browse in: one has to have some
knowledge of the technology adoption process of the OMG (however, take
a look at the july
issue of the "OMG in Motion" magazine (PDF), section
"Getting Specifications and Products" by Jon Siegel).
The OMG as a whole is divided into three main parts:
-
the Architecture Board, in charge of defining
and maintaining the Object and Reference Model, what's called
the Object Management Architecture (OMA), the highest level
view of CORBA,
-
the Platform Technology Committee (PTC), in charge of enhancing
the ORB and CORBA, the CORBA Services, and other things such as the
Unified Modeling Language (UML).
-
the Domain Technology Committee (DTC), which defines how CORBA
relates to other industry fields, defining domain interfaces
and frameworks that address the needs of the Telecommunications world
or the Medical world, for example.
Each of these are divided into a number of Task Forces
(TF) or Special Interest Groups (SIG) or Working
Groups (WG), all of them meaning almost the same: a group of
experts sharing interest for a sub-field of the specific Technology
Committee. You can see them at the OMG's Technology Committees home
page (http://www.omg.org/homepages/index.htm).
First of all, when the OMG detects that CORBA is lacking some
feature or that it would be nice to have CORBA integrated with some
other technology, the OMG issues a Request For Proposals
(RFP) (You can see an explanation of the whole process in http://cgi.omg.org/techprocess/faq_process.html).
Of course, the Component Model for CORBA has its own RFP. It was
issued by the ORB and
Object Services Task Force
(orbos), a subgroup of the Platform Technology Committee
(PTC).
You can find it at http://www.omg.org/techprocess/meetings/schedule/CORBA_Component_Model_RFP.html.
In this page you can find the process that the RFP for the CORBA
Component Model has followed: The initial RFP was the document called
orbos/97-06-12
that you can download directly from the OMG, as all other OMG
documents, just prepending to the document name the string
"http://cgi.omg.org/cgi-bin/doc?". It was
followed by a number of submissions made by interested
enterprises. These submissions had to address the issues stated in the
RFP.
After all submissions and revisions, it seems that the final
submission is in three volumes:
- volume I is in document orbos/99-07-01,
and includes:
- the Component Model,
- the Component Implementation Framework (CIF),
- the Container Programming Model,
- the Packaging and Deployment (P&D) Model,
- the integration with Enterprise Java Beans
- volume II is in document orbos/99-07-02,
and includes the MOF Metamodels (in this document the reader can find
also a little tutorial on what the MOF is).
- volume III is in document orbos/99-07-03.
It describes the necessary Interface Repository (IR) changes
to include Component metadata (for example, adding the new interface
ComponentDef, needed to describe the characteristics of a
given component).
- (the complete IDL for the CCM can be found at http://cgi.omg.org/cgi-bin/doc?orbos/99-07-04.txt)
It is not clear that those I've given to you are the last ones, as
they don't appear in the RFP
page. In spite of this, don't expect great changes from now on.
The process continues, and once the enterprises' responses have
been submitted, it's time for the OMG to work preparing those
submissions to be part of the new CORBA3 specification. This work can
be seen in the FTF (Formalization Task Force?) drafts. Making
CORBA to support components means changing (smooth changes, but
changes anyway) a number of things in the CORBA standard, including
the language mappings, specification of services, etc. The
documents I next point to are the work-in-progress of the OMG towards
the final formalization and adoption.
- CCM FTF drafts of modified CORBA Core chapters (OMG document ptc/99-10-03),
that is, changes to IDL types, IDL definitions,
changes to IR (Interface Repository), the new Messaging
(orbos/98-05-05) specification, etc., 461 pages,
- CCM FTF drafts of new Chapters (OMG document ptc/99-10-04),
which contains almost the same topics that the volume I of the
Components Joint Revised Submission above, 354 pages,
- CCM FTF drafts of MOF chapter (OMG document ptc/99-10-05),
the new chapter on the MOF, this is a ZIP file containing two
documents:
- tealinterfacerepositorymetamodelforcore.pdf, the
MOF metamodel for the IR, 86 pages, and
- tealpackagingdeploymentmetamodelforcore.pdf, the MOF
metamodel for the packaging and deployment (P&D) model, 171 pages.
- CCM FTF drafts of Lifecycle Service (OMG document ptc/99-10-06),
the changes needed in the Lifecycle service, 62 pages.
- CCM FTF drafts of Transaction Service (OMG document ptc/99-10-07),
the changes needed in the Transaction service (also the changes
introduced by the Persistent State
Service (PSS) 2.0 spec., orbos/99-07-07), 96 pages.
- CCM FTF drafts of Security Service (OMG document ptc/99-10-08),
the changes needed in the Security Service, 402 pages.
- CCM FTF draft of changes to C++ Mapping Chapter (OMG
document ptc/99-10-09),
changes to the C++ mapping (actually from the CORBA 2.3 specification;
note that this specification will include the changes made in CORBA
2.3.1 and 2.4), 168 pages.
- CCM FTF draft of Java Language Mapping Chapter (OMG
document ptc/99-10-10),
again aligned with CORBA 2.3, 134 pages.
The process of formalization must end with the acceptance by the
OMG's BOD (Board of Directors) which are the ones that
finally must release the different versions of CORBA and other
OMG's hosted standards.
However, there are still open issues. You can see them in the OMG's Components
FTF issues page. (It is a good place to see who's working with
CCM, as the issues include the name (and e-mail) of the person finding
the it.
Wait a minute... I am adding the pages of all
specifications... 1934 pages! Where can I find a comprehensive
tutorial?
A brief tutorial on CORBA
and CCM
This set of slides show an introduction to CORBA and its Component
Model (CCM, CORBA Component Model).
The slides can be obtained as a
GZIP-compressed
postscript file,
PDF+ZIP,
or on-line at http://www.ditec.um.es/~dsevilla/ccm/.
If you notice any problem downloading these files, or have
suggestions, comments, enhancements, criticism, don't hesitate to send
them to me at dsevilla@ditec.um.es.
You can see the on-line slides
here.
CCM resources here and there
General CORBA 3 information
CCM tutorials and slides
- Edward
Cobb's CCM Tutorial (OMG document omg/00-06-01),
a rather complete and interesting tutorial on
CCM.
- Another
good tutorial on CCM, from the same author above, helped by Dave
Frankel, Dave Curtis and Patrick Thompson (OMG document
orbos/99-03-22). From the OMG Meeting on Philadelpia, March 23, 1999.
- A more
in-depth view of the CCM, by the same authors above (OMG document
orbos/99-03-21), from the same OMG Meeting.
- CORBA: From
Objects to Components, the slides for a fantastic tutorial at the
14th European Conference on Object Oriented Programming (ECOOP'2000),
by Raphaël Marvie and Philippe Merle
- Japanese
slides about CCM by Hiroshi Wada
(from OMG Japan). Only in Japanese. Thanks Hiroshi for pointing this
out!.
- Don't forget my own tutorial ;-)
Articles regarding CCM
- An
Overview of the CORBA Component Model, by Nanbor Wang, Douglas
C. Schmidt, and Carlos O'Ryan, a chapter of the book
"Component-Based Software Engineering: Putting the Pieces
Together", published by Addison-Wesley.
- Applying
Reflective Techniques to Optimize a QoS-enabled CORBA Component Model
Implementation, by Nanbor Wang, Douglas C. Schmidt, Michael
Kircher, and Kirthika Parameswaran at the 24th Annual International
Computer Software and Applications Conference (COMPSAC 2000), Taipei,
Taiwan
- Towards
a Dynamic CORBA Component Platform, 2nd International Symposium on
Distributed Object Applications (DOA 2000), by Raphaël Marvie,
Philippe Merle and Jean-Marc Geib (not available on-line)
Books that cover CORBA 3 and CCM
- Jon Siegel's CORBA 3 Fundamentals and Programming,
second edition, ISBN: 0-471-29518-3. Published by John Wiley &
Sons. Impressive book on the forthcoming CORBA 3 specification,
covering Messaging, many CORBA mappings, a CCM example of use, etc.
Current and expected CCM implementations
There exists some controversy on what a CCM implementation
is. CORBA components exists in two favors: basic and extended. Basic
components are rather similar to EJBs, so any enterprise offering an
EJB implementation can claim that it "implements" the CORBA
CCM standard. Be careful with this!, as I don't think EJB being the
publicly general idea of what a CCM implementation is (although this
is my personal opinion).
I'll list the ones I've heard of and those
found in the OMG's
CORBA/IIOP adoption page (please, help me to update this!!):
- Just new, it seems that Frank Pilhofer (one of the MICO project main developers) announced
in this message that they're going to start a CCM
implementation supported by Alcatel. They're looking for people
to help. Frank told me that their current time frame is to ship their
first version (basic components and the empty container) by July 2001.
- JavaORB's
CCM implementation, not released yet. See this page to
know how to contribute to their project.
- Exolab.org's OpenORB
promises a new ORB designed from the beginning to be CORBA 3
compatible, and its headed by the same person that leads JavaORB:
Jerome Daniel. It is not very clear when they're going to release it,
as you can see in a comp.object.corba
message in which the main point of the thread seem to be the
correct spelling of the web site ;-) At this point isn't also clear
what's the relationship between both projects (JavaORB's CCM
implementation and OpenORB), even worse after this
page.
- TAO's
group is also preparing a CCM implementation (as you can see in
the articles above). Browsing their ChangeLog
one can see that the implementation is still far, but they add
features "as required by the CCM."
- IONA's
iPortal Application Server, EJB with CORBA support (no CCM, I'm
afraid).
Quick links and local copies of the OMG documents shown above
An open-source
implementation of the CCM!
Coming soon! Stay tuned!. Here we want to open a shared CVS repository
in which programmers all over the world could share their effort to
develop a public, open-source implementation of the CCM spec. We could
start with a CIDL to IDL converter, etc., etc.
Acknowledgements
I would like to thank here a number of people to helped me on writting
this page, either directly or indirectly. There is no particular order
in the following list, as I can't think on criteria for ordering
acknoledgements:
Work in progress!!
This is a work-in-progress page, I'll try to
convert it in a repository for the not-yet-released-nor-understood
CORBA Component Model. PLEASE, help me to maintain this page updated
sending me
your comments, suggestions, errors and ideas. They will be greatly
appreciated, and I'll include you in the credits of this page. You can
also see the TODO file for this page.
|