Voyager is an integrated library system used by hundreds of libraries, universities and museums around the world. Voyager was developed by Endeavor Information Systems Inc., which was merged into Ex Libris Group in December 2006.[1]
The underlying technology remained relatively similar over the years, with the exception of the Online public access catalog (OPAC). With Version 7, in 2008, the "Classic" WebVoyage OPAC was replaced in order to counter mounting competition from Koha and others.[2]
The modules are the main way that library workers interact with the system. Voyager is broken down into different modules that are focused on helping with certain tasks commonly done in a library. They are implemented as custom Microsoft Windows programs that talk to a centralized server and database.
The modules are as follows:
Voyager uses an Oracle database and the Apache Tomcat web server. Reporting functionality utilizes Perl scripts. As stated above, for its modules it uses custom Microsoft Windows programs.
The only programming API for Voyager is the BatchCat.dll which provides most of the same functionality as the Voyager Cataloging client. The Voyager web server also provides a limited number of XML services and web APIs for integration purposes.
The only window into Voyager for library staff is via the exposed tables of the Voyager database. The Access Reports frontend to this database provides dozens of pre-built SQL queries written by Endeavor to help library staff create reports. It is also possible to write software that connects directly to the database and reads the tables from there. However, none of the indexing that makes Web Voyager so fast is exposed for the ordinary programmer.
The tables of Voyager are shorthand versions of the MARC bibliographic records. The actual MARC records are stored as BLOBs but certain portions of the MARC record are extracted and stored in tables. For example, BIB_TEXT.TITLE is, naturally, the MARC Bibliographic Record field that holds the Title. The Bibliographic Records are stored in tables named BIB*. The Holdings records are in tables named MFHD* (Marc Format for Holdings Data). The Authority Records are in AUTH.
Voyager adds its own record, called the 'Item Record'. This stores the barcode, 'media type', location, and other information. The result of this is that there can be some redundant pieces of information in the database, particularly 'location' and 'media type'.