next up previous contents
Next: Storage Structure Organization Up: Writing Value-Added Servers with Previous: Contents

 

Introduction

This tutorial explains, through the use of an example client-server system, how to write a value-added server (VAS) and client programs using the Shore Storage Manager (SSM) programming interface.

 

Goals

 

What this Tutorial Is

This tutorial illustrates many aspects of writing a VAS, including

 

What this Tutorial Is Not

 

The Example System

The example used throughout this tutorial is a client-server system, called grid, that illustrates many aspects of building a value-added server and a corresponding client.

 

What the Grid VAS and Grid Client Do

The grid example is a simple client-server database system for items located on a 2-dimensional grid. Items have a string name and coordinates on the grid. Multiple items can reside at any location, but each item has a unique name.

The server uses the SSM to manage the grid database. The server implements a number of update and query commands. Update commands on the grid include adding items, removing items and clearing the grid (removing all items). Query commands on the grid including printing the entire grid, looking up items by name, and locating all items within a rectangular region of the grid. There are also commands for committing and aborting transactions. The server accepts commands from standard input and processes remote procedure calls (RPCs) from multiple clients.

The client accepts commands from standard input and sends them to the server, via remote procedure calls (RPCs) for processing.

 

What the Grid Example Demonstrates

 

What the Grid Example Does Not Demonstrate

This example does not demonstrate all of the features of the SSM. In particular:

Most of the unused features are used in the Shore VAS (see src/vas) and the Paradise database system (see http://www.cs.wisc.edu/paradise/). Almost every feature is also tested by the SSM testing program, ssh, located in src/sm/ssh.

 

Tutorial Organization

This tutorial walks through the example program sources in detail. The sources, as well as associated test programs and data, may be found in the src/examples/vas/grid sub-directory of the distribution.

Throughout this tutorial, we will assume (as does the Shore Software Installation Manual) that the environment variable $SHROOT contains the absolute path name of the root directory of the installed Shore software.

The rest of this tutorial is organized as follows. First, there are two sections discussing storage structures and operations on them. Next are sections explaining how to implement servers and clients. Finally there are sections describing how to compile and run the example.



next up previous contents
Next: Storage Structure Organization Up: Writing Value-Added Servers with Previous: Contents



Marvin Solomon
Fri Aug 2 13:40:14 CDT 1996