The Orber application is a CORBA compliant Object Request Brokers (ORB), which provides CORBA functionality in an Erlang environment. Essentially, the ORB channels communication or transactions between nodes in a heterogeneous environment.
The Orber application contains the following parts:
ORB kernel and IIOP support
Interface Repository
Interface Definition Language Mapping for Erlang
CosNaming Service
Orber provides CORBA functionality in an Erlang environment that enables:
Platform interoperability and transparency
Orber enables communication between OTP applications or Erlang environment applications and other platforms; for example, Windows NT, Solaris etc, allowing platform transparency. This is especially helpful in situations where there are many users with different platforms. For example, booking airline tickets would require the airline database and hundreds of travel agents (who may not have the same platform) to book seats on flights.
Application level interoperability and transparency
As Orber is a CORBA compliant application, its purpose is
to provide interoperability and transparency on the application
level.
Orber simplifies the distributed system software by defining the
environment as objects, which in effect, views
everything as identical regardless of programming
languages.
Previously, time-consuming programming was
required to facilitate communication between different languages.
However, with CORBA compliant Orber the Application
Programmer is relieved of this task. This makes
communication on an application level relatively transparent to the user.
The system architecture and OTP dependencies of Orber are illustrated in figure 1 below:
Orber is dependent on Mnesia (see the Mnesia documentation) - an Erlang database management application used to store object information.
Although Orber does not have a run-time
application dependency to IC (an
This simplified illustration in figure 2 demonstrates how Orber can facilitate communication in a heterogeneous environment. The Erlang Nodes running
OTP and the other Node running applications written in Java can
communicate via an
For example, if one of the above nodes requests an object, it does not need to know if that object is located on the same, or different, Erlang or Java nodes. The ORB will channel the information creating platform and application transparency for the user.
To fully understand the concepts presented in the documentation, it is recommended that the user is familiar with distributed programming and CORBA (Common Object Request Broker Architecture).
Recommended reading includes Open Telecom Platform Documentation Set and Concurrent Programming in Erlang.