Introduction to MolServer

August 99


Overview

MolServer is a server-based program which delivers chemical database functionality to Microsoft clients via Automation.  As a thin, faceless wrapper around the ChemFinder chemical database engine, MolServer provides lightweight access to the core CS info technology, including all aspects of molecule and reaction storage, retrieval, search, list handling, as well as all of ChemCentral.   It does better than that --- MolServer offers features not previously available in any client, including multi-threaded searching, database administration facilities, structure lookup via hash table (coming soon), plus added strength in error handling, security, list handling, and other areas.  MolServer provides all in an executable less than a third the size of ChemFinder.


Features


Interface

MolServer currently exports five classes:


Drivers

MolServer will be our gateway not only to our own mstfile-based engine, but also to other non-CS molecule database engines such as Daylight and RS3.   Recent changes in MolServer will make it easy to develop drivers for these engines.   We've demonstrated this by developing our own native (.mst file) driver along with two sample drivers which work, and provide templates for future ones.

Technical details.  The two principal Automation objects which access the database --- MolServer.Document and .Search --- are implemented in thin shell classes (CMolServerDoc, CXSearch), each of which is serviced by a new "driver" object.  The driver provides complete access to some data source having an indexed collection of structures, i.e., each structure is identified by a unique numeric ID.

Virtual base classes (MolDriver, MolSearchDriver) define the methods and properties to be implemented by database-specific driver subclasses.  Each driver is implemented in a separate source file, with common functionality provided by the base classes as much as possible.

ms_comps.gif (5191 bytes)