Perspective and commentary by Marshall Breeding
Integrating with your ILS through Web services and APIs
I am in the process of writing an issue of Library Technology Reports for ALA TechSource titled ďHype or reality: Opening up library systems through Web Services and SOA.Ē Today almost all ILS products make claims regarding offering more openness through APIs, Web services, and through a service-oriented architecture (SOA). This report aims to look beyond the marketing claims and identify specific types of tasks that can be accomplished beyond the delivered interfaces through programmatic access to the system internals.
As part of the research for this article I am soliciting feedback from libraries that taken advantage of Web Services or other APIís in conjunction with their core Integrated Library System (ILS) to meet specific needs. Iím interested in hearing about how you might have been able to integrate library content and services into applications, extracted data, automated processes or other novel applications.
Please tell me about your experiences with your ILS in regard to the APIs it offers:
- Do you feel like you can pretty much do anything you want with the system, or do you feel constrained?
- Are the APIs offered able to address all the data and functionality within the ILS?
- On the flip side, do you feel like your ILS is too closed?
- Do you find the APIs offered by the developer of the ILS to be well documented?
- What programming languages or other tools were you able to use to take advantage of these APIs?
- What level of programming proficiency is required: Systems librarian with scripting languages, software development engineer, or something in between?
- Whatís on your wish list? What kind of APIs would you like to see incorporated into your current or next ILS?
- Iím interested in responses from those that use open source ILS products as well. Are you able to programmatically interact with the ILS?
- 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.
While itís important for the ILS to offer support for standard protocols such as Z39.50, NCIP, and OAI, thatís not the core of the issue here. What Iím looking for are APIís that allow the library to get at data and functionality not addressed by these protocols.
Libraries increasingly need to extract data, connect with external systems, and implement functionality not included with the delivered systems. Rather than being reliant on the products developers for enhancements to meet these needs, libraries increasingly demand the ability to exploit their systems using APIs, Web Services, or other technologies. Especially in libraries that exist in complex environments where many different systems need to interact, the demand for openness abounds. As libraries develop their IT infrastructure, itís imperative to understand the extent to which their automation products are able to interoperate and thrive in this growing realm of Web services. This report aims to assess the current slate of major library automation systems in regard to providing openness through APIís, Web Services, and the adoption of SOA.
Thanks in advance for sharing your experiences in ILS APIís with me for this report.
Marshall Breeding Aug 14, 2009 07:38:52 Link to this thread
SUNY Geneseo took a slightly different track with APIs that may interest you, we decided that within the request interface and system of ILLiad, to adapt its request workflow flexibility to include various APIs to transform both ILL and acquisition request services. We see the request venue as a fantastic place to resolve some of the complexity in information supply. GIST Details: http://idsproject.org/Tools/GIST.aspx
Do you feel like you can pretty much do anything you want with the system, or do you feel constrained?
Are the APIs offered able to address all the data and functionality within the ILS?
On the flip side, do you feel like your ILS is too closed?
Mostly because the user gets their customizable view of the API data, while the staff client view is also customizable around the fields we repurposed, and many functions created, adapted, etc. We are actively interested in getting more book jobbers to provide APIs, but also more free web content services (We are very pleased with Index Data for their Zoom search across Gutenberg, Internet Archive, OCA, etc.)
Do you find the APIs offered by the developer of the ILS to be well documented? In this case, since we created GIST ver. 1 as a customizable enhancement of ILLiad, we released our own: http://toolkit.idsproject.org/doku.php?id=wiki:gist
What programming languages or other tools were you able to use to take advantage of these APIs?
Mainly .NET (so that ILLiad hosted by OCLC could use GIST) and JAVA
What level of programming proficiency is required: Systems librarian with scripting languages, software development engineer, or something in between?
Expert to create GIST, but now that the configuration file is packaged neatly and downloads well, very little for a library to download, adapt, etc. Essentially, anyone who can edit an ILLiad web page.
Whatís on your wish list? What kind of APIs would you like to see incorporated into your current or next ILS?
Big wish is that ILS and request management systems focus their next design effort around the end-user and service array like customer relations management systems do. Add to that; if travel and hotel web services can resolve the best price, why can't we do the same for various information suppliers; borrowing, free, rent, etc. Ok, but what you are probably most practically asking are for the next steps with APIs though...
Purchasing APIs (like EDI) so we can easily purchase from vendors such as Amazon, publisher pay per view and content rental sites, etc.
User tool APIs, so users basically can have their tools; mobile phones, Kindle, etc. engage our systems services. Thanks for asking - best wishes, Cyril
Cyril Oberlander Aug 20, 2009 22:08:36