Object request broker

ORBs assumed to handle the transformation of in-process data structures to and from the raw byte sequence, which is transmitted over the network.

In addition to marshalling data, ORBs often expose many more features, such as distributed transactions, directory services or real-time scheduling.

Some ORBs, such as CORBA-compliant systems, use an interface description language to describe the data that is to be transmitted on remote calls.

[1][2] In object-oriented languages (e.g. Java), 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.

On the server side, ORB locates the targeted object, executes the requested operation, and returns the results.