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