This page is a short introduction to subjects that are concerned with
Distributed Object Technoloy (DOT). DOT is aimed at building new programs
with the use of existing parts at different sites. For this we need
programming languages (like Java )
that support on-line intregration of parts and communication protocols
(like CORBA ) , tools and ORBS .
Similar pages:
The Common Object Request Broker Architecture (CORBA), is the
Object Management Group's (OMG)
answer to the need for
interoperability among the rapidly proliferating number of
hardware and software products available today. Simply stated,
CORBA allows applications to communicate with one another no
matter where they are located or who has designed them. Look here
for a brief
tutorial on CORBA.
CORBA 1.1 was introduced in 1991 by Object Management Group
(OMG) who also defined the
Interface Definition Language (IDL)
which is essential for enabling client/server object interaction
within a specific implementation of an Object Request Broker (ORB).
The ORB
is that part of the object that is responsible for all the mechanisms
required for enabling communication between objects, to find the object
implementation for a request and to prepare the object implementation
to receive a request. The client does not have to be
aware of where the object is located, its programming
language, its operating system, or any other system aspects that
are not part of an object's interface. In so doing, the ORB
provides interoperability between applications on different machines
in heterogeneous distributed environments and
seamlessly interconnects multiple object systems.
The OMG has a
special document
with more technical information about CORBA and the
ORB,
for example on the
syntax and
semantics of the IDL .
CORBA 2.0
adopted in December of 1994, defines true interoperability
by specifying how ORBs from different vendors can interoperate.
Java was originally designed to facilitate the development of
embedded system software but has been adapted as a language for
World Wide Web programming because of its ability to simplify
the development of flexible, portable applications with high-level
graphical user interfaces. The introduction of Java to the
marketplace is a response to the current difficulties in
developing and maintaining software within limited budgets
and challenging development schedule constraints. These
constraints result in part from the shortcomings of existing
programming languages and development environments.
Java, while offering tremendous flexibility for application development does
not, by itself, support a client/server paradigm. In order to support a richer
range and scale of application, therefore, a combination of Java with a
standardized approach and framework for application interaction across the
Internet is required. The de facto industry standard for this application
interworking across diverse, heterogeneous systems is CORBA. CORBA provides
the crucial missing link between the Java application (applet) running on a
consumer device and the required backend service.
The combination of CORBA and Java technologies is a natural
one - not least because they both share the object paradigm.
Both CORBA and Java essentially seek to abstract the underlying
hardware technologies and architectures. This factor brings
about a reduction in learning curves and offers dramatic
improvements in time-to-market and maintenance cost reduction.
All sorts of ORBs are being supplied by different suppliers.
Some of the ORBs are introduced here. For an extensive list
of ORBs look
here .
- Orbix: The connection between CORBA and Java
The implementation of Orbix in the Java language will allow
CORBA-compliant Orbix client functionality to be downloaded
as a Java library to the client target. This will enable
Java applets on the target host to interoperate with any CORBA
2.0 compliant service. The Orbix Java integration is regarded
by IONA Technologies as being of significant strategic
importance in the development of Internet business as it combines
the flexibility and ease of use of the Java environment with
a standardized approach and framework for global object interaction.
Orbix
is a full and complete implementation of CORBA. With Orbix,
programmers can develop distributed applications using OO
and object technology to compose new applications from
existing components.
An Orbix-specific extension of CORBA is
OrbixTalk.
This is a tool to allow clients to communicate with application
objects using messages. OrbixTalk allows shared information to be
organized into a hierarcichal structure of topics, each of which
is identified by an OrbixTalk Topic Name. In this way an
application can determine which information it is interested
in and inform OrbixTalk by using the Topic Name. Applications
built using OrbixTalk can thus be informed of events as they
happen and act upon them.
Orbix(Web)
- ORBeLine (careful, site has disappeared)
- Fresco
Fresco
is a CORBA-based language implemented in C++ which provides
support for object distribution, a standard high-level notation for
object definition, Tcl-based scripting and multi-threading.
CORBA 2.0 essentially defines a synchronous message passing paradigm.
Primitive data type, such as integers, are passed by value but objects
are passed by reference. For operations on or information retrieval of
an object, a request has to be send to the concerning object.
Mobile Objects
present possibilities for synchronous message passing, passing
objects by value. When an object is passed, the whole object is passed,
including its code, data, execution state and itinerary.
A Persistent Object is an object that is preserved beyond the termination of the
process that created it.
Unfortuntely the OMG is not the only one to come up with a standard.
There are more object interface systems like ILU and HORB. More
information about alternatives for CORBA can be found
here .