![]() |
Overview Describes a logical server as registered in the Implementation Repository. File name impldef.h Supported operations ImplementationDef::get_alias ImplementationDef::get_id
Intended Usage
CORBA::ImplementationDef objects represent logical server applications. They are stored persistently in the Implementation Repository, represented programmatically by the CORBA::ImplRepository class. ImplementationDef objects are stored and updated in the Implementation Repository as servers are registered, unregistered, or changed. Typically this administration of the Implementation Repository is done using the product tools, but it can also be done programmatically (using the ImplementationDef and ImplRepository classes).
The CORBA::ImplementationDef class is used in the following ways:
- By the somorbd daemon, to find and activate servers;
- By server applications, to initialize themselves (the BOA::impl_is_ready and BOA::deactivate_impl methods require an ImplementationDef parameter);
- By applications written to programmatically query or update the contents of the Implementation Repository (typically this is done using the product tools);
- By client applications, to discover information about servers with which they are communicating, using the CORBA::Object::_get_implementation method.
ImplementationDef objects contain the following data to describe registered servers:
- Server ID (a UUID that uniquely identifies the server throughout a network and is used as a key into the Implementation Repository),
- Server alias (a user-friendly, administrator-defined name that uniquely identifies the server on a given machine, but not necessarily throughout the network, and can be used as a key into the Implementation Repository),
- Server program name (the executable that implements the logical server, which the somorbd daemon starts to activate the server on demand; this need not be a fully-qualified pathname, and needn't be unique to a particular server),
- The communication protocol(s) that the server supports (e.g., SOMD_TCPIP, SOMD_IPC),
- The key to the server's configuration data, if different from the somorbd daemon's (set by the somorbd daemon before starting the server),
- Flag bits, defined and used by the ORB.
In addition, applications can store arbitrary name/value pairs in ImplementationDef objects; these values can be used by the application to control server behavior.
Types
typedef sequence<nameValue> seq_nameValue; typedef sequence<string> seq_string; struct nameValue { string name; string value; };
Related reference... | |
Parent: CORBA module in Object Request Broker | |
ImplementationDef::get_alias | |
ImplementationDef::get_id | |