Common Object Request Broker Architecture

(redirected from Objects by Value)

Common Object Request Broker Architecture

(standard, programming)
(CORBA) An Object Management Group specification which provides a standard messaging interface between distributed objects.

The original CORBA specification (1.1) has been revised through version 2 (CORBA 2) with the latest specification being version 3 (CORBA 3). In its most basic form CORBA consists of the Interface Definition Language (IDL) and the Dynamic Invocation Interface (DII).

The IDL definition is complied into a Stub (client) and Skeleton (server) component that communicate through an Object Request Broker (ORB). When an ORB determines that a request is to a remote object, it may execute the request by communicating with the remote ORB.

The Corba IDL can be mapped to a number of languages including C, C++, Java, COBOL, Smalltalk, Ada, Lisp, Python, and IDLscript. CORBA ORBs are widely available for a number of platforms. The OMG standard for inter-ORB communication is IIOP, this ensures that all CORBA 2 compliant ORBS are able to interoperate.

Latest version: Corba 3.0.3 2004-03-12, as of 2007-09-04.

See also COSS, Component Object Model, RMI.

OMG CORBA specs.
References in periodicals archive ?
As part of its continuing evolution, several significant new features are being added to CORBA as it approaches version 3.0: the Portable Object Adapter; CORBA Messaging; and Objects By Value. An overview of each of these new CORBA features is provided here.
As with asynchronous messaging, the lack of support for passing objects by value has long been seen as a serious hole in the CORBA specification.
To address this shortcoming, support for passing objects by value was recently added to CORBA [4].
Unfortunately, the Objects By Value (OBV) Specification is not without drawbacks.
One obvious feature missing from the OBV Specification is the ability to pass true CORBA objects by value. The OBV Specification allows valuetypes to be derived from OMG IDL interfaces, but just as for normal CORBA objects, only their object references can be passed as arguments if they are used in a context requiring an object.
References can be used with operator overloading to pass the addresses of objects to the function implementing an operator, which is often more efficient than passing objects by value.
Some object-oriented languages do not pass objects by value, but always use a reference.