The Johns Hopkins University Applied Physics Laboratory (APL) is a not-for-profit division of The Johns Hopkins University. Founded in 1942, the laboratory provides a research and development resource for its sponsors. It has a staff of 3,350, 66 percent of whom are engineers and scientists. The laboratory maintains 130 specialized research and test facilities and is involved in work for a broad range of sponsors, including the U.S. Navy, and the National Aeronautics and Space Administration (NASA). APL is located on 360 acres in Laurel, Maryland, midway between Baltimore and Washington, D.C.
The laboratory's library, the R.E. Gibson Library and Information Center, has been providing network access to information resources since 1989, when it first offered Telnet access to its online catalog. In 1991, the library created its first Web site by providing online access to authors, titles, and abstracts of papers presented at the first Symposium on Research & Development at APL. In 1995, the library assumed responsibility for the laboratory's internal home page.
Today, the library has developed and maintains numerous Web sites on the laboratory's internal network. These sites include the internal home page, a research portal, and specialized topical resource sites.
Two central problems for any library or information center providing selective, focused access to the exponentially exploding amount of information available are those of currency and ease-of-retrieval. The challenge is to make it as easy as possible for customers to find what they need, while also making it easy for the staff maintaining the site to keep it up-to-date. The Web sites are designed to solve these problems by presenting the user with an intuitive interface offering a variety of methods to find needed resources, and by constructing these sites using a database-driven architecture that makes it easy for staff to maintain the currency of the information.
The Back-end Database
The foundation for these systems is a database of more than 3,000 resources, maintained in a Microsoft SQL Server database and queried dynamically to provide content for the Web sites. Most of these records contain information relating to Web resources, so the records generally contain a URL, a title, an abstract or description of the resource, a set of keywords, and one or more assigned categories. This provides for retrieval in two ways: Users can use a full-text keyword search that will retrieve resources based on words in the title, abstract, or keywords, or for more precise retrieval on known subjects, they can browse by category and retrieve resources that have been pre-assigned a subject category. For example, on GibsonWeb, a user can browse through the "Science, Technology and Engineering" menus and choose the Astronomy category, pulling up 57 resources that were assigned the category. Someone interested in a more specific topic such as Astrobiology would need to perform a keyword search, retrieving four resources.
In addition to retrieval flexibility, this approach eliminates duplication of effort in the maintenance of several Web sites. More focused Web sites can make use of the same database, and records can be marked as retrievable for multiple sites or just one.
Records also can be given start and end dates, allowing for the posting of events and announcements, as well as highlighting resources within a time frame, whether it be a day a week, or even longer. In addition to the time frame, items can be prioritized in their placement on the page.
Contributing to both the ease of maintenance and ease of development of this system is the fact that Microsoft Access 2000 can serve as the front end for the SQL Server database. This allowed for the rapid development of easy-to-use data-entry forms within Microsoft Access for the addition, update, and deletion of records to the database, while maintaining the robustness of the SQL Server database on the back end.
The HTML Interface
The client-side interface to the database was developed using HTML 4.0 standard elements and dynamic scripting with JavaScript. In both the GibsonWeb site and one of the specialized sites, the HTML 4.0 standard IFRAME element was used to provide the ability to target content display to a specific portion of the Web page. As a result, these two sites require an HTML 4.0-compliant browser, such as Microsoft IE 5.5+ or Netscape 6.2+. Since Microsoft IE 5.x is part of the standard APL Windows installation, we felt this to be an acceptable limitation.
ASP Scripting
The "glue" binding together the interface and the back-end database is Microsoft Active Server Pages (ASP) technology. ASP allows the Web pages to include scripting that runs on the server instead of the client and communicates with the database to retrieve Web page content. The process works like this: A form or a qualified link on the Web page collects input from the user (in this case a search term or terms) and submits it to an ASP script, either on the same or a separate page. The ASP script accepts the input and builds a SQL query using the term or terms supplied. It then opens a connection to the SQL Server, sends the query to the server, and gets back a set of records matching the query. The server-side script then builds standard HTML containing the returned records and writes it to the Web page. The result is a dynamically generated standard Web page containing links to relevant resources along with their descriptions or abstracts.
Other Features—"Favorites"Given the number of resources available on the site, it was desirable to provide the user with an easy way to save a list of most-frequently accessed links, thus eliminating the need to search or browse each time the link was needed. Providing the list directly on the Web page provides two benefits: It encourages the user to come back to the site where he or she might learn about new or updated resources, and it helps keep the links from getting lost in an extensive personal collection of Favorites (IE) or Bookmarks (Netscape).
This feature was implemented using a mixture of client- and server-side scripting and employs cookies to store the list of favorites on the client computer. An HTML form is dynamically built for each URL on the Web page. When that form is submitted by clicking on the "Add" button, the information for the link is processed by a server-side script, where it is checked to make sure it is not already on the list and that adding it does not exceed the current limit on the number of favorites (five). If it passes those checks, it is then stored as a cookie, and client-side scripting is then invoked to read the client cookies and display the list of favorites in the IFRAME element.
Future Directions
On the client side, future development will be aimed toward providing the user with more control over the appearance and content of the Web sites. Allowing the user to turn on or off the "Favorites" and/or banner-ad displays are possibilities. A user-registration feature may be implemented that would allow us to store an individual's subject interests and customize the Web page based on those interests.
On the development side, the sites may be converted to the next-generation Microsoft.Net platform. This would provide for easier cross-browser support and for the improved modularity and maintainability of the sites.