#   10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994,1996
#   All Rights Reserved
#   Licensed Materials - Property of IBM
#   US Government Users Restricted Rights - Use, duplication or
#   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

 **************************************************************************
 * 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.
 *************************************************************************

ANIMAL

   DESCRIPTION:
      This sample displays attributes of animals via a graphical user 
      interface.

   CONCEPT/FEATURE:
      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.



    HOW TO RUN THE SAMPLE FROM THE COMMAND LINE:
      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:
        "nmake -f vac.mak all".

       To clean the sample:
        "nmake -f vac.mak clean".


       RUNNING THE SAMPLE
       ------------------
         Kill "somdd" if it is already running.
         Execute "run.bat" to run the sample. It will start "somdd" and
         run the sample "anitest.exe".

         You may also wish to run the samples manually. First, remember
         that the DSOM daemon, "somdd", must be started from this
         directory before executing the sample.  (See the readme.txt in
         %SOMBASE%\samples\somd for information on running somdd.)

         To run the sample, execute "anitest".  (There will be a
         slight delay before the application's window appears, during which
         the client and server are initialized and the remote objects are 
         created.) somdd will automatically start the server when the
         client program, "anitest" is started.
         
         Alternatively, 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.)  After the server is started, run "anitest".


   HOW TO RUN THE PROJECT FROM WITHIN THE WORKFRAME ENVIRONMENT
    -Open the project "animal.iwp" in the sample directory.
    -Kill "somdd" if it is already running.
    -To make the project:
        from the "Project" menu, select "Make",
        or from the pop-up menu for the icon "vac.mak", select "Make"
    -Click the "Run" icon to run the sample. 
    -From the command line or Project Monitor, "nmake -f vac.mak clean" 
     to cleanup.

   VisualAge for C++ SAMPLES INFORMATION:
     A complete listing of samples shipped with the VisualAge for C++
     product can be found in the online GUIDE TO SAMPLES.  To access
     this notebook, simply:

     -  Open the VisualAge for C++ program group in the Program
        Manager window, then
     -  Open the GUIDE TO SAMPLES notebook in the program group.

