Object Request Broker
   HOME

TheInfoList



OR:

In
distributed computing A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another from any system. Distributed computing is a field of computer sci ...
, an object request broker (ORB) is a
middleware Middleware is a type of computer software that provides services to software applications beyond those available from the operating system. It can be described as "software glue". Middleware makes it easier for software developers to implement c ...
which allows program calls to be made from one computer to another via a
computer network A computer network is a set of computers sharing resources located on or provided by network nodes. The computers use common communication protocols over digital interconnections to communicate with each other. These interconnections ar ...
, providing location transparency through
remote procedure call In distributed computing, a remote procedure call (RPC) is when a computer program causes a procedure (subroutine) to execute in a different address space (commonly on another computer on a shared network), which is coded as if it were a normal (lo ...
s. ORBs promote interoperability of distributed object systems, enabling such systems to be built by piecing together objects from different vendors, while different parts communicate with each other via the ORB.


Overview

ORBs handle the transformation of in-process data structures to and from the raw byte sequence, which is transmitted over the network. This is called marshalling or
serialization In computing, serialization (or serialisation) is the process of translating a data structure or object state into a format that can be stored (e.g. files in secondary storage devices, data buffers in primary storage devices) or transmitted (e ...
. In addition to marshalling data, ORBs often expose many more features, such as distributed transactions,
directory services In computing, a directory service or name service maps the names of network resources to their respective network addresses. It is a shared information infrastructure for locating, managing, administering and organizing everyday items and network r ...
or real-time scheduling. Some ORBs, such as
CORBA The Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) designed to facilitate the communication of systems that are deployed on diverse platforms. CORBA enables collaboration between sy ...
-compliant systems, use an
interface description language interface description language or interface definition language (IDL), is a generic term for a language that lets a program or object written in one language communicate with another program written in an unknown language. IDLs describe an inter ...
to describe the data that is to be transmitted on remote calls. In object-oriented languages, an ORB actually provides a framework which enables remote objects to be used over the network, in the same way as if they were local and part of the same
process A process is a series or set of activities that interact to produce a result; it may occur once-only or be recurrent or periodic. Things called a process include: Business and management *Business process, activities that produce a specific se ...
. On the client side, so-called ''stub'' objects are created and invoked, serving as the only part visible and used inside the client application. After the stub's methods are invoked, client-side ORB performs the marshalling of invocation data, and forwards the request to the server-side ORB. On the server side, ORB locates the targeted object, executes the requested operation, and returns the results. Having the results available, client's ORB performs the demarshalling and passes the results back into the invoked stub, making them available to the client application. The whole process is transparent, resulting in remote objects appearing as if they were local.


Implementations

*
CORBA The Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) designed to facilitate the communication of systems that are deployed on diverse platforms. CORBA enables collaboration between sy ...
- Common Object Request Broker Architecture. *
ICE Ice is water frozen into a solid state, typically forming at or below temperatures of 0 degrees Celsius or Depending on the presence of impurities such as particles of soil or bubbles of air, it can appear transparent or a more or less opaq ...
- the
Internet Communications Engine The Internet Communications Engine, or Ice, is an open-source RPC framework developed by ZeroC. It provides SDKs for C++, C#, Java, JavaScript, MATLAB, Objective-C, PHP, Python, Ruby and Swift, and can run on various operating systems, incl ...
*
.NET Remoting .NET Remoting is a Microsoft application programming interface (API) for interprocess communication released in 2002 with the 1.0 version of .NET Framework. It is one in a series of Microsoft technologies that began in 1990 with the first version ...
- object remoting library within Microsoft's
.NET Framework The .NET Framework (pronounced as "''dot net"'') is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until bein ...
* Windows Communication Foundation (WCF) * ORBexpress - Real-time and Enterprise ORBs by Objective Interface Systems * Orbix - An Enterprise-level CORBA ORB from
IONA Technologies IONA Technologies was an Irish software company founded in 1991. It began as a campus company linked to Trinity College Dublin had its headquarters in Dublin, and eventually also expanded its offices in Boston and Tokyo. It specialised in dist ...
* DCOM - the Distributed Component Object Model from
Microsoft Microsoft Corporation is an American multinational corporation, multinational technology company, technology corporation producing Software, computer software, consumer electronics, personal computers, and related services headquartered at th ...
*
RMI RMI may refer to: Science and technology * Radio-magnetic indicator, an instrument used in aircraft navigation * Repetitive motion injury, an injury to the musculoskeletal and nervous systems * Richtmyer–Meshkov instability, an instability occu ...
- the Remote Method Invocation Protocol from
Sun Microsystems Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, ...
*
ORBit In celestial mechanics, an orbit is the curved trajectory of an object such as the trajectory of a planet around a star, or of a natural satellite around a planet, or of an artificial satellite around an object or position in space such a ...
- an open-source CORBA ORB used as middleware for GNOME * The ACE ORB - a CORBA implementation from th
Distributed Object Computing (DOC) Group
* omniORB - Free CORBA OR


See also

* Message broker * Distributed object communication * Distributed object


References

Middleware {{network-software-stub