|
Introduction
to EJB-CCM interworking
CCM and Enterprise
Java Beans (EJB) are designed keeping in mind
similar design goals. The EJB model as specified
by SUN Microsystems, relies on a EJB run-time
environment (called the EJB container) to provide
services viz. Security, Transaction, Object Activation
and Event Notification to the EJB component executing
within it. The EJB model also relies on the Object
Factory Pattern, and defines a Object Home to
manage components. Based on these similarities,
CCM provides an interoperability specification
between CCM & EJB components.
K2 provides seamless interworking between existing
Java/EJB clients and CCM components. This article
discusses the process of using the bridge and
developing applications based on it.
CORBA Components vs.
EJB
CCM provides several advanced component features
over EJB such as:
CCM supports multi-language. |
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. |
CORBA components
and EJB
 |
| CCM &
EJB Frameworks |
CORBA components
sits on the top of CCM containers. The CCM core
provides the basic object services like Transaction
(OTS), Security (OSS), and Persistence (PSS) to
CCM components.
EJB infrastructure
on the other hand, has it's core as Unified Integration
Framework that provides a development and runtime
environment for accessing enterprise information
systems. The EJB container sits on the top of
this framework. The EJB components are sitting
on the EJB containers. The Unified Framework provides
the basic object services to EJB Components, like
Transaction (TxMgr), Security (SecMgr) , and Persistence
(DBMgr).
Interoperability
Architecture
An application to be built using both EJB and
CCM components deployed in respective containers.
At development time, EJB components are originally
defined using JAVA and CCM components are defined
using extended IDL. When applications are assembled
during integration, K2 provides a set of tools
and compilers to generate additional codes for
bridge adapters that can be deployed in the environment
depending on direction of inter-operability. Thus,
in a CORBA environment client will expect to use
both CCM and EJB model as CORBA components, in
a EJB environment client is expect is use both
kinds as enterprise beans. These scenarios are
illustrated below!
 |
| Interoperability
between EJB and CCM environments |
A CORBA client
may use EJB component through CCM view of EJB
component. Similarly, EJB component can access
CORBA component through an EJB view of CORBA component.
For application
developers in a CORBA environment, EJBs specified
in Java are mapped to CORBA IDL for use by CCM
clients, and at runtime client calls on CCM methods
are translated by a bridge into EJB methods. In
effect, the EJBs are CORBA components.
For application
developers in an EJB environment, CORBA components
specified in IDL are mapped to Java interfaces
for use by EJB clients, and at runtime client
calls on EJB methods are translated by a bridge
into CCM methods. In effect, the CORBA components
are EJBs.
You can assume
a scenario, in which there exists a service component
implemented in CCM, (deployed in a K2 Component
Server) and an EJB Component (deployed in a J2EE
Application Server) wishes to use this CCM service
component instead of writing a new EJB component.
A new application
can be developed by mixing
- EJB components deployed in J2EE Application
Server with
- CCM components (C++ or JAVA) deployed in K2
Component Server.
The interworking enables use of existing CCM Component
by the EJB Component as if it is talking to another
EJB Component.
K2 Component Server v1.5 supports interworking with
EJB. The evaluation version support EJB
views for CORBA Components. This view allows
a Java client to access a CORBA component (CCM)
as an EJB. The Java client can either be an EJB
or any other piece of Java code.
Note:
please note that EJB-CCM interworking is tested
with
- Java
2 Enterprise Edition version 1.3 and
- Java 2 Standard Edition version 1.4(beta)
For more details
refer to the whitepaper on EJB
CCM Interworking
|