The Aquarelle Access-server
by Alain Michard and Dale Suttcliff
In the current version of the Aquarelle system, the user-client application is an on-the-shelf HTML browser, supporting at least HTML 3.2 or later, extended by a SGML viewer plugin. Interaction between a user and individual databases is mediated by an access server which appears to a given end-user as a unique entry-point to the information network.
The first role of this access-server is to offer to the user a query interface structured along a set of common access points. This set appears as a virtual data structure in terms of which any query can be expressed (see Figure). It can be viewed as a Universal Relation shared by clients and servers, which can be queried, and which must be mapped onto each real archive or folder data structure. The access server broadcasts the query to the relevant content servers, where it is processed according to the specific mapping that is defined between the access-points and the local data structure implemented in the database.
Data servers may return results in two formats: Brief, in which hits are listed in a very compact format using only two or three fields of the retrieved records, and Full, in which full records are sent back. It is the role of the access server to process result sets and present them in a readable format to the user. After having received the Brief result set, the user may either select some of the hits and obtain the corresponding full records, or refine his query.
The access server provides connections between the user clients and the archive and folder servers. It controls access to the Aquarelle system through the user management functions which include the storage and manipulation of user profiles. It supports the services provided by the user client, namely resource discovery, query handling, result management, folder publication, and one-to-one connections with servers, through specific functions. It provides a uniform interface to archive and folder servers based on the search and retrieval protocol Z39.50. It also provides an interface with a thesaurus browser to assist users in selecting query terms. Finally the consistency of hyperlinks in folders is guaranteed by the Aquarelle link management module. The access server embeds a user-client server, a user-session manager, a Z39.50 client, and a link-management sub-system.
The user-client server is made up of a Web server and of a set of CGI programs that process the user requests, invoke the correspondent functionality in the access server, and encode the returned data before sending them to the Web browser. The Graphical User Interface (GUI) is a set of static and dynamic HTML pages; the static pages are accessed directly through the Web server, the dynamic pages are generated on the fly by the CGI programs. To prepare a query, the user is presented with a set of HTML forms. The form is submitted by HTTP and interpreted by CGI scripts in the User Client module. This converts the query to the Aquarelle Query Language (AQL) and passes it to the User Session.
The User Session has the opportunity to modify the query: for instance, to apply various terminology resources to translate or expand the terms. The modified query is still expressed in AQL and passed to the ZClient. The ZClient converts the query from AQL to Z39.50, using the Aquarelle profile, and broadcasts it to the currently selected data servers. Each data server interprets the native protocol and responds to the ZClient with a GRS-1 record. The GRS-1 record can contain structured data or SGML documents. The ZClient collates the responses and encodes them as SGML, if necessary, and returns them to the User Session.
The next version of the system should conform to the XML standard, recently adopted as an official recommendation by the W3 Consortium, for document transmission and display.
Dale Sutcliffe - CLRC
Tel: + 44 1235 44 52 14