Professional Documents
Culture Documents
• Terminology
• OmniORB
• Object Request Broker
• Portable Object Adapter
• POA Policies
• POA States
• Transient / Persistent Objects
• Feature
Terminology
omniORB
is a robust high performance CORBA ORB for
C++ and Python.
3
21
OmniORB
IIOP
The native transport is IIOP (Internet Inter-ORB
Protocol), and it comes complete with a COS
Naming Service.
4
21
Object Request Broker
5
21
Object Request Broker
Responsible for
connection management
operation invocation
marshalling
6
21
Object Request Broker
e.g. IOR:010000001900000049444c3a5475746f7
269616c2f4578616d706c653a312e30000000000
100000000000000480000000101020007000000
6d79686f73740000d20400001c00000057617320
697420776f72746820747970696e672074686973
20696e3f01000000000000000800000001000000
00545441
7
21
Object Request Broker
8
21
Object Request Broker
Client Side
Client receives an object reference, either
from an ORB function, or a call to another
object and invokes operations on the object.
9
21
Object Request Broker
Server Side
Objects must be registered with an object
adapter.
CORBA originally specified the BOA — Basic
Object Adapter.
Too loosely specified for server code to be
portable between ORBs.
POA — Portable Object Adapter
Server code is portable between ORBs.
10 Specifies a very wide range of facilities.
21
Portable Object Adapter
11
21
Portable Object Adapter
12
21
POA Policies
13
21
POA States
Transient objects
do not exist past the life of the server process
good for callbacks, session management, etc
15
21
Transient / Persistent Objects
Persistent objects
16
21
Feature
17
21
Feature
18
21
Feature
DynAny is supported.
19
21
Feature
20
21
Feature
21
21
IDL compiler
02 and Naming
• The Echo Object Example
• Generating the Python stubs
• Setting up your environment
• Naming
• Data file
• Starting omniNames
The Echo Object Example
2
11
The Echo Object Example
interface Echo {
string echoString (in string mesg);
};
3
11
Generating the Python stubs
Path=C:\omniORBpy-4.2.1\bin\x86_win32
PYTHONPATH=C:\omniORBpy 4.2.1\lib\python;
C:\omniORBpy-4.2.1\lib\x86_win32
5
11
Naming
omniNames is omniORB’s implementation of
the OMG’s COS Naming Service Specification.
6
11
Naming
The Naming Service stores a set of bindings of
names to objects.
7
11
Naming
There is a ‘root’ context at which name lookups
usually start.
8
11
Naming
9
11
Data file
omniNames persists its contents in a data file.
OmniNames –start
11
11
Configuration and
Implementation of
03 OmniORB