Re: Integrating with your ILS through Web services and APIs

From: Frances Dean McNamara <fdmcnama_at_nyob>
Date: Fri, 7 Aug 2009 15:08:49 -0500
To: NGC4LIB_at_LISTSERV.ND.EDU
Marshall,

At the University of Chicago Library, we are using the SirsiDynix Horizon ILS for Cat, Serials, Circ and HIP opac.  We use III for Acquisitions and pass data to Horizon.  We wrote an interface to take the III voucher output file, load to a Sybase db, approve and send to the Comptroller's system for load to replace the paper vouchers we used to send.  We use Aquabrowser for a new discovery tool and pass data from Horizon.  We have moved Course Reserve off of Horizon and on to a hosted Atlas ARES system.  We wrote our own interface to update the location/collection information in Horizon so that physical items show as being located in Reserve and have the shorter duedates and larger fines, etc.  Electronic reserves, scanned chapters, etc. no longer have records in Horizon and are only in ARES, they are about half the Course Reserves.  ARES has a building block for Blackboard and that is how people get to their course lists now.  We took Special Collections circulation off of H!
 orizon and moved it to the Atlas AEON system.  This required only modifying the user interfaces to pass requests to AEON.

  
 - Do you feel like you can pretty much do anything you want with the system, or do you feel constrained? 

	We can do most of what we want (which we try to keep to minimal) with Horizon.  We can do nothing with III which is a black box, except that we insisted we be able to write our own loaders for records from YBP, Cassalini, Harrasowitz, etc.  III trained us to do that.

 -Are the APIs offered able to address all the data and functionality within the ILS?  

	No APIs for Horizon but the fact that it is a Sybase db means we can access the data directly and use as we wish.  We sometimes use a stored procedure of the Horizon app to do what we want.  We always wrote our own borrower load programs and did not use the simple one provided.  The only reason this ILS has worked here is that we could access the db directly and add features like email notices before the vendor had added them to the base system.  We try to keep such customizations to a minimum, but we have added a URL checker, and various other peripheral things over the years as needed.  III has no APIs.  For HIP and Aquabrowser we get at the xml files and we add customizations, we always have.  For Aquabrowser we wrote a custom piece of code to go into Horizon and pull out the item availability information as the full bib is displayed.  We have modified XSLT and CSS in these products to add buttons to connect to Google Book Search, HathiTrust, AEON, donor bookplate images!
 , etc.

  
 -On the flip side, do you feel like your ILS is too closed?  

	Horizon has been open for us so we hesitate to replace it with something that is too closed.

 -Do you find the APIs offered by the developer of the ILS to be well documented?

	There are none, we reverse engineered.

 - What programming languages or other tools were you able to use to take advantage of these APIs?

	I would have to check  SQL is the most obvious, we have used PHP

 - What level of programming proficiency is required:  Systems librarian with scripting languages, software development engineer, or something in between?

	Some are Systems Librarian with scripting languages.  The email notices and system to pass vouchers to the Comptroller took a programmer/analyst, not as hard core as a library vendor developer.

 - What's on your wish list?  What kind of APIs would you like to see incorporated into your current or next ILS?

	I just plain want Open Source.  I want SOA so we can write a service if we need it.

 - I'm interested in responses from those that use open source ILS products as well.  Are you able to programmatically interact with the ILS?  

	We have  a test version of Evergreen up and are doing a proof of concept to add Fixed DueDate to the open source.  We could write or modify PERL.  WE do write javascript for the circ rules.  We would plan on doing some custom programming.  We'd rather do Python, but really Perl is what they use.  There is core C++ code but I doubt we would muck with that.

 - Do you consider your ILS as embracing a true Service-oriented architecture?  Systems vendors increasingly promote their ILS as SOA.  Can you provide examples where the ILS does or does not exhibit traits of SOA in your environment.

	No.  Horizon is not.  III is not.  Evergreen is but we are investigating, not using that in production.  Also still interested in Ole in the long term.


Frances McNamara
Director, Integrated Library Systems and Administrative and Desktop Systems
University of Chicago Library
773-702-8465
fdmcnama_at_uchicago.edu
Received on Fri Aug 07 2009 - 16:10:54 EDT