CORBA 2.3.3 Programmer's Guide for C++
Comm Server receives and relays reply (flows 9 and 10 in the figure).●
Client ORB processes reply.●
The client is now ready to execute methods against the root naming context.
The following sections describe each of the above events in more detail:
Naming Service Calls ORB_init (flow 1 in the figure)
When the Naming Service calls ORB_init, the NS@ORB entity is read. The ORB sets up a GIOP server component for the configured server
transport protocols. These are an indirect tcp_server (that is, a server using a Comm Server), an fs_server, and a tsmp_server. The
NonStop CORBA subsystem at this point could be viewed as in Figure A-5.
Figure A.5. CORBA Process Run-Time Environment
Naming Service Creates and Publishes Root Naming Context IOR URL (flow 2 in the figure)
The Naming Service takes the following actions:
Creates a naming context POA with a state policy of stateless.●
Creates a servant reference (this is an abstract reference).●
Creates the IOR URL. The information created is stored in the IOR.
IOR = object_to_string(servant).●
Tsmp profile contains pathmon:server_class.●
IIOP profile contains lsd1@actual_tcp_address.●
Object key contains stateless, tsmp relay profile.●
●
Writes the URL to $NSD_ROOT/urls/NameService.●
Network Client Imports IOR (flow 3 in the figure)
At this point the IOR URL must be moved physically to the client, using either FTP, email, the Console, or some other mechanism. Once the client
receives the URL, it
Reads the IOR file into URL_string.●
Executes object = string_to_object( URL_string ).●
Demarshals the stringified reference, skipping over any proprietary profiles.●
The result of these actions is a CORBA::Object. Note that there are other ways the result could be achieved (using