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:
Initialization.
Searching.
Fetching records.
Scanning the database index (optional - if you wish to implement SCAN).
Extended Services (optional).
Result-Set Delete (optional).
Result-Set Sort (optional).
Return Explain for SRU (optional).
(more functions will be added in time to support as much of Z39.50-1995 as possible).