Distributed Data Management System Using Client-Server Technology
Senior Project: 1991-1992
The STORM Program is a multi-year, multi-agency national research program
designed to improve the understanding and prediction of severe weather. To
manage and provide access to data pertinent to the project, STORM includes a
comprehensive data management element. The STORM Project Office, in conjunction
with NOAA's Environment Research Laboratories, developed some components of a
prototype distributed data management system to support the program. These
components included an interactive data catalog, on-line inventories of
meteorological data, a metadata management system, and an interactive data
access system. The system provided an intuitive menu and form-based interface
suitable for computer-literate scientists. While it provided state-of-the-art
capabilities such as mouse-driven selection and on-line, context-sensitive
help, it suffered from the limitations inherent in its technical approach, in
which users used their PCs merely as terminals connected to a host machine.
This approach made no use of the interactive graphical capabilities of the PCs,
and at the same time overloaded the host with the processing required to
provide the user interface for every client.
The goal of the project was to improve upon this prototype through the
incorporation of client-server technology. The user's local machine (a PC) was
to be responsible for all interaction with the user and would generate requests
for data held on various remote machines. These requests (translated into SQL)
are transmitted to the remote server, which then performs selection, retrieval,
and reorganization of the data and transmits the results back to the user. The
user can then analyze and display the data on the local machine.
The software provides a form-driven graphical window interface to allow
computer-literate scientists to use the system without training or references
to a user's manual. It includes software to generate the appropriate SQL
commands, communication software to transmit the commands to and receive data
from a remote database server, and special server software to interpret the
selection commands, retrieve the data, and transmit it back to the user for
analysis. The client software was written in C++ on PCs and uses Microsoft
Windows. The server software was written in C and runs under the UNIX operating
system.
|