1
<?xml version="1.0" encoding="latin1" ?>
2
<!DOCTYPE chapter SYSTEM "chapter.dtd">
9
<holder>Ericsson AB, All Rights Reserved</holder>
12
The contents of this file are subject to the Erlang Public License,
13
Version 1.1, (the "License"); you may not use this file except in
14
compliance with the License. You should have received a copy of the
15
Erlang Public License along with this software. If not, it can be
16
retrieved online at http://www.erlang.org/.
18
Software distributed under the License is distributed on an "AS IS"
19
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
20
the License for the specific language governing rights and limitations
23
The Initial Developer of the Original Code is Ericsson AB.
26
<title>The Orber Application</title>
29
<date>1998-10-05</date>
34
<title>ORB Kernel and IIOP </title>
35
<p>This chapter gives a brief overview of the ORB and its relation
36
to objects in a distributed environment and the usage of Domains
38
Also Internet-Inter ORB Protocol (<term id="IIOP"><termdef>Internet-Inter ORB Protocol</termdef></term>) is discussed and how this
39
protocol facilitates communication between ORBs to
40
allow the accessory of persistent server objects in Erlang. </p>
44
<title>The Object Request Broker (ORB)</title>
45
<p>An ORB kernel can be best described as the middle-ware, which
46
creates relationships between clients and servers, but is
47
defined by its interfaces. This allows transparency for the
48
user, as they do not have to be aware of where the requested
49
object is located. Thus, the programmer can work with any other
50
platform provided that an IDL mapping and interfaces exist.
52
<p>The IDL mapping which is described in a later chapter is the
53
translator between other platforms, and languages. However, it
54
is the ORB, which provides objects with a structure by which
55
they can communicate with other objects.
57
<p>ORBs intercept and direct messages from one object, pass this
58
message using IIOP to another ORB, which then directs the
59
message to the indicated object.
61
<p>An ORB is the base on which interfaces, communication stubs
62
and mapping can be built to enable communication between
63
objects. Orber uses <term id="domains"><termdef>A domain allows a more efficient communication protocol to be used between objects not on the same node without the need of an ORB</termdef></term>to group objects of different nodes
65
<p>How the ORB provides communication is shown very simply in figure 1 below: </p>
66
<marker id="theORB"></marker>
69
Figure 1: How the Object Request Broker works.</icaption>
71
<p>The domain in Orber gives an extra aspect to the distributed object
72
environment as each domain has one ORB, but it is distributed over
73
a number of object in different nodes. The domain binds objects on
74
nodes more closely than distributed objects in different domains. The
75
advantage of a domain is that a faster communication exists between
76
nodes and objects of the same domain. An internal communication protocol
77
(other than IIOP) allows a
78
more efficient communication between these objects. </p>
80
<p>Unlike objects, domains can only have one name
81
so that no communication ambiguities exist between domains.</p>
86
<title>Internet Inter-Object Protocol (IIOP)</title>
87
<p>IIOP is a communication protocol developed by the OMG to
88
facilitate communication in a distributed object-oriented
91
<p>Figure 2 below demonstrates how IIOP works between objects:</p>
92
<marker id="iiop"></marker>
95
Figure 2: IIOP communication between domains and objects.</icaption>
98
<p>Within the Orber domains the objects communicate without
99
using the IIOP. However, the user is unaware of the difference in protocols, as this difference is not visible. </p>