 |
|
|
|
Migrating CORBA 2.x applications to CCM and Web
Services |
| Overview
|
|
Increasingly, over the last decade,
CORBA (http://www.omg.org/)
formed the basis of several of the leading Enterprise
Application Integration (EAI) solutions. In fact,
it is one of most widely deployed and well-proven
mechanism for software objects to communicate
with one another. As the complexity of solutions
increased, there was growing need to extend to
a universal component model, enabling inter-working
with EJBs and support for SOAP/WSDL web services.
CORBA Component Model (CCM) specification was
crafted carefully over three years to assure full
integration of J2EE, .NET, ActiveX, and CORBA
2 object model. CCM has been adopted as an OMG
standard by its Board of Directors at the Technical
Meeting in Yokohama, Japan, April-2002. CCM is
now the only standard for integrating components
across both multiple programming languages and
multiple operating systems. iCMG's product K2
Component Server is the industry's first industrial
strength Application Server based on CCM.
|
| What
is CORBA Component Model (CCM)? |
|
CCM is a multi-language, multi-platform
component standard from OMG, which represents
a major extension for enterprise computing. CCM
is the framework for supporting the component
definition, code generation, packaging, assembly
and deployment of all types of software components.
Now, it will be possible to generate most of a
server, within a CORBA Components framework, into
which a developer can "drop" his business logic
or component.
It is interesting to note that
CCM is a technical improvement on EJB. In fact,
CCM joins together the best of .NET and J2EE component
models. The .NET is multi-language, single-platform,
while J2EE is single-language and multi-platform.
|
| CORBA
2.x vs CORBA 3.0 CCM |
|
CCM adds first class component
model to CORBA2.x object model. Moreover, CCM
adds a sophisticated runtime environment for software
components (C++, Java) and fully standardized
support for assembly and deployment. An application
server based on CCM such as K2 Component Server
provides a uniform component environment. This
is a difference to a pure CORBA application, where
the ORB exists only virtually as part of two or
more CORBA enabled applications.
A component server (CCM server)
is a single or a set of real executable constructs
(programs) managing and running components, whereas
the components itself are no "normal"
executables anymore i.e. they can only be executed
within the CCM server. That means a CORBA component
must implement certain mandatory interfaces and
mechanism so that server can handle it. It has
to fit/adjust to the framework, so to say. Of
course, the component must also implement arbitrary
and "uncensored" interfaces to implement
its actual functionality.
The table below summarizes the new features
in CORBA 3.0 CCM:
| # |
Key Features |
CORBA 2.x |
CORBA 3.0 CCM |
| New
Features |
| 1 |
Component
Model (CCM) |
 |
 |
| 2 |
OMG CIDL |
 |
 |
| 3 |
Component
Implementation Framework |
 |
 |
| 4 |
Container
Programming Model |
 |
 |
| 5 |
Packaging |
 |
 |
| 6 |
Assembly
|
 |
 |
| 7 |
Deployment |
 |
 |
| 8 |
Interface
Repository Metamodel |
 |
 |
| 9 |
CCM - EJB
Interworking |
 |
 |
| Enhancements
in CORBA 3.0 CORBA Component Model (CCM) |
| 10 |
OMG
IDL |
Object
IDL |
Component
IDL: with new keywords such as "components",
"supports", "uses", "consumes" etc have been
added |
| 11 |
Interface Repository |
Object Interface Repository |
Essential
"Component Interface Repository Interfaces"
have been added for managing state-of-the-art
components |
|
| Component
Categories |
|
The component categories are defined as valid
combination of external API types, container type
and CORBA usage model and can be summarized as
follows:
|
| |
Component
Categories |
CORBA
Usage Model |
Container
API Type |
Primary Key |
| Service |
| Session |
| Process |
| Entity |
|
| Stateless
|
| Conversational |
| Durable |
| Durable |
|
| Session |
| Session |
| Entity |
| Entity |
|
|
|
| CORBA
Components vs. EJB |
|
CCM provides several advanced
component features over EJB such as:
CCM supports multi-language unlike J2EE which supports only Java |
CCM provides more sophisticated choices of
component types (service, session, process
& entity) whereas EJB
which support only session and entity beans
|
CCM components have multiple interfaces so
that each interface could represent a particular
viewpoint for interaction.
|
Each CCM component supports both synchronous
and asynchronous communication which
could be used as an efficient means to communicate
and componentisation of enterprise
architecture
|
CCM also have concept called ports, which
are useful for assembly purposes. This makes
out of box integration possible i.e. no coding
is required.
|
Moreover, CCM supports distributed deployment
of components in multiple component servers
(CCM servers) unlike J2EE where EJBs are deployed
in single host server i.e. the application
server.
|
| Interestingly, CCM provides 4 step component development process i.e. design, develop, assemble and deploy which provides flexibility over 3-steps (design, develop and deploy) component development process defined by EJB.
|
|
| Who
needs upgrade/migration strategy? |
If
you have realised projects with ORBs based on CORBA
1.x or CORBA 2.x and facing problems such as:
|
| Benefits
of component based development with CCM |
|
With adoption of CCM specification
by OMG, industry has technology, standards and
tools in place which will ensure long promised
benefits of component based development. CCM based
applications will enable "Reuse" and "Assembly"
that will be the key to productivity enhancement,
software longevity and cost reductions.
- Component assembly instead of integration
Assembly combines the right components
to develop an enterprise application where each
component offers a specific set of services for
the application. This will help to develop quality
software and increase productivity. This is similar
to the process followed in the manufacturing industry.
- Enterprise applications based on distributed,
configurable components
A CCM application can be developed
by components written in different languages (such
as Java, C++), multiple operating systems and
deployed in several servers. This enables an enterprise
to take advantages of its heterogeneous programming
environment unlike other component models such
as J2EE where EJB applications are developed in
Java and deployed in a single host i.e. the application
server.
- Architects to have better control of the application
CCM deployment model enables
software architects to have a fine-grain control
over the assembly of their distributed component-based
applications. This will help architects to focus
on assembly and deployment actions such as installing
components into CCM servers, instantiating them,
configuring their non-functional and functional
properties, and interconnecting component instances
without dealing with other aspects such as code
generation and complex rules of programming.
- Well defined steps and roles for component
development
CCM provides complete process
of designing, developing, packaging, assembling,
deployment and executing the distributed components.
This provides flexibility over 3-steps (develop,
package and deploy) component development process
defined by other component models.

|
| Steps
for migrating CORBA 2.x apps to CCM with K2 |
|
The migration to CORBA 3.0 CCM
is a straightforward process. There are several
key factors that will affect the migration such
as managing multiple ORBs, programming languages
and platforms. We suggest that initial efforts
should start with a proof of concept by extending
a subset of existing CORBA 2.x application.

The process of a generic migration
project could be categorised into following steps.
The key steps are:
| |
ORB based system
|
CCM
based systems
|

|
| K2
Component Developers' Kit (CDK) |
|
The K2 Component Developers'
Kit (CDK) supports the development of CCM components
and enable easy steps for migrating existing CORBA
2.x applications to CORBA 3.0 CCM by providing
tools, documentation and migration examples.
|
| Conclusion |
|
With adoption of CCM specification
by OMG, industry has technology, standards and
tools in place which will ensure long promised
benefits of 100% componentization of enterprise
business architecture using component based development.
CCM based server will provides SINGLE platform
for COMPONENT based "development" as
well as "integration" for today and
tomorrow's enterprise needs. Fortune Global 2000
companies having 15-18+ year of IT assets will
find that CCM based applications will enable "Reuse"
and "Assembly" that will be the key
to productivity enhancement, software longevity
and cost reductions.
The migration strategy to CORBA
3.0 CCM with K2 Component Server will help in
improving the overall software quality and ensure
longevity. K2 provides an upgrade path from CORBA
2.x middleware and will help to retain existing
investments in CORBA. iCMG support K2 CCM and
is strongest, most stable vendors in CORBA 3.0
market. In fact, the cost of migration and upgradation
to CORBA 3.0 CCM with K2 is less than an annual
maintenance contract from several ORB vendors.
Download K2 now for evaluation.
|
| Would
you like to receive the detailed white paper on
"Upgrade CORBA 2.x applications to CORBA 3.0 CCM
and Web Services" click
here... |
|
|
| |
| |
|
|
 |
|