Software Performance Evaluation for the Evergreen Integrated Library System



Similar documents
Current Status and Future Prospects

RFP Q & A for BUDGET DEVELOPMENT SOFTWARE 1. Cover page (page 1): Would SCBE considers a 3 week extension to the July 1st deadline?

RFP Automated Agenda Workflow System Questions and Answers

REQUEST FOR PROPOSAL FOR DESKTOP MANAGEMENT SYSTEM FOR MIDVALE CITY OFFICES

Request for Proposals (RFP) Managed Services, Help Desk and Engineering Support for Safer Foundation

Deadline for submission of completed RFP questionnaire is 8/3/2015.

Developing Microsoft SharePoint Server 2013 Core Solutions

Introduction and Background

Document Management System Request for Proposals April 22, 2013

Issue Date: March 4, Proposal Due Date: Tuesday, March 18, 2014 by 11:00 AM Mountain Time to:

What is PINES? PINES Current and Future Members. About PINES. About PINES

Request for Proposal RFP 0226 EDU. Website Development, Support, and Maintenance of NEON Website (

Infrastructure Technical Support Services. Request for Proposal

Request for Proposals. Integrated Library System. Proposals Due: February 25, :00 PM MST TABLE OF CONTENTS

Category: Business Process and Integration Solution for Small Business and the Enterprise

How To Write A Request For Information (Rfi)

ASSEMBLY OF FIRST NATIONS

Ministry Of Health Registration of Interest

PROPOSALS REQUESTED THE TOWN OF OLD ORCHARD BEACH POLICE DEPARTMENT FOR IP-BASED VOICE COMMUNICATION SYSTEM

Business 360 Online - Product concepts and features

Title: Contract Management Software Solutions (CMS) and Procurement Front-End System

Vermont Energy Investment Corporation (VEIC), a nonprofit organization, requests proposals for Website Content Strategy for Efficiency Vermont.

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

Hosted Contact Center RFQC Questions and Answers

Request for Proposals for Microsoft Project Server 2013 Implementation

Request for Proposal for Project Server 2013, MS SharePoint 2013 Intranet Development and Mobile Application Development Services

Day 1 - Technology Introduction & Digital Asset Management

Request for Proposal Environmental Management Software

State of Louisiana Department of Revenue. Development/implementation of LDR s First Data Mart RFP Official Responses to Written Inquiries

REQUEST FOR INFORMATION (RFI)

UNIVERSITY OF CENTRAL ARKANSAS PURCHASING OFFICE 2125 COLLEGE AVENUE SUITE 2 CONWAY, AR 72034

INSPIRE Dashboard. Technical scenario

DE-20489B Developing Microsoft SharePoint Server 2013 Advanced Solutions

CITY OF CHILLICOTHE REQUEST FOR PROPOSALS

Master Service Agreements Statement of Work (SOW)

PIERCE COUNTY LIBRARY SYSTEM. REQUEST FOR PROPOSAL (RFP) for PRINT MANAGEMENT SYSTEM FOR PUBLIC COMPUTERS

Request for Information Information Technology Audit of Voice over Internet Protocol (VOIP) System. City of Tulsa-Internal Auditing Department

Town of Needham Document Management Storage and Retrieval Solution RFP14NEE272G

Academic Calendar

How to Select a Document Management System:

Operating Level Agreement (OLA) Template

Developing Microsoft SharePoint Server 2013 Advanced Solutions MOC 20489

REQUEST FOR INFORMATION No. AGO.RFI.001. ediscovery Tool. Issued: August 13, Responses Requested by: Friday, September 7, 2012

Video Production Services for the Ontario College of Trades (the College)

ASEAN SECRETARIAT. Request for Proposal

CITY OF HIGHLAND PARK

State of Iowa REQUEST FOR INFORMATION. RFI # State of Iowa ERP System Maintenance, Upgrades and Services

Developing Microsoft SharePoint Server 2013 Advanced Solutions

Request for Proposals

Smarter Balanced Assessment Consortium. Request for Information Test Delivery Certification Package

Brown County Information Technology Aberdeen, SD. Request for Proposals For Document Management Solution. Proposals Deadline: Submit proposals to:

TREK GETTING STARTED GUIDE

Payment-in-full due for Fall 2012 (ALL Students) LATE REGISTRATION for all students. Consortium Registration

Course 20489B: Developing Microsoft SharePoint Server 2013 Advanced Solutions OVERVIEW

TAHOE REGIONAL PLANNING AGENCY REQUEST FOR PROPOSAL FOR SOFTWARE CONSULTANT

Inmagic Content Server Workgroup Configuration Technical Guidelines

CounselorMax and ORS Managed Hosting RFP 15-NW-0016

VMG ONLINE TRAINING SCHEDULE WINTER 2016

Terrace Consulting Services

A Guide to Writing a Request for Proposal

Service Level Statement ASTA Powerproject

Source code provided vs Open Source vs Free software Open Source comprises:

Outline. MCSE: Data Platform. Course Content. Course 10776C: MCSA: Developing Microsoft SQL Server 2012 Databases 5 Days

Developing Microsoft SharePoint Server 2013 Advanced Solutions

Kony Mobile Application Management (MAM)

Bramble.cc Konetic - Applicant Tracking/eRecruitment

REQUEST FOR PROPOSAL INFORMATION SECURITY PROGRAM PROVIDER

SharePoint 2013 Migration Readiness

Request for Information. for a. Human Resources Information Services (HRIS) System

NORTH PENN SCHOOL DISTRICT

10231B: Designing a Microsoft SharePoint 2010 Infrastructure

Trainer Preparation Guide for Course 20488B: Developing Microsoft SharePoint Server 2013 Core Solutions Design of the Course

Secure Electronic Voting RFP Kit

Request for Proposal. Contract Management Software

SQL Server Training Course Content

OVERVIEW. We seek consultative services that would deal with the following objectives:

CRM: Retaining Your Customers: Preventing Your Competitors

MASHUPS FOR THE INTERNET OF THINGS

Request for Resume (RFR) CATS+ Master Contract All Master Contract Provisions Apply. Section 1 General Information

TOWN OF WEST BOYLSTON, MASSACHUSETTS REQUEST FOR PROPOSALS COMPUTER NETWORK ADMINISTRATION AND INFORMATION TECHNOLOGY TECHNICAL ASSISTANCE

RESPONSES TO QUESTIONS AND REQUESTS FOR CLARIFICATION Updated 7/1/15 (Question 53 and 54)

Part-time Diploma in InfoComm and Digital Media (Information Systems) Certificate in Information Systems Course Schedule & Timetable

Electronic Medical Record (EMR) Request for Proposal (RFP)

Performance Testing Web 2.0

Course Code NCS2013: SharePoint 2013 No-code Solutions for Office 365 and On-premises

Using Open Source Software to Manage Policies and Clinical Guidelines. Library & Knowledge Service Derby Teaching Hospitals NHS Foundation Trust

Transcription:

Software Performance Evaluation for the Evergreen Integrated Library System

Introduction The Massachusetts Library Network Cooperative (MassLNC) is seeking proposals for consulting services to conduct a software performance evaluation of the Evergreen Integrated Library System (ILS). Evergreen is an open-source integrated library system developed by the Georgia Public Library Service to support 252 public libraries in the Public Information Network for Electronic Services (PINES) consortium. PINES completely transitioned to Evergreen in September 2006. Evergreen is now used by approximately 1,300 libraries around the world. It offers the following functionality for libraries: a metadata search engine (e.g. author, title, subject); a transaction processing engine (e.g. checkin, checkout, place request); a web application; a fund management system. MassLNC is a collaborative project among three Massachusetts library consortia that are using separate instances of Evergreen. Central/Western Massachusetts Automated Resource Sharing, Inc. (C/W MARS), as fiscal agent for MassLNC, will be the contracting agency. MassLNC will be the primary contact for coordinating the project and for making final decisions. When conducting this evaluation, the consultant(s) is expected to work directly with the open-source community supporting Evergreen. The budget for the proposed work is $50,000. Project Description Evergreen is a highly-scalable system used by many large library consortia as well as individual libraries. The size of the libraries and consortia using Evergreen varies. Appendix A provides data from one particularly large Evergreen system, C/W MARS, based in Worcester, Massachusetts. MassLNC and others in the Evergreen community have identified 1) places in the system where performance is suboptimal and 2) questions they hope can be answered through a performance evaluation. The list is available on the Evergreen wiki at: http://evergreen-ils.org/dokuwiki/doku.php?id=dev:testing:performance_issues Goals The goals for the performance evaluation are as follows: 1) to work with the community to plan for the software performance evaluation, including, but not limited to, the prioritization of areas that will be evaluated.

