98ids_fmt.doc 1 An integrated Web -based ILL system for Singapore libraries Foo, S., & Lim, E.P. (1998). Interlending & Document Supply, 26(1), 10-20. Re-published (with permission) in: Foo, S., & Lim, E.P. (1999). OCLC Systems and Services, 15(1), 24-34. An Integrated Web-Based ILL System for Singapore Libraries Schubert Foo & Ee-Peng Lim School of Applied Science Nanyang Technological University, Nanyang Avenue, Singapore 639798 Abstract The paper proposes an integrated Web-based inter-library loan (ILL) system to replace and enhance the existing manual-based ILL system used by Singapore libraries. It describes the system requirements that must be supported in order to make it a viable and acceptable solution to all participating libraries. Subsequently, it presents the client-server Web-based system architecture, database design and Java development platform that are used to implement the system. The new system exhibits a host of advantages over the manual system including minimising human resource by eliminating form-filling and other forms of paperwork completely, improving the access and speed of the ILL process by allowing participating libraries to update each other's databases directly, ensuring data integrity, simplifying status tracking and supporting instantaneous status and statistical reporting. Keywords Integrated ILL system, Web application, database, client-server architecture, Java. Introduction The inter-library loan (ILL) service is one of the many services provided by the libraries that offers users a way to access library resources beyond their affiliated libraries. Through inter-library cooperation, loans from participating libraries and organizations, both local and abroad, are arranged on behalf of the requester. Such a service allows participating libraries to share and maximize the utilisation of their resources. 2 Existing ILL systems in Singapore are all basically manual systems that require substantial librarian intervention in the ILL process. This is also the likely scenario of many other ILL systems around the world. However, there do exists a very small number of computerized systems in universities, such as the University of Stirling [1], University of Arkansas [2] and Nanyang Technological University (NTU) [3] support World-Wide-Web based ILL systems, or commercial ILL modules such as Softlink's Library Automation Software [4]. However, it is impossible to infer if these systems are just front-end systems to obtain the ILL input information from the requester (such as NTU library), or additionally include back-end processing to manage the ILL process among participating lending libraries. Nonetheless, the number of manual or semi-manual systems far exceeds totally computerized ones due to a number of reasons. First, there is the need for each participating library to use the same system or software in order to carry out the ILL process. Second, the difference in library policies among participating libraries makes it difficult to realize a generic system that would be acceptable to all. Third, as the number of ILL requests is traditionally low compared to normal borrowing, little resources have been placed to administer or computerize the ILL service. Finally, different systems, even if they exist, suffer from interoperability problems due to the absence of standards. Thus, two different ILL systems will not be able to exchange information or data. This problem will only be solved over time when ILL systems become more commonplace. The need for interoperability among systems across national boundaries will eventually yield a de-facto standard for ILL transactions and communications. Thus, the present situation will continue unless some form of acceptable solution to all can be found and realized. Review of current ILL process In attempting to provide such an acceptable solution, the NTU library has been used as a basis of study and subsequent derivation of system requirements of the proposed integrated Web-based ILL system to replace the existing ILL system. NTU Library is one of a number of participating libraries of the Library Association of Singapore (LAS) ILL service. Other participating libraries include national institutions (e.g. Monetary Authority of Singapore, Institute of Southeast Asian Studies, National Library Board, National Archives, Productivity and Standards Board, Trade and Development Board), academic institutions (e.g. National University of Singapore, National Institute of Education, Singapore Polytechnic, Temasek Polytechnic), schools and junior colleges (e.g. United World College of SEA, St. Andrew's Junior College, Raffles Institution) and other organisations (e.g. Strait Times Editorial, Singapore Broadcasting Corporation, British Council). Participating libraries have ILL reciprocity and adopt a similar process for processing outgoing and incoming ILL requests. There are basically no charges for ILL 3 transactions of books or periodicals although some libraries charge a flat-rate for photocopies of periodicals. Figure 1 NTU Library's ILL request form on the Web In an outgoing ILL request, a requester will first complete either an ILL-request form or provide the information through a library web page. Figure 1 shows the NTU library's web page used to obtain the input information of an ILL request. With the request, the librarian has to verify the validity and contents of the request by checking the requester's particulars, 'correctness' of publication request from a union catalogue such as the Singapore Integrated Library Automated Service (SILAS). SILAS constitutes the national database for Singapore libraries and allows checks to be carried out for bibliographic details as well as the libraries holding the particular title. This check is necessary to ensure the non-availability of request in the library's own holding and to assist in deciding on the lending library to be used to fulfill the ILL request. 4 Figure 2 Library Association of Singapore ILL Form With this information, a standardised LAS-ILL form of Figure 2 is completed and submitted to the lending library. This is a three-page carbon-copy form that is used for handling "Request", "Interim Report" and "Notice of Return". With the ILL approved, arrangements are made for the collection of material by the borrowing library. The requester is subsequently informed to collect the material. The normal process of tracking and controlling of the loaned material, and collecting overdue fines applies. Finally, arrangements are made to return the material to the lending library. In the reverse role as a lending library, the incoming ILL request is first verified against the library catalogue and holding information. If the material is available for loan, then it is physically retrieved from the shelf and put on charge and placed aside to await collection. Arrangements are made to inform and arrange for collection by the borrowing library. The process of tracking loan item collection and their return are similar to normal items from the library except that is it carried out with a borrowing library instead of a normal library user. The process ends with the confirmation with the borrowing library of the safe and sound return of the loaned item. The current manual ILL system is laborious, time-consuming, error-prone and inefficient. Majority of time is being spent on searching, documentation and updating of loans’ statuses that require minimal decision making. Duplication of effort is required to complete the LAS ILL loan form since the requester completes a separate form when requesting for an ILL. Access to SILAS is confine d to certain access points in the 5 library. Miscommunication with the lending library may delay the process of approval. Time is spent in contacting requesters when urgent requests are not fulfilled, filing ILL forms, carrying out manual periodic checking of overdue items and collating ILL statistics. The manual system is manageable if the requests are few but is likely to lead to proportionate increase of administrative problems and overloads when ILL demand increases. Such reasons, coupled with the rapid advancement of Internet technology, availability of on-line library systems and OPAC have provided the impetus to provide a new computerized ILL system to manage the complete ILL process. System architecture and requirements ILL Web-Page Java Applets Java Classes Client Server Databases Internet mSQL Database Server Communication Process OutILLDB OutILLDB InILLDB Server InILLDB Library 1 Library ... n Client Figure 3 Integrated Web-based ILL system architecture The proposed integrated Web-based ILL system adopts a client-server architecture as shown in Figure 3. It allows the system to be integrated with the library's existing functions on the Web to enable widespread access by anyone on the Internet. This implies that both users and librarians are no longer confined to using special access points to submit or process ILL requests. 6 The client can be a personal computer, Macintosh or workstation with a suitable Web browser such as Netscape Navigator 2.x/Gold [5] or Microsoft Internet Explorer 3.0 [6], or higher equivalent versions of them. Residing on the Web server is a database server that supports two separate databases for maintaining incoming and outgoing ILL requests respectively. The use of separate databases distinguishes the two different roles of borrowing and lending clearly, and provides a neat solution that improves speed, efficiency and maintainability. These stand-alone databases are used solely to support the ILL functionality and at such, are not the same library databases used for catalog or holding information. This server architecture is replicated at each participating library. A communication processor exists to allow direct communication and updating of each other libraries' databases. Users interact with the system using the normal Web access techniques of browsing and filling in forms. The architecture supports a number of essential system requirements and characteristics to make it a viable replacement of the existing ILL system: • The system is differentiated from other automated library systems that are used to support the various functions (e.g. acquisition, cataloguing, circulation, media, resource, etc.) of the library. • It is a 'stand -alone' system that remains functional even if one or more other participating libraries' systems are down. • The system is easily accessible, supports ease-of-use to both users and librarians, and minimizes the amount of human effort in the ILL process. • The system is integrated with the library’s Web page to provide the added ILL functionality. • An authentication process is provided to control legitimate access by registered library users, librarians and participating libraries. • All ILL requests are electronically completed by requesters and verified by the system before they are processed by librarians; • New requests are automatically presented to librarians for approval. Approved requests are forwarded to the lending libraries by updating their databases directly. Rejected requests are accompanied by reasons provided by the library. • Incoming ILL requests from other libraries are automatically presented for approval. Likewise, the outcomes of these requests are forwarded to the borrowing libraries by updating their databases directly. • Progress tracking exists to enable users to check and be kept up-to-date of the statuses of their ILL requests. • Transaction updating exists to allow both libraries to keep track and monitor the loan status after collection from the lending library. • Overdue items are automatically flagged and made known to the librarians by the system. • Completed ILL transactions are kept in the databases for a period of time (e.g. two years) prior to being archived. Statistical information of the data on the active databases can be generated for viewing and analysis. 7 • The system maintains participating libraries' information allowing libraries to join or leave the ILL system. System design Figure 4 Module structure and access control Three separate Web pages on the client machine provide different levels of access to the ILL system for the users and librarians as shown in Figure 4. The About_ILL module provides information of the ILL service that is being offered by the library. The Registration module allows first-time users to submit a one-time membership application to use the ILL services offered by the library. Users have to read and agree to abide by the ILL service policy in the process of submitting their application. Depending on library policies, ILL services may be offered to certain groups of staff of the organization. For example, NTU library's ILL service is accessible by academic staff or postgraduate students through their supervisors only. Registered users have access to four modules to carry out their ILL transactions. Prior to that, an Authentication module provides the necessary safeguard and access control to restrict All Web users Registration About_ILL Authentication ILL_Book Request ILL_Periodical Request Status_Request Help Process_Registration Outgoing_ILL Incoming_ILL Statistics Administration Integrated Web-Based ILL System Registered users Authorised librarians/system administrator 8 the ILL service to registered users and authorized librarians. The ILL_Book Request and ILL_Periodical Request modules allow users to submit an ILL book or periodical request by defining the necessary details of the publication. The Status_Request module is used to query and display the status of outstanding ILL requests of users. Finally, the Help module provides on-line help assistance to users and provides answers to a list of Frequently-Asked-Questions. A separate web page that is only accessible by librarians provides the necessary modules to support the ILL service. The Process_Registration and Outgoing_ILL module mirrors the users' Registration and Request modules to provide the tool for processing new membership and ILL requests respectively. The Incoming_ILL module is used to process ILL request from borrowing libraries. The outcome of outgoing and incoming ILL requests are automatically updated on the lending and borrowing library's database respectively via the Communication Processor on the local server. In addition, a Statistics module is used to generate statistical data of incoming and outgoing ILL requests. This includes information on the number of ILL requests that are accepted or rejected over a defined time period, different types of user groups requesting for ILL service, and subject categories of ILL requests. Such information can be analyzed and used by the library to plan for future ILL services, promote reciprocity and cooperation among participating libraries, or to build up a collection of specialised material in the library. Finally, an Administration module allows various administrative functions such as database backup or archive to be carried out periodically. Additionally, it is used to maintain an up-to-date record of the participating libraries and contact information. As the ILL is a distinct service of the library, a set of customized databases are used to support multiple independent users having concurrent access to a central repository of consistent and shared information. Two databases, namely, InLLDB and OutLLDB (as shown in Figure 3) are used to store the necessary information and distinguish the role played by the library in processing outgoing and incoming ILL requests respectively. The overall database model is depicted in Figures 5 and 6 using an entity-relationship diagram consisting of entity types represented by boxes, their attributes represented by ovals, and relationship types between entities represented by diamonds. As shown in the data model, each ILL request is distinguished uniquely by means of a serial number (s_no) with a date of request, date of processing and the status in the ILL process. The comment attribute stores the message associated with the status including the reason for an ILL request rejection. 9 Figure 5 Entity relationship diagram for outgoing ILL database (OutILLDB) The ILL request is submitted by either a user (user_id) or requesting_library (req_lib_name) whose details are defined in user_data and library_data entities respectively. Each ILL request is either a book or periodical with the normal bibliographic information defined using the book_data or periodical_data attributes. This is to take into account the different information requirements for a book and periodical (such as periodical title/editor, article title/author, volume number, part number, range of page numbers, and so on). Approved outgoing ILL requests of the borrowing library are tracked using a transaction record (transact_record) that contains attributes to define the lending library, date of response from the lending library, collection date, and due date for return to the lending library. The normal user's loan data of collection date, due date, return date and overdue fine are also included in the same transaction record. loan_stat periodical_databook_data author edition ISBN publ submits ill_request user_data s_no user_id status title doc_type comment req_date proc _date status login_id pwd fname dept email title lname tel_no approved ILL requests transact_ record lib_name user_collect_date user_return_date return_date reply_date comment collect_date due_date cost cost_content d part vol s_pg e_pg year outcome subject doc _type user_type year quarter req_type s_no 10 Figure 6 Entity relationship diagram for incoming ILL database (InILLDB) Additionally, statistical information of the ILL request is defined using a loan statistics entity (loan_stat) that contains attributes to define the subject of the ILL request, type of user, type of document, type of request, date and outcome of request. Similarly, all approved incoming ILL requests by the lending library are tracked by a transaction record and loan statistics that contains the corresponding set of information that include approval date, collection date, due date, return date, overdue fine, and so on. The process of the ILL service using the new system is shown in Figures 7 and 8 for outgoing and incoming ILL requests respectively. It is basically identical to the existing manual system except that all information is now electronically handled by the system. Manual form filling, filing and generation of statistics is completely eliminated in the new system. Users and librarians are provided with appropriate user interfaces at various stages to manage the complete ILL process. The new system provides an effective and efficient tool to both users and librarians in managing the ILL process. From the users' point of view, ILL requests may be conveniently submitted, incomplete or erroneous inputs easily rectified, turnover time for ILL approvals and loan collection reduced, and status checks on outstanding ILL requests and loans easily accomplished. From the librarians' point of view, all forms of loan_stat periodical_databook_data author edition ISBN publ submits ill_request library_data s_no req_lib_name status title doc_type comment req_date proc _date contact_fname contact_lname addr email name tel_no url approved ILL requests transact_ record appr _date collect_date due_date cost cost_content d part vol s_pg e_pg year outcome subject doc _type user_type year quarter req_type s_no req_s_no call_no return_date 11 Figure 7 Outgoing ILL Process N N Y N N Y Y Y Y N Y N Y N Y N S t a r t Check new ILL request listing Search Union Catalogue Material f o u n d ? Check material availability Material available? Update ILL request to lending library ILL approved? Inform requester to collect material Check update and collect material Material collected? Material r e t u r n e d ? Date due? Send reminder to user Inform requester reason for rejecting ILL request End Update loan information on material Send reminder to user Overdue fine? Collect fine Update loan information on material Return material & fine to lending library End Date due? 12 Figure 8 Incoming ILL Process Y N Y Y N Y N N Y N Search OPAC for material On Holding? Locate material in library M a t e r i a l found? Put on charge for collection Update as approved ILL with collection instructions Check listing for new requests Start Update and inform reason for rejecting ILL request On Charge/ Reserved N N Y Y N Material collected? Update loan information on material Send reminder to borrowing library Damaged/Over- due prompt? Collect fine Update loan information on material Return material to shelf End N Y Material returned? Date due? Send reminder to library Inform material unavailable & check intention Want to wait? End Reserve material on O P A C 13 paperwork are eliminated. Misplaced or lost ILL requests no longer occur. Approved outgoing ILL requests reach the lending library almost instantaneously for further processing. Outcome of incoming ILL requests likewise reaches the borrowing library quickly, and management of collection, loan tracking and return becomes much easier. System implementation The proposed integrated Web-based ILL system has been developed in the School of Applied Science, NTU. It employs the system architecture and design described in the previous sections and satisfies the associated system requirements. The client is implemented as a set of Java applets [7] that are downloaded and invoked when the Web page is browsed. The client-server concept of the architecture is only apparent when these applets are downloaded to the client since there is no prior installation of applets at the client machine. Java has been selected as the development platform due to its superior features, being platform-independent, and its emerging role as being the de-facto language for Web- based applications. A publicly available relational database management system (RDBMS), Mini-SQL [8], that supports standard subset of ANSI SQL is used as the database engine. This is sufficient in most instances as the number of ILL transactions is still relatively small. Data associated with incoming and outgoing ILL requests are stored in separate InLLDB and OutLLDB databases respectively. The client uses a set of object classes to communicate with the host and remote library databases. The object classes are built using Java and Java-mSQL Application Programming Interfaces (APIs) [9]. Each class consists functionality to support connection establishments, database queries, retrieval and presentation of results, and disconnection to remote hosts. If necessary, the existing Mini-SQL database can be "unplugged" (removed) and replaced by a production based RDBMS to support higher ILL demands. This pose no problem as it requires only minor changes to existing codes due to the use of standard SQL APIs. A status flag is used to keep track of the state of an ILL request in the process. The flag can assume one of the eight states shown in Table I. If an ILL application is rejected, a message predetermined by the librarian is displayed to the user to inform the latter about the reason for rejection. This table also defines the library that is responsible at the various action stages and the databases that are updated in the process. As an example of the user interface used in the system, the librarian's ILL Web page is shown in Figure 9. The icon-based menu provides the functionality to handle new membership requests, process and update outgoing ILL transactions. New ILL requests are automatically displayed for processing by the librarian. Upon approval of the request, the librarian will identify and select a lending library to send the request. The dialog box used to do this is shown in Figure 10. The request is subsequently sent 14 by the system by automatically updating the lending library's incoming database directly. The lower half of the librarian's ILL Web page is used to process incoming requests as the library plays the reverse role as a lending library to process and update incoming ILL transactions from borrowing libraries. In addition, it provides links to the administrative and statistical functions of the system. Similar interfaces and dialog boxes of Figures 9 and 10 are used in various modules throughout the system. Table I Status in ILL Process Status ILL Process Stage Action By Database Update A New ILL request Registered user (BL) OutILLDB (BL) B ILL approved by Borrowing library Librarian (BL) OutILLDB (BL) InILLDB (LL) C ILL approved by Lending library Librarian (LL) OutILLDB (BL) InILLDB(LL) D Material collected, update collect date and due date Librarian (BL) Librarian (LL) OutILLDB (BL) InILLDB (LL) E Material collected by registered user Librarian (BL) OutILLDB (BL) F Material returned by registered user Librarian (BL) OutILLDB (BL) G Material returned to Lending library Librarian (BL) Librarian (LL) OutILLDB (BL) InILLDB (LL) X ILL request rejected Librarian (BL) OR Librarian (LL) OutILLDB (BL) OR both OutILLDB (BL) & InILLDB (LL) BL: Borrowing library LL: Lending library Current status The system will be initially installed in the libraries of NTU and NIE (National Institute of Education) for a pilot run and further evaluation. As part of future work, the system will be enhanced to integrate bibliographic searches results with ILL requests in order to further minimize user input as well as input error. Likewise, a function can be provided to make the necessary checks against the union catalogue and libraries' holding information to validate the request and provide a list of lending libraries automatically for selection by the librarian. Additionally, some form of automatic electronic mailing facility can be incorporated either at the borrowing or lending library so that requesters are informed of the outcome of their requests at the shortest possible time after submission. 15 By gathering feedback on the pilot system, additional system requirements from other participating libraries, and outputs from continuing work, it is envisaged that a production version will be developed and implemented on a nation-wide basis. Figure 9 Librarian's Web page Figure 10 Interface to send approved ILL request 16 Conclusion An integrated Web-based ILL system is proposed and developed. The system has demonstrated the advantages of having a Web-based system to replace the existing paper-based manual-intensive ILL system. The system is small, secure, robust, easily installed and maintained. It eliminates form-filling completely and minimizes human errors as information is electronically captured, updated and transmitted among participating libraries. The system simplifies status tracking and allows users to obtain the information directly and easily. Use and administration of the system is carried out through the Web and therefore made accessible Internet-wide and not just confined to limited access points in the library. Data in the system is handled efficiently and effectively with options for backup archival and statistics generation. The overall improvement in speed and efficiency of the ILL service will enable larger number of ILL requests to be handled and further promote cooperation among participating libraries. References [1] Stirling University, "Stirling University Library: Inter-Library Loan Document Requests", , 1997. [2] Arkansas Univ ersity, "University of Arkansas Libraries", , 1995. [3] Nanyang Technological University, "Nanyang Technological University Library", , 1997. [4] Softlink International, "Softlink Library Automation Software", , 1997 [5] Netscape Communications Inc., "Netscape Navigator 2.02 WWW Browser" . 1997. [6] Microsoft Corporation, "Internet Explorer 3.0". , 1997. [7] Walsh, A.E., "Foundations of Java programming for the World Wide Web", IDG Books Worldwide, Inc., 1996. [8] Hughes, D.J., "Mini SQL: A Lightweight Database Engine Version 1.0.6", , 1995. [9] Collins, D., "Java-mSQL APIs", , 1997. 17 BIO GRAPHY Schube rt Foo is the Head of the Division of Information Studies, School of Applied Science, Nanyang Technological University. His current research interests include multimedia technology, Internet technology, CSCW systems, digital libraries and project management. Ee-Peng Lim is a lecturer in the Division of Software Systems, School of Applied Science, Nanyang Technological University. His current research interests include database integration, multi-database systems, and digital libraries.