Object request broker
Encyclopedia
In distributed computing
, an object request broker (ORB) is a piece of middleware
software that allows programmers to make program calls from one computer to another via a network. ORBs promote interoperability of distributed object systems because they enable users to build systems by piecing together objects from different vendors, so that they communicate with each other via the ORB.
ORBs handle the transformation of in-process data structures to and from the byte sequence, which is transmitted over the network. This is called marshalling
or serialization
.
Some ORBs, such as CORBA
-compliant systems, use an Interface Description Language (IDL
) to describe the data that is to be transmitted on remote calls.
In addition to marshalling data, ORBs often expose many more features, such as distributed transactions, directory services or real-time scheduling.
In object-oriented languages, the ORB takes the form of an object with methods enabling connection to the objects being served. After an object connects to the ORB, the methods of that object become accessible for remote invocations. The ORB requires some means of obtaining the network address of the object that has now become remote. The typical ORB also has many other methods.
Distributed computing
Distributed computing is a field of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal...
, an object request broker (ORB) is a piece of middleware
Middleware
Middleware is computer software that connects software components or people and their applications. The software consists of a set of services that allows multiple processes running on one or more machines to interact...
software that allows programmers to make program calls from one computer to another via a network. ORBs promote interoperability of distributed object systems because they enable users to build systems by piecing together objects from different vendors, so that they communicate with each other via the ORB.
ORBs handle the transformation of in-process data structures to and from the byte sequence, which is transmitted over the network. This is called marshalling
Marshalling (computer science)
In computer science, marshalling is the process of transforming the memory representation of an object to a data format suitable for storage or transmission...
or serialization
Serialization
In computer science, in the context of data storage and transmission, serialization is the process of converting a data structure or object state into a format that can be stored and "resurrected" later in the same or another computer environment...
.
Some ORBs, such as CORBA
Çorba
Chorba , ciorbă , shurpa , shorpo , or sorpa is one of various kinds of soup or stew found in national cuisines across Middle East...
-compliant systems, use an Interface Description Language (IDL
IDL specification language
IDL is a software interface description language created by William Wulf and John Nestor of Carnegie Mellon University and David Lamb of Queen's University, Canada.Like other interface description languages, IDL defined interfaces in a language- and machine- independent way, allowing...
) to describe the data that is to be transmitted on remote calls.
In addition to marshalling data, ORBs often expose many more features, such as distributed transactions, directory services or real-time scheduling.
In object-oriented languages, the ORB takes the form of an object with methods enabling connection to the objects being served. After an object connects to the ORB, the methods of that object become accessible for remote invocations. The ORB requires some means of obtaining the network address of the object that has now become remote. The typical ORB also has many other methods.
Implementations
- CORBAÇorbaChorba , ciorbă , shurpa , shorpo , or sorpa is one of various kinds of soup or stew found in national cuisines across Middle East...
- the Common Object Request Broker Architecture. - Ice - the Internet Communications EngineInternet Communications EngineThe Internet Communications Engine, or Ice, is an object-oriented middleware that provides object-oriented Remote Procedure Call, grid computing and Publish/subscribe functionality developed by ZeroC and dual-licensed under the GNU GPL and a proprietary license...
- .NET Remoting.NET Remoting.NET Remoting is a Microsoft application programming interface 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 of Object Linking and Embedding for 16-bit Windows...
- object remoting library within Microsoft's .NET Framework.NET FrameworkThe .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability... - Windows Communication FoundationWindows Communication FoundationThe Windows Communication Foundation , previously known as "Indigo", is an application programming interface in the .NET Framework for building connected, service-oriented applications.-The architectures:...
- ORBexpress - Real-time and Enterprise ORBs by Objective Interface SystemsObjective Interface SystemsObjective Interface Systems, Inc. is a computer communications software and hardware company. The company's headquarters are in Herndon, Virginia, USA...
- OrbixOrbixOrbix may refer to:* Orbix , a battery-operated puzzle toy from Milton Bradley released in 1995.* Orbix...
- An Enterprise-level CORBA ORB from IONA TechnologiesIONA TechnologiesIONA Technologies was an Irish software company. It was founded in 1991.The company began life as a campus company in Trinity College, Dublin and maintains headquarters in Dublin, Boston and Tokyo.... - DCOMDistributed component object modelDistributed Component Object Model is a proprietary Microsoft technology for communication among software components distributed across networked computers. DCOM, which originally was called "Network OLE", extends Microsoft's COM, and provides the communication substrate under Microsoft's COM+...
- the Distributed Component Object Model from MicrosoftMicrosoftMicrosoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions... - RMIJava remote method invocationThe Java Remote Method Invocation Application Programming Interface , or Java RMI, is a Java application programming interface that performs the object-oriented equivalent of remote procedure calls ....
- the Remote Method Invocation Protocol from Sun MicrosystemsSun MicrosystemsSun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982... - RPCRemote procedure callIn computer science, a remote procedure call is an inter-process communication that allows a computer program to cause a subroutine or procedure to execute in another address space without the programmer explicitly coding the details for this remote interaction...
- Remote Procedure Call - SANKHYA Varadhi - High Performance ORBs by Sankhya Technologies
- SimpleORB - a small, non-CORBA ORB
- ORBitORBitORBit is a CORBA 2.4 compliant Object Request Broker . It features mature C, C++ and Python bindings, and less developed bindings for Perl, Lisp, Pascal, Ruby, and Tcl...
- an open-source CORBA ORB used as middleware for GNOMEGNOMEGNOME is a desktop environment and graphical user interface that runs on top of a computer operating system. It is composed entirely of free and open source software... - OmniORB - a CORBA-compliant ORB released under the GPL
- opalORB - a CORBA implementation completely written in Perl.
- The ACE ORB - a CORBA implementation from the Distributed Object Computing (DOC) Group
- TIDorb - an open-source CORBA ORB from Telefonica I+D