2) to conduct a performance audit of the Evergreen infrastructure to identify bottlenecks that negatively impact performance. 3) to work with the community to identify solutions and their impact. It is not expected that the performance consultant will implement solutions to address performance issues. Any recommended solutions will be left in the hands of the Evergreen developer community to implement. A performance evaluation is required in the three following target areas. A more detailed overview of each of these areas can be found at http://evergreenils.org/dokuwiki/doku.php?id=eg_developer_overview. Staff Client The Evergreen Staff Client is currently an application built on the XULRunner platform. XULRunner versions are roughly equivalent to Firefox versions for rendering purposes. The staff client is a combination of local and remote XUL pages, JavaScript, and the Online Public Catalog (OPAC). This includes use of the Dojo Toolkit, version 1.3 (released in March 2009). The OPAC is processed server-side with the Template Toolkit Perl Module. Specific Issues/Questions Related to the Staff Client The developer community has identified the move of staff client interfaces away from remote XULRunner as an initial step in improving staff client performance. The staff client has exhibited problems with memory leaks, a problem that has gotten worse at some sites with the release of Evergreen 2.3 in September 2012. Work has already begun to address these problems (see https://bugs.launchpad.net/evergreen/+bug/1086458). There have also been suggestions that an upgrade of the Dojo toolkit or the total elimination of Dojo from the staff client may resolve memory leaks and/or improve staff client performance. Would an upgrade of the Dojo toolkit or the total elimination of Dojo from the staff client help resolve these problems? Would a move of staff client interfaces away from XULRunner improve staff client performance? The staff client currently sends and receives individual XMLHTTPRequests. Are there any performance advantages to moving to an architecture that can support streaming requests? Messaging Evergreen is built upon the Open Scalable Request Framework, or OpenSRF. OpenSRF provides communication between various Applications and the clients that wish to call them. Each application provides a service, and usually the applications are referred to as services because of this.

