/*
 *
 * DISCLAIMER OF WARRANTIES.
 * The following [enclosed] code is sample code created by IBM
 * Corporation. This sample code is not part of any standard or IBM
 * product and is provided to you solely for the purpose of assisting
 * you in the development of your applications.  The code is provided
 * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
 * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
 * THIS CODE.  IBM shall not be liable for any damages arising out of
 * your use of the sample code, even if they have been advised of the
 * possibility of such damages.
 *
 * DISTRIBUTION.
 * This sample code can be freely distributed, copied, altered, and
 * incorporated into other software, provided that it bears the above
 * Copyright notice and DISCLAIMER intact.
 */


This directory contains the source for a simple generic server which uses
the SOM Object Adapter to automatically load class libraries and execute
requests on objects instantiated in the server.  The server will loop
forever processing requests from clients.  The directory also contains a
sample client program that uses static bindings to invoke methods on
remote objects.  The client program creates and initializes several
remote animals, invokes remote methods on the objects as directed by
user input, and destroys the local proxy objects and remote animal
objects when the program is terminated.

NOTE:  Please review the README in %SOMBASE%\samples\somd\cpp for general
       information on setting up and running DSOM samples.  This
       README assumes that information.

BUILDING THE SAMPLE
-------------------

The makefile in this directory will build a server executable, a client
executable and a dynamically loadable library.  They are:

 - testsvr.exe (the generic server)

 - anitest.exe (the DSOM client application)

 - danimal.dll (the library loaded by testsvr)

To build the sample:

 - Microsoft users enter "nmake -f makefile.msc".

To clean up the directory and implementation repository after running
the samples:

 - Microsoft users enter "nmake -f makefile.msc clean".

RUNNING THE SAMPLE
------------------

Remember that the DSOM daemon, "somdd", must be started from this
directory before executing the sample.  (See the README in
%SOMBASE%\samples\somd for information on running somdd.)

The server may be started in two ways.  You may start the server
yourself by invoking "testsvr -a aniServer2".  ("aniServer2" is the
server's alias name used by the makefile when registering the server in
the Implementation Repository using the "regimpl" registration utility.)
The other option is to allow somdd to automatically start the server
when the client program, anitest, is started.

To run the sample, execute the "anitest" program.  (There will be a
slight delay before the applications's window appears, during which
the client and server are initialized and the remote objects are created.)

