summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/Naming_Service/README
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/Naming_Service/README')
-rw-r--r--TAO/orbsvcs/Naming_Service/README256
1 files changed, 0 insertions, 256 deletions
diff --git a/TAO/orbsvcs/Naming_Service/README b/TAO/orbsvcs/Naming_Service/README
deleted file mode 100644
index 595fe1d003a..00000000000
--- a/TAO/orbsvcs/Naming_Service/README
+++ /dev/null
@@ -1,256 +0,0 @@
-// $Id$
-
-This directory contains files that implement a server for the TAO
-Naming Service. In addition, it contains files that run the TAO
-Naming Service as a Windows NT Service. Both of these services are
-described below.
-
-How to Run the TAO Naming Service
-=================================
-
-1. Syntax
-
- % Naming_Server [-ORBNameServicePort nsport]
- [-o ior_output_file]
- [-p pid_file_name]
- [-s context_size]
- [-t time]
- [-f persitence_file_name]
-
-2. Optional Command-line Arguments
-
- -ORBNameServicePort nsport
- Multicast port for listening for requests from clients
- trying to bootstrap to a Naming Service through the
- use of multicast.
-
- -o ior_output_file
- The name of the file, in which to store the IOR of the
- root Naming Service context.
-
- -p pid_file_name
- The name of the file, in which to store the process id
- of the Naming Service server.
-
- -s context_size
- Size of the hash table allocated for the root Naming
- Context (if one is created). All contexts created
- under the root will use the same size for their hash
- tables. The default is 1024.
-
- -t time
- How long (in seconds) the server should listen for
- client requests before terminating.
-
- -f persistence_file_name
- The name of the file to use to store/retrieve
- persistent state of the Naming Service. Without this
- option, Naming Service is started in non-persistent
- mode.
-
-3. Environment Variables
-
- NameServicePort
- Multicast port for listening for requests from clients
- trying to bootstrap to a Naming Service through the
- use of multicast.
-
-4. Persistence
-
- TAO Naming Service has an optional persistence capability. By
- default, the Naming Service is started in a non-persistent
- mode. Supplying "-f" command-line option to the server causes
- a persistent version of the Naming Service to run.
-
- The file specified with the "-f" option is used to store the
- persistent state of the Naming Service, i.e., all Naming
- Contexts and their bindings. When "-f" option is specified:
-
- 1. If the specified file does not exist, it is created and
- used to store the state of the Naming Service. An initial
- (root) Naming Context is also created.
-
- 2. If the specified file exists, it is scanned and:
-
- a) If any inconsistency is detected in the stored
- state, or the file is not recognized by the Naming
- Service, the server exits. (This may happen, for
- example, if a server or host crashed in the middle of
- writing a record to this file on a previous run). A
- noncorrupted version of the file must be used instead.
-
- b) If the file is recognized and is ok, the state
- stored in the file becomes the current state of the
- Naming Service.
-
-5. Implementation Policies
-
- a. Destroying Binding Iterators
-
- A binding iterator is destroyed when client invokes
- <destroy> operation either on the iterator itself or
- on the naming context it is iterating over. In both
- cases, subsequent calls on the binding iterator object
- will cause OBJECT_NOT_EXIST exception.
-
- b. Dealing with orphaned contexts
-
- This implementation of the Naming Service does not
- include any form of 'garbage collection' for orphaned
- naming contexts. It is solely the responsibility of
- clients to clean up after themselves and not leak
- server resources. All the resources, including
- orphaned contexts, are released during the Naming
- Server shutdown.
-
-6. Clients: ways to bootstrap to the Naming Service:
-
- There are several methods for a client to bootstrap to a
- Naming Service, i.e., there are several mechanisms
- <resolve_initial_references> can use when asked for
- "NameService".
-
- 1. Multicast
-
- By default (unless other options are specified - see
- items 2 and 3 below), ip multicast is used to locate a
- Naming Service. TAO Naming Server is listening for
- client multicast requests on a specified port. On the
- client side, <resolve_initial_references> sends out a
- multicast request on the network, trying to locate a
- Naming Service. When a Naming Server receives a
- multicast request from a client, it replies to the
- sender with the ior of its root Naming Context. Note,
- the port used for this bootstrapping process, i.e.,
- 'multicast port', has nothing to do with the ORB port
- used for CORBA communication. Other points worth
- mentioning:
-
- - A client and a server will only click through this
- multicast protocol if they are using the same
- multicast port. For both client and server
- -ORBnameserviceport command-line option and
- NameServicePort environment variable can be used to
- specify the multicast port to use. If none is
- specified, the default port is used. (The ability
- to specify multicast ports can be used to match
- certain clients with certain Naming Servers, when
- there are more than one Naming Server running on the
- network).
-
- - If there are several Naming Servers running on the
- network, each listening on the same port for
- multicast requests, each will send a reply to a
- client's request. The client's orb will use the
- first response it receives, so the Naming Service
- will, in fact, be selected at random.
-
- Since this mechanism is proprietary to TAO (i.e.,
- non-standard), it only works when both client and
- server are written using TAO. There is no way to turn
- multicasting off, but it is used only as a last
- resort, i.e., any of the options below will override
- it.
-
- When OS platform doesn't support multicast, or client
- or server isn't written using TAO, or a more reliable
- location method is desired, etc., one of the options
- below can be used to bootstrap to the Naming Service.
-
- 2. Command-line options
-
- The -ORBNameServiceIOR or environment variable
- NameServiceIOR can be used on the client side to
- specify the object that the call to
- <resolve_initial_references> should return to the
- client. (On the server side, -o option can be used to
- get the ior).
-
- Example (Unix, same host):
-
- % TAO_ROOT/orbsvcs/Naming_Service -o ior_file
- % my_client -ORBnameserviceior file://ior_file
-
- On the first line, we start the Naming
- Service, and output its ior to <ior_file>. On
- the second line, we start some client, and
- specify the ior <resolve_initial_references>
- should return for the Naming Service in a file
- format.
-
- 3. Interoperable Naming Service.
-
- TAO implements the standard CORBA Interoperable Naming
- Service (ING). Therefore, most initialization options
- provided by INS can be used to bootstrap to the Naming
- Service (see TAO's releasenotes for the status of INS
- implementation).
-
-How to use the NT_Naming_Service
-================================
-
-1. Syntax
-
- % NT_Naming_Server [-i value]
- [-r]
- [-s]
- [-k]
- [-t n]
- [-d]
-
-2. Optional Command-line Arguments
-
- -i value
- Install this program as an NT service, with specified startup
-
- -r
- Remove this program from the Service Manager
- -s
- Start the service
-
- -k
- Kill the service
-
- -t value
- Set startup for an existing service
-
- -d
- Debug; run as a regular application
-
-3. Usage
-
- To see different stages of an NT service application, you have
- to run the program several times, with different options.
- Please note: run with only one option at a time.
-
- a. First, you must initialize the service in the NT SCM
- database. Run NT_Naming_Service with -in, where n is one of
- the following startup options:
-
- // Start Type (from WinNT.h)
- //
- #define SERVICE_SYSTEM_START 0x00000001
- #define SERVICE_AUTO_START 0x00000002
- #define SERVICE_DEMAND_START 0x00000003
- #define SERVICE_DISABLED 0x00000004
-
- If only -i is specified, SERVICE_AUTO_START is default option.
-
- b. Now you are ready to run the actual service. Run
- NT_Naming_Service again, this time with -s option. If the
- service starts successfully, it will ring the system
- bell every second or so until the service is stopped.
-
- c. To stop service execution, run NT_Naming_Service with the
- -k option.
-
- d. To remove the service from the Service Control Manager
- database, run NT_Naming_Service with -r.
-
- In addition, once you have initialized this service (by using
- the -i option) you can change its startup type to one of the
- other values above. To do this, run NT_Naming_Service with
- -tn option. n is as explained above for -i.
-
- In order to debug the service's execution itself, use the -d
- option.