orbd(1)                    OpenBSD Reference Manual                    orbd(1)



NAME
       orbd - The Object Request Broker Daemon

          orbd is used to enable clients to transparently locate and invoke
          persistent objects on servers in the CORBA environment.

          See also: Naming Service

SYNOPSIS
       orbd <options>


DESCRIPTION
       The Server Manager included with the orbd tool is used to enable
       clients to transparently locate and invoke persistent objects on
       servers in the CORBA environment. The persistent servers, while
       publishing the persistent object references in the Naming Service,
       include the port number of the ORBD in the object reference instead of
       the port number of the Server. The inclusion of an ORBD port number in
       the object reference for persistent object references has the following
       advantages:

          o The object reference in the Naming Service remains independent of
            the server life cycle. For example, the object reference could be
            published by the server in the Naming Service when it is first
            installed, and then, independent of how many times the server is
            started or shutdown, the ORBD will always return the correct
            object reference to the invoking client.

          o The client needs to lookup the object reference in the Naming
            Service only once, and can keep re-using this reference
            independent of the changes introduced due to server life cycle.


       To access ORBD's Server Manager, the server must be started using
       servertool, which is a command-line interface for application
       programmers to register, unregister, startup, and shutdown a persistent
       server. For more information on the Server Manager, see the section in
       this document titled Server Manager.

       When orbd starts up, it also starts a naming service. For more
       information on the naming service, link to Naming Service.

OPTIONS
   Required Options
          -ORBInitialPort nameserverport
             Specifies the port on which the name server should be started.
             Once started, orbd will listen for incoming requests on this
             port. Note that when using Solaris software, you must become root
             to start a process on a port under 1024. For this reason, we
             recommend that you use a port number greater than or equal to
             1024. (required)


   OTHER OPTIONS
          -port port
             Specifies the activation port where ORBD should be started, and
             where ORBD will be accepting requests for persistent objects. The
             default value for this port is 1049. This port number is added to
             the port field of the persistent Interoperable Object References
             (IOR). (optional)


          -defaultdb directory
             Specifies the base where the ORBD persistent storage directory
             orb.db is created. If this option is not specified, the default
             value is "./orb.db". (optional)


          -serverPollingTime milliseconds
             Specifies how often ORBD checks for the health of persistent
             servers registered via servertool. The default value is 1,000 ms.
             The value specified for milliseconds must be a valid positive
             integer. (optional)


          -serverStartupDelay milliseconds
             Specifies how long ORBD waits before sending a location forward
             exception after a persistent server that is registered via
             servertool is restarted. The default value is 1,000 ms. The value
             specified for milliseconds must be a valid positive integer.
             (optional)


          -Joption
             Pass option to the Java virtual machine, where option is one of
             the options described on the reference page for the java
             application launcher. For example, -J-Xms48m sets the startup
             memory to 48 megabytes. It is a common convention for -J to pass
             options to the underlying virtual machine.




       Starting and Stopping the Naming Service

       A Naming Service is a CORBA service that allows CORBA objects to be
       named by means of binding a name to an object reference. The name
       binding may be stored in the naming service, and a client may supply
       the name to obtain the desired object reference.

       Prior to running a client or a server, you will start ORBD. ORBD
       includes a persistent Naming Service and a transient Naming Service,
       both of which are an implementation of the COS Naming Service.

       The Persistent Naming Service provides persistence for naming contexts.
       This means that this information is persistent across service shutdowns
       and startups, and is recoverable in the event of a service failure. If
       ORBD is restarted, the Persistent Naming Service will restore the
       naming context graph, so that the binding of all clients' and servers'
       names remains intact (persistent).



       For backward compatibility, tnameserv, a Transient Naming Service
       shipped with older versions of the JDK, is also included in this
       release of J2SE. A transient naming service retains naming contexts as
       long as it is running. If there is a service interruption, the naming
       context graph is lost.

       The -ORBInitialPort argument is a required command-line argument for
       orbd, and is used to set the port number on which the Naming Service
       will run. The following instructions assume you can use port 1050 for
       the Java IDL Object Request Broker Daemon. When using Solaris software,
       you must become root to start a process on a port under 1024. For this
       reason, we recommend that you use a port number greater than or equal
       to 1024. You can substitute a different port if necessary.

       To start orbd from a UNIX command shell, enter:

         orbd -ORBInitialPort 1050&


       From an MS-DOS system prompt (Windows), enter:

         start orbd -ORBInitialPort 1050


       Now that ORBD is running, you can run your server and client
       applications. When running the client and server applications, they
       must be made aware of the port number (and machine name, if applicable)
       where the Naming Service is running. One way to do this is to add the
       following code to your application:

               Properties props = new Properties();
               props.put("org.omg.CORBA.ORBInitialPort", "1050");
               props.put("org.omg.CORBA.ORBInitialHost", "MyHost");
               ORB orb = ORB.init(args, props);


       In this example, the Naming Service is running on port 1050 on host
       "MyHost". Another way is to specify the port number and/or machine name
       when running the server or client application from the command line.
       For example, you would start your "HelloApplication" with the following
       command line:

            java HelloApplication -ORBInitialPort 1050 -ORBInitialHost MyHost


       To stop the naming service, use the relevant operating system command,
       such as pkill orbd on Solaris, or Ctrl+C in the DOS window in which
       orbd is running. Note that names registered with the naming service may
       disappear when the service is terminated if the naming service is
       transient. The Java IDL naming service will run until it is explicitly
       stopped.

       For more information on the Naming Service included with ORBD, see
       Naming Service.

