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

Subsections
 

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

This tutorial is not intended to be  

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 several 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 with remote procedure calls (RPCs).

 

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, it does not demonstrate

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 examples/vas/grid sub-directory of the distribution.

The rest of this tutorial is organized as follows. The following two sections present the storage structures and operations on them. The next two sections discuss how to implement servers and clients. The final two sections explain how to compile and run the example. An Appendix contains a listing of the code.


next up previous contents
Next: Storage Structure Organization Up: Writing Value-Added Servers with Manager Previous: Contents
This page was generated from LaTeX sources
10/27/1997