An object request broker or ORB is programming protocols that function as an intermediary or broker between a client and a supplier. Using an object request broker, the client submits a request for some type of service to take place. The broker receives the request and routes it to a point of termination on the network where the request can be completed successfully. By using an object request broker, the client server processing the request does not have to know where in the network to forward the request. The broker evaluates the request and then routes it accordingly.
It is sometimes helpful to understand an object request broker as being an example of middleware. Essentially, middleware functions as the means of conveying data from a point of origin to a point of termination, rather than the data transferring in a strictly point to point communication. The advantage to this approach is the middleware is able to qualify the incoming data and route it to a portion of the network where it is likely to be processed with the greatest level of efficiency.
The object request broker is part of the broader Common Object Request Broker Architecture, also known as CORBA. It is this wider architecture that makes it possible for the object request broker to accurately and quickly process the input of data from the client and deliver the data to the properly system or server on the network. Each component is set up using the Interface Definition Language that allows the cross compiler to identify each component currently functional anywhere on the network.
As part of the overall functionality, an object request broker may provide more than one point of termination for the data contained in the client request. For example, the data may be copied and moved to various servers on the network. The data may be dumped into a database for further processing while also added to plain files for storage. Completion confirmation may take place as part of the overall functionality, as well as allowing the request to be restored to its original form if the sequence fails to complete properly.
Because there is the ability to configure the object request broker to fit into a number of environments and handle a wide range of client requests, programmers are able to adapt the broker to handle any number of single and multiple tasks for the inbound client request. The brokers are also somewhat adaptable, in that as components are added to the network, they can be named and added to the general architecture with relative ease.