20 Common Object Request broker Architecture (CORBA)
20.4 Object Request Broker
An object request broker (ORB) is the central component of CORBA. It is the
middleware that establishes client-server relationships between objects.
Using an ORB the client can transparently invoke a method on a server
object. The server object can be on the same machine or on a remote machine
in a network. The ORB intercepts the call and is responsible for finding
an object that can implement the request, pass the parameters, invoke the
method and finally return the results computed to the server. The client
need not know any details about the object like the location of the object,
the programming language in which it is implemented, the operating system
in which it executes on or the platform in which it exists. The client
server relationship is applicable for any particular application. Objects
on ORB can act as either client or server depending on the occasion.
The following are the features of CORBA ORB:
- Static and dynamic method invocation. CORBA ORB supports both
types of method invocations, static and dynamic. We can either statically
define method invocations at compile time or dynamically discover them
at run time. Thus, we have either strong type checking at compile time or
maximum flexibility associated with late binding.
- High-level language bindings. With CORBA ORB we can invoke methods
on server objects using high level language of choice (C, C++, Smalltalk).
The client need not worry about the implementation details of the server
objects as well. CORBA separates interface of objects from implementation,
thus, providing language-neutral data types that makes it possible to call
objects across languages and operating system boundaries.
- Self-describing system for providing facilities for dynamic
invocation of methods CORBA provides Interface Repository, which
contains real-time information describing the interfaces the server supports
along with parameters. The client uses this meta-data to invoke methods
at run-time. The metadata is either generated automatically by an IDL precompiler
or by compilers that generate IDL directly from an OO language.
- Local/remote transparency an ORB can run as a standalone or
can be interconnected to other ORBs in the universe. ORB can broker interobject
calls within a single process, multiple processes running within the same
machine or machine running across the networks. The client is transparent
to all the low level details like transports, server locations, object
activation, etc.
Polymorphic messaging ORB can invoke a method call corresponding
to a specific server object. Thus, more than one server object can have
the same method name. This means that the same function call may have different
effects depending on the object that receives it.
![[PREV]](Prev.gif)
![[NEXT]](Next.gif)
![[UP]](Up.gif)
![[HOME]](Home.gif)
Copyright © 1996 Virginia Polytechnic Institute & State University
All Rights Reserved
Padmapriya Vasudevan
priya@csgrad.cs.vt.edu
Last modified: Sun Sep 22 21:16:15 1996