Interworking between EJBs and
CORBA Components (CCM)

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

Copyright 2008 iCMG. All rights reserved.
Site Index | Contact Us | Legal & Privacy Policy