Server Manager
       To access ORBD's Server Manager and run a persistent server, the server
       must be started using servertool, which is a command-line interface for
       application programmers to register, unregister, startup, and shutdown
       a persistent server. When a server is started using servertool, it must
       be started on the same host and port on which orbd is executing. If the
       server is run on a different port, the information stored in the
       database for local contexts will be invalid and the service will not
       work properly.

   Server Manager: an Example
       Using the sample tutorial for our demonstration, you would run the idlj
       compiler and javac compiler as shown in the tutorial. To run the Server
       Manager, follow these steps for running the application:

       Start orbd.

       To start orbd from a UNIX command shell, enter:



         orbd -ORBInitialPort 1050


       From an MS-DOS system prompt (Windows), enter:

         start orbd -ORBInitialPort 1050


       Note that 1050 is the port on which you want the name server to run.
       -ORBInitialPort is a required command-line argument. When using Solaris
       software, you must become root to start a process on a port under 1024.
       For this reason, we recommend that you use a port number greater than
       or equal to 1024.

       Start the servertool:

       To start the Hello server, enter:

         servertool -ORBInitialPort 1050


       Make sure the name server (orbd) port is the same as in the previous
       step, for example, -ORBInitialPort 1050. The servertool must be started
       on the same port as the name server.

       The servertool command line interface appears.

       Start the Hello server from the servertool prompt:

         servertool  > register -server HelloServer -classpath . -applicationName
                       HelloServerApName


       The servertool registers the server, assigns it the name of
       "HelloServerApName", and displays its server id, along with a listing
       of all registered servers.

       Run the client application from another terminal window or prompt:



         java HelloClient -ORBInitialPort 1050 -ORBInitialHost localhost


       For this example, you can omit -ORBInitialHost localhost since the name
       server is running on the same host as the Hello client. If the name
       server is running on a different host, use -ORBInitialHost
       nameserverhost to specify the host on which the IDL name server is
       running.

       Specify the name server (orbd) port as done in the previous step, for
       example, -ORBInitialPort 1050.





       When you have finished experimenting with the Server Manager, be sure
       to shut down or kill the name server (orbd) and servertool.

       To shut down orbd from a DOS prompt, select the window that is running
       the server and enter Ctrl+C to shut it down. To shut down orbdfrom a
       Unix shell, find the process, and kill it. The server will continue to
       wait for invocations until it is explicitly stopped.

       To shut down the servertool, type quit and press the Enter key on the
       keyboard.

See Also
          o Naming Service

          o servertool


                                  07 Aug 2006                          orbd(1)
