To go back in a frame click the right mouse button inside the frame
Click here to read this page without frames

Distributed Object Technology

Created by Sannie Kreuse

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:

CORBA

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.

Some links to CORBA sites

Java

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.

ORB Vendors

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 .

Facilities

Mobile Objects build on Java

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.

Persistent Objects

A Persistent Object is an object that is preserved beyond the termination of the process that created it.

Alternatives for CORBA

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 .