Middleware Overview
- Object Oriented Perl CGI programs
- Set of DLPS-written Perl applications that also use:
- DLPS-written class, subclass and library modules
- Perl modules found
in the standard distribution (information on current Perl version in installation notes)
- Additional Perl modules
freely available through CPAN
- XML files with Processing Instructions (PIs) for dynamic content
- XSL files for transforming the XML into HTML
- Interacts, through DBI,
with various DLXS-related databases
- Basic flow of middleware:
- Take user input for search
- Fork off an XPAT process (except in ImageClass)
- Creates as many XPAT queries or MySQL queries as needed to retrieve results
- Gather up XML results returned from XPAT or MySQL
- Substitutes into XML files' PIs the data returned from XPAT plus other
dynamic data (e.g., database information, URLs the cgi has built)
- Starts up an XSLT transformation process and runs the XML through a
virtual XSL stytesheet (built up from XSL imports), creating HTML output
- Through the above modules and databases, the middleware keeps track of collection
and user information (either through a session object or a database):
- search history
- bookbag / portfolio
- collection information needed for single collection or cross-collection
searching and display behavior
- Other points to note
- ImageClass uses metadata retrieved from MySQL. BibClass, FindaidClass and TextClass use metadata stored in the XML text files.
- Pageviewing in TextClass is handled through a separate CGI
program which interacts with the Pageview table (in the dlxs database)
of page metadata and which uses image conversion software to convert
archived TIFF files into GIF or PDF formats on the fly, or stored
PDFs, jpgs, JPEG2000, etc.
- WordWheel cgi also available for use in TextClass collections