+ Page 44 + ----------------------------------------------------------------- Parker, Bo. "An Overview of SPIRES and the SPIRES Consortium." The Public-Access Computer Systems Review 1, No. 3 (1990): 44-50. ----------------------------------------------------------------- 1.0 Introduction SPIRES is the Stanford Public Information REtrieval System, a sophisticated information retrieval and database management system. It has been used at Stanford and over forty other research centers and academic institutions within the SPIRES Consortium for more than 15 years. Applications that have been written in SPIRES range from library catalogs to electronic messaging systems. It is the principle database management system in use on the central computer system at Stanford for research, instruction, and administration. 2.0 The SPIRES Consortium Written and developed initially at Stanford University, SPIRES has subsequently been licensed for use at over 40 other university, research, and government institutions. Together with Stanford, these institutions comprise the SPIRES Consortium, a non-profit association created expressly for the maintenance and development of the SPIRES software, consulting and installation support, user forums, and training and instruction. Membership in the Consortium provides access to SPIRES--a tool comparable in power to database management systems costing over 10 times more than the membership fee--and access to shared applications from the members. Sharing is one of the great success stories in the Consortium. For example, Memorial University of Newfoundland is in the final stages of creating an integrated library system, which incorporates modules borrowed from Stanford University, Princeton University, and Rensselaer Polytechnic Institute. Memorial was up and running with an online catalog only six months after joining the Consortium. A circulation module obtained from RPI was added later; the modular nature of SPIRES made it easy for Memorial to modify the OPAC to include circulation information. + Page 45 + 3.0 Capabilities of the SPIRES Software SPIRES is a general-purpose DBMS. You may create flat files, hierarchical files, relational, or network files. You may retrieve information sequentially, or through an index. You may store information in any form, and enter or display it in a different form. SPIRES is flexible. You may build into your files the restrictions that different groups of users must follow. You may define many different views (schemas) for your files, either for convenience or security. The users of your files may change or refine their view of the file at their convenience, within the bounds of the restrictions you place on the file. SPIRES is integrated. You define and create your database interactively, without intervention from a database administrator. You define the user views and user dialogs for your files through SPIRES, not through COBOL or PL/I programs. You create sophisticated reports from any of your files with the SPIRES report writer, and refine them interactively. You set up a full-screen dialog for data input and inquiry with the SPIRES screen definer. 4.0 Creating Databases Using SPIRES A file definition describes each SPIRES file. The definition divides the database into different logical record types, and names the elements in each record. (An element to SPIRES is a field in a record to other systems.) Elements are known by their names to SPIRES, not by position or cryptic mnemonic. The definition for each element also includes its relationship with other elements; the encoding, decoding, and validation to be performed on its contents; and any restrictions on who may see, search, and update the element. This sort of record is called a goal record, since it is often the goal of a search. + Page 46 + You can also use SPIRES to define index records. These records have the same general form as goal records, but contain information that SPIRES extracts from elements in the goal record that you have designated. SPIRES can use these records to locate goal records very efficiently, usually with as few as five records read from disk to retrieve a goal record from a seven million record file. Moreover, since index records have the same form as goal records, you can treat them as such, and examine and manipulate data in them. An index record can even be another goal record in the file, allowing you to build relationships between different files. SPIRES can set up simple databases with little more information than the names of the elements. You can exercise complete control over the level of detail contained in the file definition. You need only learn as much of it as you need to fit the complexity of your application. The entire process is interactive; you can define, test, refine, and implement a simple database in less than an hour. Once your database is loaded, you can still make many changes to it. You can add additional elements, change or add validation rules, or add or remove indices, all without reloading the data. 5.0 Entry and Display of Information You control the entry and display of information in SPIRES with the FORMATS language. Formats give you flexible control over the form of your input and output, and are used to provide or enforce different user views of your file. Some sophisticated "system formats" can be used with any file to give you this flexibility, with little or no time invested in design and implementation. Some examples are the SPIRES report writer, the prompting input format, and the screen definer. Your input can be in SPIRES standard format, columnar format, or free form. Your input may come from disk or tape files, from a line-by-line prompt at your terminal, or from a full-screen menu on a display terminal. Special tools are available for building extremely large databases quickly and efficiently in batch mode. You may arrange your output in any form for a printed report, a disk or tape file, a display on a full-screen terminal, or as input to another processor (e.g., SCRIPT or SAS). + Page 47 + 6.0 User Interfaces SPIRES provides four user-interface environments: (1) the native SPIRES command language; (2) the Prism environment for transaction processing, searching and report writing; (3) the Folio environment for search, browse, and display of textual data; and (4) Remote SPIRES for access to SPIRES databases over networks such as BITNET or Internet. The rich SPIRES native command language is made up of English words, such as SELECT, FIND, SHOW, and EXPLAIN. The database owner and the end user alike use these commands to: (1) select a database and have its contents and organization explained; (2) search a database, either using an index or sequentially; (3) display records retrieved by a search; (4) choose among input, output, and report formats; (5) create, update, or delete records in the database; and (6) ask for online assistance with HELP, EXPLAIN, and TUTORIAL commands. Either the database owner or the end user can tailor a particular application. A procedural language is provided so that a packaged set of SPIRES commands can implement new, higher-level commands for the user, or carry on a dialog with the user and issue SPIRES commands to carry out the requests. The Prism and Folio environments are designed to allow end-user access to applications without heavy investments in training. Both environments have rich built-in help facilities, options for guided (inexperienced user) versus command (experienced user) modes, and the ability to chain a series of commands together to bypass screens. 6.1 Prism Prism is a full-screen application support tool designed for major transaction processing applications. Examples of how Prism is used at Stanford includes the following applications. o NSI (Network for Student Information) Users may look up course, classroom, and student information for their own department. Selected course and classroom information may also be entered into Prism. + Page 48 + o SMAS (Salary Management Administrative System) Authorized staff may look up salaries and other job-related information, or enter proposed salary information and produce salary setting reports. o SNAP (Stanford Network for Accounting and Purchasing) In SNAP files, users may enter purchase requisitions electronically (rather than on paper), look up requisition and payment status information, and look up vendor information. o SUFIN (Stanford University Financial Information Network) The SUFIN files provide a variety of reporting functions for university accounts and expenditure data. 6.2 Folio Folio is the backbone of the online public access catalog in the Stanford University Libraries, where over two million volumes have been added to the library holdings database. Folio is also used to provide public access to general interest applications like JOBS (job openings at Stanford), HOUSING (available housing in the local community), ODYSSEY (research opportunities for students), and special bibliographies like TECHNICAL REPORTS and the MARTIN LUTHER KING BIBLIOGRAPHY. Folio is simple enough for first-time users to walk up to public terminals and successfully complete searches and comprehensive enough to support downloading of data to workstations. 6.3 Remote SPIRES Remote SPIRES is being used at various universities to make local databases accessible to individuals at other institutions without requiring logon to the local host. For example, the HEP (High Energy Physics Preprints) database at the Stanford Linear Accelerator is accessed by physicists from over 100 institutions around the world. Simple, one-line mail messages comprise the "dialog" between the remote user and the Remote SPIRES database. Interactive messages and search results are sent by e-mail to the user. + Page 49 + 7.0 Technical Information SPIRES currently runs on IBM System/370 or plug-compatible mainframe computers under VM/CMS (SP and XA), MVS/TSO, and the less-well-known MVS/WYLBUR/ORVYL and MTS operating systems. A project is currently in progress to convert SPIRES to the C programming language. This effort will position SPIRES to participate in the distributed, client/server environments of the future, as well as expand the range of hardware platforms on which SPIRES will run. 8.0 Conclusion SPIRES is a powerful, flexible database management system that libraries can use to build a wide variety of public-access computer systems. In addition to its native command mode, it provides system developers with three other user interface tools--Prism, Folio, and Remote SPIRES. For more information on the SPIRES Consortium contact the SPIRES Consortium Office at 415-725-1308, or HQ.CON@STANFORD.BITNET. + Page 50 + About the Author Bo Parker Associate General Manager SPIRES Consortium Office Jordan Quadrangle Stanford University Stanford, CA 94305-4136 BITNET: GA.SBP@STANFORD.BITNET ----------------------------------------------------------------- The Public-Access Computer Systems Review is an electronic journal. It is sent free of charge to participants of the Public-Access Computer Systems Forum (PACS-L), a computer conference on BITNET. To join PACS-L, send an electronic mail message to LISTSERV@UHUPVM1 that says: SUBSCRIBE PACS-L First Name Last Name. This article is Copyright (C) 1990 by Bo Parker. All Rights Reserved. The Public-Access Computer Systems Review is Copyright (C) 1990 by the University Libraries, University of Houston. All Rights Reserved. Copying is permitted for noncommercial use by computer conferences, individual scholars, and libraries. Libraries are authorized to add the journal to their collection, in electronic or printed form, at no charge. This message must appear on all copied material. All commercial use requires permission. ----------------------------------------------------------------