A
Detailed Comparison of CORBA, DCOM and Java/RMI
by Gopalan Suresh Raj
As the middleware war heats up between Microsoft,
OMG and JavaSoft, the providers of the three most
popular distributed object technologies, let us
look at a detailed comparison of CORBA, DCOM and
Java/RMI. Let us examine the differences between
these three models (with a concrete code example)
from a programmer's standpoint and an
architectural standpoint. At the end of this
article, you will be able to better appreciate
the merits and innards of each of these
distributed object paradigms
A
Detailed Comparison of the EJB and MTS models by
Gopalan Suresh Raj
As the middleware war heats up between Microsoft,
JavaSoft and the OMG, the providers of the three
most popular distributed object technologies, let
us look at a detailed comparison of the EJB and
MTS models. Let us examine the differences
between these models (with a concrete code
example) from a programmer's standpoint and an
architectural standpoint. At the end of this
article, you will be able to better appreciate
the merits and innards of each of these
middleware component paradigms.
JavaBeans
vs Enterprise JavaBeans
While both JavaBeans and Enterprise JavaBeans are
software component models, the purpose for which
they are designed is different. However, a common
misconception is that an Enterprise JavaBean is
an extension of plain vanilla JavaBeans with
enterprise functionality. JavaBeans is a
general-purpose component model whereas EJB, as
the name suggests, is a middleware component
model. We'll use these principles and the basic
characteristics of software components to compare
JavaBeans and Enterprise JavaBeans. (Published in
the August 1999 issue of the Java Developers'
Journal - JDJ Feature pp.22-30.)
The
Factory Method (Creational) Design Pattern by
Gopalan Suresh Raj
The Factory Design Pattern delegates the work of
object creation to derived classes of the
interface
The
Mediator (Behavioral) Design Pattern by Gopalan
Suresh Raj
The Mediator Design Pattern is used to design
encapsulation for interaction among objects. It
helps design a loose coupling by preventing
objects from referring to each other directly.
This allows to vary their interactions
independantly.
Java/Remote
Method Invocation (Java/RMI) by Gopalan Suresh
Raj
Javasoft's Java/RMI ensures communication between
distributed program-level Java objects residing
in different address spaces by assuming a
homogeneous Java Virtual Machine environment. It
thus takes advantage of the Java Object Model
whenever possible to support distributed objects
in the Java environment.
Java/RMI
- Under the Hood by Gopalan Suresh Raj
This article explains the innards and internals
of Java/RMI
The
Common Object Request Broker Architecture (CORBA)
by Gopalan Suresh Raj
OMG's CORBA is a structural architecture designed
to support heterogenous object systems. CORBA
achieves communication between different
distributed objects while still allowing
encapsulation and hiding of the internal object
structure from external objects through
Indirection.
The
COM Threading Models by Gopalan Suresh Raj
Explains the different threading models in COM
Component
Object Model (COM) by Gopalan Suresh Raj
Microsoft tries to move reuseability from the
source code realm into the binary realm. COM,
OLE, ActiveX, DCOM, COM+ -you can call it
anything- are all Microsoft's solutions to smooth
out the edges and ensure that data sharing at the
binary level, takes place in a consistent manner.
Jini
Connection Technology by Gopalan Suresh Raj
Sun Microsystems' Jini Connection Technology
enables the building and deployment of
distributed systems that are organized as
"federations of services." A federation
is a set of services that can work together to
perform a task. A service, the fundamental unit
of a federation, is an entity that sits on the
network ready to perform some kind of useful
function. A service can be anything -- a hardware
device, a piece of software or a communications
channel. Once a service becomes part of a
federation, it then can be used by all its client
programs, other services, or users.
The
Microsoft Message Queue Server (MSMQ) by Gopalan
Suresh Raj
The Microsoft Message Queue Server (MSMQ)
guarantees a simple, reliable and scalable means
of asynchronous communication freeing up client
apps to do other tasks without waiting for a
response from the other end.It provides
loosely-coupled and reliable network
communications services based on a messaging
queuing model. MSMQ makes it easy to integrate
applications, implement a push-style business
event delivery environment between applications,
and build reliable applications that work over
unreliable but cost-effective networks.
The
Java Message Service (JMS) by Gopalan Suresh Raj
The Java Message Service (JMS) API combines Java
technology with enterprise messaging. Enterprise
messaging provides a reliable, flexible service
for the asynchronous exchange of critical
business data and events throughout an
enterprise. The JMS API adds to this a common API
and provider framework that enables the
development of portable, message based
applications in the Java programming language.
CORBA
Component Model (CCM) by Gopalan Suresh Raj
CORBA Component Model (CCM) is a specification
that focuses on the strength of CORBA as a
server-side object model. It concentrates on
issues that must be addressed to provide a
complete Server side middleware component model.
It can be described as a cross platform, cross
language superset of EJB. The CCM gives
developers the ability to quickly build
web-enabled enterprise scale e-commerce
applications while leveraging the industrial
strength of CORBA. Tight integration with EJB
leverages CORBA's cross-platform and
multiple-language capabilities.
Microsoft
Transaction Server (MTS) by Gopalan Suresh Raj
Microsoft Transaction Server (MTS) is built on
DCOM and brings in mainframe-like transactional
reliability to the PC world following a
"write once, run many"
strategy.Developers use MTS to deploy scalable
server applications built from COM components,
focusing on solving business problems instead of
on the programming application infrastructure.
MTS delivers the "plumbing" including
transactions, scalability services, database
connection management, and point-and-click
administration providing developers with the
easiest way to build and deploy scalable server
applications for business and the Internet
Enterprise
JavaBeans (EJB) by Gopalan Suresh Raj
Enterprise JavaBeans (EJB) provides a
fully-scalable, distributed, and cross-platform
architecture that makes the most of your business
resources. Not only can these components run on
any platform, but they are also completely
portable across any vendor's EJB component
execution system. The EJB environment
automatically maps the component to the
underlying vendor-specific execution services.
The
Advanced CORBA Tutorial by Gopalan Suresh Raj
The Ultimate Resource to learn everything about
CORBA and all its related technologies. This
section contains a tutorial to CORBA covering
topics like Stringification, Common Object
Services (COS) like Naming, Event, Trader,
Transaction, etc., and a lot more...
The
COM+/DNA Tutorial by Gopalan Suresh Raj
The Ultimate Resource to learn everything about
Microsoft COM+/DNA and all its related
technologies. This section contains a tutorial to
Advanced COM topics like DCOM, MTS, MSMQ, COM+
and a lot more...
The
Advanced Java/J2EE Tutorial by Gopalan Suresh Raj
The Ultimate Resource to learn everything about
the Java/J2EE platform and all its related
technologies. This section contains a tutorial to
Advanced Java topics like Enterprise JavaBeans,
Jini, Java/RMI, JMS, JTS/JTA, JavaBeans, Network
programming, Concurrency issues, and a lot
more...
Authored the Chpters on EJB, CORBA and Jini |
Enterprise
Java Computing - Applications and
Architecture
Using this book, developers should be
able to: (1) Integrate relational
databases with RMI and servlets using
JDBC (2) Develop sophisticated
servlet-based middleware (3) Design
multi-tier EJB applications (4) Write
Jini services (5) Understand advanced
issues regarding RMI and Java IDL
development (6) Perform
Java/legacy-system integration using JNI.
This book empowers corporate developers
to deliver mission-critical Java
applications that can be deployed in the
real world. With 'Enterprise Java
Computing' the reader will master the
critical building blocks that are
necessary for developing robust
client-server applications, without
getting bogged down in the specifics of
the Java language and its syntax.
|
|
The
Awesome Power of JavaBeans
Authored Chapter 10: ActiveX to JavaBeans
in the book "The Awesome Power of
JavaBeans" |
|
|
A
Component Engineering Cornucopia by Gopalan
Suresh Raj
The Ultimate Resource to learn everything about
developing complete multi-tier Distributed
Enterprise Applications using Java/J2EE, CORBA,
COM+/DNA and all their related technologies.
|