- Also see ORBS, a term easily confused with ORB.
In Common Object Request Broker Architecture (CORBA), an Object Request Broker (ORB) is the programming that acts as a "broker" between a client request for a service from a distributed object or component and the completion of that request. Having ORB support in a network means that a client program can request a service without having to understand where the server is in a distributed network or exactly what the interface to the server program looks like. Components can find out about each other and exchange interface information as they are running.
CORBA's ORB may be thought of as strategic middleware that is more sophisticated conceptually and in its capabilities than earlier middleware, including Remote Procedure Calls (RPCs), message-oriented middleware, database stored procedures, and peer-to-peer services.
An ORB uses the CORBA Interface Repository to find out how to locate and communicate with a requested component. When creating a component, a programmer uses either CORBA's Interface Definition Language (IDL) to declare its public interfaces or the compiler of the programming language translates the language statements into appropriate IDL statements. These statements are stored in the Interface Repository as metadata or definitions of how a component's interface works.
In brokering a client request, an ORB may provide all of these services:
- Life cycle services, which define how to create, copy, move, and delete a component
- Persistence service, which provide the ability to store data on object database, , and plain files
- Naming service, which allows a component to find another component by name and also supports existing naming systems or directories, including
DCE, , and Sun's NIS (Network Information System).
- Event service, which lets components specify events that they want to be notified of
- Concurrency control service, which allows an ORB to manage locks to data that transactions or threads may compete for
- transaction service, which ensures that when a transaction is completed, changes are committed, or that, if not, database changes are restored to their pre-transaction state
- Relationship service, which creates dynamic associations between components that haven't "met" before and for keeping track of these associations
- Externalization service, which provides a way to get data to and from a component in a "stream"
- Query service, which allows a component to query a database. This service is based on the SQL3 specification and the Object Database Management Group's (ODMG) Object Query Language (OQL).
- Licensing service, which allows the use of a component to be measured for purposes of compensation for use. Charging can be done by session, by node, by instance creation, and by site.
- Properties service, which lets a component contain a self-description that other components can use.
In addition, an ORB also can provide security and time services. Additional services for trading, collections, and change management are also planned. The requests and replies that originate in ORBs are expressed through the Internet Inter-ORB Protocol (IIOP) or other transport layer protocols.
 |
Learn more about CORBA |
| CONTRIBUTORS: |
Jan Hewitt |
| LAST UPDATED: |
08 Jun 2001
|
 |
Do you have something to add to this definition? Let us know.
Send your comments to techterms@whatis.com
|

 |
More resources from around the web:
|


');
// -->


 |
 |
|  |
RELATED CONTENT
 |
Burton cautiously optimistic about SCA for SOA
Despite some concerns that SCA may be the next CORBA, Burton Group concludes that organizations doing SOA projects may have to accept that vendor...
|
 |
Will SOA go the way of CORBA?
Is service-oriented architecture (SOA) "just XML/SOAP based CORBA with evolving standards around it?" The author explores the opportunities and...
|
 |
Rubio on roots of interop
In a series of entries on TheServerSide Interoperability Blog, Daniel Rubio takes a look at approaches used for achieving Java and .NET...
|
|

|