subject: Various Services Of Object Request Broker (orb) [print this page] Using distributing computing, a program can be split up into parts that can run simultaneously on multiple computers communicating over a network. For example, if you are working in a professional web development project, you can simply split your application into various smaller modules, which would fetch data independently from different sources. This will, in fact, enable you to efficiently deal with systems containing more than one storage element, concurrent processes or multiple programs. The program or that middleware software that would actually coordinate in between your program module and the external source is generally termed as Object Request Broker or ORB. In large-scale and complex web site development , ORBs are made available through CORBA (Common Object Request Broker Architecture). An ORB can provide the following services:
* Life cycle services that define how to create, move, delete, and copy a component;
* Persistence service that gives the ability to store data in object databases and binary files;
* Naming services which allow one component to find another by name and also support existing naming systems or directories (including DCE and Network Information System from Sun);
* Event service, that allows components to specify and handle events notification;
* Concurrency control services, which allow ORBs to manage database locks;
* Transaction service, which ensures that transaction are completed, changes are committed and if not, changes are restored to their pre-transaction state;
* Relationship services, which create dynamic associations between components;
* Externalization services, which provide a way to exchange data with external sources;
* Query service that allows a component to query a database;
* Properties service to describe the component structure.
In website design services , an ORB uses the CORBA Interface Repository to locate and communicate with a requested component. So, to create a component, you can either use CORBA's Interface Definition Language (IDL) to declare its public interfaces or the compiler of the programming language will translate the statements into appropriate IDL statements for you.