OpenSRF currently works by passing JSON messages over XMPP. A very basic view of how a message passes through the system is as follows: 1. A request for a service is sent to the router. 2. The router chooses a listener and sends the request on. 3. The listener passes the message onto a drone. 4. The drone acts on the message and sends the response back to the original requester. Specific Issues/Questions Related to Messaging How does XMPP compare in performance to other modern messaging frameworks? Database Evergreen uses PostegreSQL, both in database design and stored procedures. Most stored procedures are written in SQL, PL/pgSQL, or Perl. PostgreSQL databases are split into schemas, allowing for logical groupings of related information. In addition to PostgreSQL itself, one should also be aware of the Fieldmapper Interface Definition Language (IDL), which is one of the ways Evergreen is told how to interact with the database. Fieldmapper maps database fields to Evergreen objects. The Fieldmapper IDL, or just IDL for short, is the Fieldmapper configuration file (fm_idl.xml) which tells Evergreen about all of the important aspects of the database. It is comprised of a set of class nodes, each of which contains at minimum a list of fields. In addition, each class may contain links, permissions, and in the case of fully virtual classes a block of SQL that defines the data to be retrieved. An important note: For the most part, clients and services can only talk to database elements that are defined within the IDL. The notable exception is stored procedures, which are not listed in the IDL. Specific Issues/Questions Related to the Database In general, are there database queries that can be optimized in the areas where performance has been identified as a problem? End users expect OPAC searches to be fast. Are there ways to optimize the searching of library materials through the OPAC?. Related to OPAC searching, in past versions of Evergreen, sites were able to utilize settings stored in the database to improve the relevancy of results retrieved through the OPAC. As of Evergreen 2.0, many sites deactivated the settings in this table because searches became too slow (see https://bugs.launchpad.net/evergreen/+bug/844374). Is there a way to optimize searching so that tools like these can be re-implemented?

Description of Services Required Prospective consultants should submit proposals that outline the process for the performance evaluation. The proposals should cover the following: Planning Proposals should outline how the consultant will work with the Evergreen community to plan for the performance evaluation, including further identification and prioritization of areas that will be evaluated, as well as working with MassLNC to ensure that a proper testing environment is available. Performance Evaluation Consultants are invited to submit proposals for one, any, or all of the target areas identified above (staff client, messaging, database). Proposals should outline the consultant s methodology for measuring performance in the target area. Communication As part of the proposal, consultants should identify preferred communication methods both in the planning phases and during the actual evaluation. Please indicate how status updates will be delivered through the course of the project. Please note that direct communication with MassLNC should be limited to contractual and coordination details. Other communication should be done directly with the Evergreen community using the following channels: The #Evergreen IRC channel on the Freenode network - http://evergreenils.org/irc.php. The Evergreen Development Discussion List and General Mailing List - http://evergreen-ils.org/listserv.php. The Evergreen wiki - http://evergreen-ils.org/dokuwiki/doku.php?start Responding to this Request Please submit your proposal electronically in PDF, OpenOffice and/or Microsoft Office format. In responding to this request, the proposal should include the following components: Methodology: Identification of the target area(s) (i.e. staff client, messaging, database) for which you are submitting a proposal and a description of the methodology that will be used to conduct the performance evaluation. Test Environment: MassLNC will provide a test environment for the performance evaluation. Please provide any preliminary details about the test environment that will be required to support the performance evaluation.

Timetable: Please include an estimated timeframe for the project. Cost Proposal: Please include an estimated cost for the project, keeping in mind that the project budget range is $50,000 to perform an evaluation in all three target areas. Relevant Experience: Detail your or your firm s experience in the following areas: o o o Conducting software performance evaluations, particularly for systems that handle a high volume of transactions; Working with Free/Libre/Open Source Software (FLOSS) communities; and any other experience you believe is relevant to this project. References: Please provide three references. Timeline Please return the completed proposal to Kathy Lussier by 11:59 p.m. (EDT) Wednesday, April 24, 2013. Requests for clarification or additional information should be sent to Kathy Lussier by 11:59 (EDT) Friday, April 10, 2013. Responses to these requests will be posted on the MassLNC web site at www.masslnc.org by April 17, 2013. The schedule for the issue of this RFP is expected to be as follows. The timetable may be subject to change at the discretion of MassLNC. Milestone Deadline Release of Request for Proposals Monday, April 1, 2013 Questions from potential respondents for clarification or additional information 11:59 p.m. (EDT) Wednesday, April 10, 2013 Answers to questions submitted by potential respondents Wednesday, April 17, 2013 Proposals due 11:59 p.m. (EDT) Wednesday, April 24, 2013 Selection of consultant May 3, 2013 Anticipated commencement date of work May 13, 2013

MassLNC reserves the right to: A discontinue this procurement process without obligation or liability to any potential vendor; B accept or decline any or all proposals; C accept all or any part of any proposal, unless specifically stated otherwise in the proposal by the respondent; D accept other than the lowest priced proposal; E award more than one contract. Contact: Kathy Lussier, Project Coordinator Massachusetts Library Network Cooperative klussier@masslnc.org 508-343-0128

Appendix A Data from the C/W MARS Evergreen System Central/Western Massachusetts Automated Resource Sharing, Inc. (C/W MARS) is an example of a large-scale consortium using Evergreen. The intent of the below data is to give prospective consultants an idea of the database size and level of activity that Evergreen needs to support with minimal impact on performance. Database statistics as of 3/10/2013 Number of Library Systems: 149 Number of Individual Library Branches: 170 Number of Users: 1,133,825 Number of Bibliographic Records (a record representing a specific edition of a title): 2,251,590 Number of Copy Records (individual barcoded items associated with the bibliographic records): 8,597,202 Volume of Transactions during Busy Hours Tuesday, March 5, 3-4 PM Checkouts: 6,204 Checkins: 5,930 Hold Requests: 715 Total Checkouts, Checkins, and Hold Requests: 12,849 Wednesday, March 6, 3-4 PM Checkouts: 6,224 Checkins: 5,356 Hold Requests: 641 Total Checkouts, Checkins and Hold Requests: 12,221 Thursday, March 7, 3-4 PM Checkouts: 5,200 Checkins: 3,984 Hold Requests: 631 Total Checkouts, Checkins and Hold Requests: 9,815

Appendix B - Glossary Fieldmapper Interface Definition Language (IDL) - The Fieldmapper IDL, or just IDL for short, is the Fieldmapper configuration file (fm_idl.xml) which tells Evergreen about all of the important aspects of the database. It is comprised of a set of class nodes, each of which contains at minimum a list of fields. In addition, each class may contain links, permissions, and in the case of fully virtual classes a block of SQL that defines the data to be retrieved. Integrated Library System (ILS) - An integrated library system is a system for libraries to track items ordered and owned, bills paid, and users who have borrowed materials. Online Public Access Catalog (OPAC) - The OPAC is the web application the public uses to search the database to find materials owned by the library. In Evergreen, the OPAC is also embedded in the staff client. The OPAC within the staff client may display some information that is not seen when accessing the OPAC via a standard web browser. Open Scalable Request Framework (OpenSRF) - OpenSRF provides communication between various Applications and the clients that wish to call them. Each application provides a service, and usually the applications are referred to as services because of this. OpenSRF works by passing JSON messages over XMPP Staff Client - The staff client is the client used by library staff to perform functions like ordering library materials, adding library materials to the database, checking materials in and out to users, sharing materials with patrons at other libraries, finding library materials, managing user information, accepting payments from users, and creating/retrieving statistical reports.