>The Database Frontend
We refer to this software as a generic database frontend. Your database system is the backend database, and the interface between the two is called the backend API. The backend API consists of a small number of function handlers and structure definitions. You are required to provide the main() routine for the server (which can be quite simple), as well as a set of handlers to match each of the prototypes. The interface functions that you write can use any mechanism you like to communicate with your database system: You might link the whole thing together with your database application and access it by function calls; you might use IPC to talk to a database server somewhere; or you might link with third-party software that handles the communication for you (like a commercial database client library). At any rate, the handlers will perform the tasks of:
Scanning the database index (optional - if you wish to implement SCAN).
Extended Services (optional).
Result-Set Delete (optional).
Result-Set Sort (optional).
(more functions will be added in time to support as much of Z39.50-1995 as possible).