Alan Freedman -- The Computer Language Company - Computer Desktop Encyclopedia
Computer Desktop Encyclopedia
Longest-Running Tech Reference on the Planet

A CDE Definition

You'll love The Computer Desktop Encyclopedia (CDE) for Tech Term of the Day (TTOD)

LOOK UP ANOTHER TERM


Object Data Management Group

(Object Data Management Group, Burnsville, MN, www.odmg.org) An organization founded in 1991 to promote object database standards. Disbanded in 2001 after completing its objectives, the ODMG added programming extensions to C++ and Smalltalk for accessing object databases. It also included a superset of SQL 92 Entry Level, the most widely supported version of SQL.

The ODMG defined an interface to the database, whereas the OMG (Object Management Group) defines an interface for objects in a distributed environment. The ODMG object model complies with the OMG standard (see CORBA).



CORBA

(Common Object Request Broker Architecture) A software-based interface from the Object Management Group (OMG) that allows software modules (objects) to communicate with each other no matter where they are located on a private network or the global Internet. CORBA is a "distributed objects" system designed for multi-tier, client/server applications, where processing data in one computer requires additional processing by some other service in another computer in order to complete the transaction. CORBA is also described as an "object bus" or "software bus." See distributed objects.

DCOM and Web Services
Microsoft's counterpart to CORBA is its COM-based Distributed COM (DCOM) architecture (see COM and DCOM). COM/CORBA interoperability is required to integrate Windows desktops into a CORBA-based system.

Although CORBA and DCOM have achieved some success, Web services on the Internet are expected to be far more triumphant. CORBA software from different vendors may not always interoperate at all levels, and DCOM is a Windows-based solution only (see Web services).

Part of the OMA
CORBA is the communications component of the Object Management Architecture (OMA), which defines other elements such as naming services, security and transaction services. However, CORBA is the common umbrella term.

Client/Server Requests
At runtime, a CORBA client makes a request to a remote object via an ORB (Object Request Broker), and the ORB creates the illusion that the remote object is local.

The client calls a CORBA operation by sending a GIOP (General Inter-ORB Protocol) message to the server ORB, which returns a GIOP reply. Finally, the client ORB converts the reply into a normal object for the client application. When sent over TCP/IP, GIOP is called "IIOP" (Internet Inter-ORB Protocol). Orbix and VisiBroker are examples of commercial ORBs.

The Interface Definition Language (IDL)
CORBA objects are defined by an Interface Definition Language (IDL) that describes the processing (methods) and the data sent and returned. IDL compilers for languages such as C, C++, Java, Smalltalk and COBOL let programmers use familiar constructs. IDL definitions stored in an Interface Repository can be queried by a client application to determine which objects are available on the bus.

CORBA Versions
The first version of CORBA supported C. CORBA 2 added C++ and Java as well as GIOP. CORBA 3 added Internet firewall support, quality of service (QoS) and CORBAcomponents, a high-level interface to services such as Enterprise JavaBeans (EJBs). See POA and servant.




One Program Calls Another
The basic concept is simple: one program calls upon another for its services no matter where it is located. CORBA provides a complete messaging environment for executing remote objects written in multiple languages and running on different platforms.







Remote Procedure Calls
RPCs, which have been around for some time, are similar to CORBA, although not as comprehensive. They tend to support one programming language and one platform.







CORBA Object Creation
CORBA objects are created by compiling IDL definitions into the client and server code. The resulting applications communicate with each other via the CORBA bus using the GIOP or IIOP protocols.






Personal Use Only

Before/After Your Search Term
BeforeAfter
OBJ fileobject data model
objectobject database
object-basedObject Database Management Group
object-based audioobject DBMS
object-based musicobject language
object-based surround soundObject Linking and Embedding
object browserObject Management Architecture
object busObject Management Group
object codeobject model
object computerobject module

Terms By Topic
Click any of the following categories for a list of fundamental terms.
Computer Words You Gotta KnowSystem design
Job categoriesUnix/Linux
Interesting stuffPersonal computers
InternetIndustrial Automation/Process Control
Communications & networkingAssociations/Standards organizations
HistoryDesktop publishing
Audio/VideoGraphics
MainframesSecurity
ProgrammingHealthcare IT
System design