\begindata{text,539404080}
\textdsversion{12}
\template{default}
\define{global
}
\chapter{1	Using AMS User Interfaces from Non-Unix Clients}


The Andrew Message System is designed so that users can access it from a wide 
variety of machines and interfaces.  To achieve this goal, the functions 
involved in message reading and sending are divided into two parts: the user 
program (or AMS client), and a database access program (or message server). 
 This seperation of functions makes it possible for AMS user programs to run 
on one machine while the message server runs on another machine.  It also 
makes it possible for AMS user programs to run on non-unix machines such as 
the IBM-PC.


When the AMS client is run seperately from the message server, the client 
communicates with the message server using SNAP: the Simple Network Access 
Protocol.   Therefore, the snap libraries must be available to both the AMS 
client and the message server.  AMS Clients that use SNAP are called snapified 
clients.


When a snapified AMS client is run on a unix machine, the messageserver may 
run on the same machine, or it may run on a different machine.  When a 
snapified AMS client is run from a non-unix machine the server must run on a 
different machine from the client.  The AMS client (user program) runs on the 
non-unix machine.  In turn, the AMS client communicates with the message 
server, which runs on a unix machine.  If your site is an AFS cell, the 
machine that runs the message server is an AFS client; otherwise, the machine 
may be either mainframe unix computer, or a distributed computing client 
machine.


Because the client is seperate from the server, a daemon, known as Guardian, 
is used to connect the client with the server.   When a user starts a 
snapified client, the client initializes the CUI library on the local machine, 
and then attempts to establish a connection with a server.  When this happens, 
the CUI library contacts the guardian daemon on the host where the message 
server is running.  Guardian verifies that the user is allowed to access the 
messages database (in an AFS cell guardian attempts to authenticate the user) 
and connects the client to the server.


Guardian is a multi-purpose client/server daemon; while its primary use is to 
connect AMS clients with AMS servers, it can be used to connect other types of 
clients with other types of servers.  Several of these servers are included in 
the Andrew distribution.


\section{1.1	Clients That Use Guardian}


Snapified AMS clients are the primary users of guardian.  There are three AMS 
user interfaces available from the Andrew software distribution: 
\typewriter{CUI}, the Common User Interface;\typewriter{ VUI}, the Visual User 
Interface; and\typewriter{ messages}, the ATK user interface.  Each of these 
clients can be built either as a non-snapified client , i.e. a client that has 
the messageserver built in, or as a snapified client.  Both types of clients 
are built from the same sources, but the snapified clients can only be built 
if the snap environment is defined in the andrew environment include file 
\typewriter{andyenv.h}.

\indent{
}In addition to the AMS clients, two non-AMS client programs are included in 
this distribution.  Because these clients are not AMS clients, they do not 
depend on the snap environment being defined for your system.


\indent{\typewriter{loadav} - This client asks a server (loadserv) for a load 
and usage report for each machine in a pool of monitored machines.  Users can 
use this client to determine which machine in the monitored pool is the least 
loaded. 


\typewriter{pcclient} - This client is used to test the pcserver software from 
a unix machine.

}
\section{1.2	Available Servers}


Every client program that uses guardian must have a cooresponding server.  The 
following servers are available with this distribution:


\indent{\typewriter{messageserver} - This server is the database access 
program for AMS clients.


\typewriter{loadserv} - This is the load average server that communicates with 
the loadav client.    Loadserv monitors the load on a pool of host machines 
and reports its results when queried by loadav.  


\typewriter{pcserver} - This is the server for pcclient.   The pcserver allows 
IBM-PC users to access files on the host system from the msdos environment. 
 Directories on the host system are represented as drives on the PC; files in 
the directory can be manipulated as though they were located on a PC disk.  


\typewriter{bioya} - This is a test server that allows programmers to test and 
debug guardian.

}




\begindata{bp,537558784}
\enddata{bp,537558784}
\view{bpv,537558784,1449,0,0}
Copyright 1992 Carnegie Mellon University and IBM.  All rights reserved.

\smaller{\smaller{$Disclaimer: 

Permission to use, copy, modify, and distribute this software and its 

documentation for any purpose is hereby granted without fee, 

provided that the above copyright notice appear in all copies and that 

both that copyright notice, this permission notice, and the following 

disclaimer appear in supporting documentation, and that the names of 

IBM, Carnegie Mellon University, and other copyright holders, not be 

used in advertising or publicity pertaining to distribution of the software 

without specific, written prior permission.



IBM, CARNEGIE MELLON UNIVERSITY, AND THE OTHER COPYRIGHT HOLDERS 

DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 

ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.  IN NO EVENT 

SHALL IBM, CARNEGIE MELLON UNIVERSITY, OR ANY OTHER COPYRIGHT HOLDER 

BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY 

DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 

WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS 

ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 

OF THIS SOFTWARE.

 $

}}\enddata{text,539404080}
