IsoveraDL Software as a Service Software Requirements Specification

Document Summary

This document specifies the requirements for the Software as a Service (SaaS) implementation of the IsoveraDL collections tool. Selected BEN collaborators will be able to host their Collections with IsoveraDL SaaS. Each SaaS Collection will be constantly monitored and updated. All SaaS Collections will contain a distinct URL, a separate database, a separate data storage space and run independently to each other. The BEN Collaborator hosting the Collection will be the owner of the data in their database and file system.

Revision History

Date Version Description of Document Updates Author
1/2/2008 0.1 First draft Smostafa
4/9/2008 0.2 Second draft Smostafa
4/10/2008 0.3 Final Smostafa

Purpose

The purpose of the IsoveraDL SaaS implementation is to provide BEN collaborators with a way to host their libraries online using the IsoveraDL collections tool without having to install, maintain, or manage an IsoveraDL server. The resulting aim is to make the IsoveraDL tools accessible to Collaborators at little or no cost to them.

Scope

Selected BEN Collaborators will be able to host their IsoveraDL Collection through the IsoveraDL SaaS centralized infrastructure. The SaaS infrastructure will run on a single server or group of servers in a centrally managed location. However, each IsoveraDL SaaS Collection will act like a standalone IsoveraDL implementation. A BEN partner who is set up with a SaaS implementation will be able to use all functionalities of IsoveraDL including Metadata Management, Records Management, Records Validation, Submission Forms Management, Peer Review, Search and Browse, User Management. Each collection will have its own separate database. The Collection Manager of each collection will have the ability to easily notify Isovera of any issues with their collection that require attention.

All IsoveraDL SaaS implementations will run independently of each other. They will be constantly monitored and updated with the latest bug fixes and feature upgrades. In order to ensure a high level of performance from all instances, Isovera will take the following steps prior to implementation:

  • Perform load testing internally on a server with expandable processing power to estimate the processing power required for running multiple instances of IsoveraDL on a server.
  • Install and use monitoring and reporting tools that automatically warn Isovera Admin if an instance is running slow.
  • Develop scripts that will allow Isovera Admin to easily temporarily disable or restart a particular instance without affecting others.

System Overview

IsoveraDL SaaS Collections will perform as standalone instances. Each Collection will have a separate database, separate data storage areas, unique domain name and different design templates. The BEN Collaborator hosting the Collection will be the owner of the data in their database and file system.

Each IsoveraDL SaaS server will contain a staging and a live environment. Initially both environments will be set up using the most up to date version of IsoveraDL. After initial set up testing and troubleshooting will be done on the staging environment and then the tested stable code from the staging environment will be moved on the live environment.

The staging environment is for testing purposes only and will only be accessible by Isovera and the BEN collaborators. The live environment will be used to serve the SaaS collections to the all World Wide Web users.

When a BEN Collaborator hosts their collection with IsoveraDL SaaS, initially their collection will be set up in the staging environment. The collection specific configuration/developmental work will be done and tested on the staging server. This will include setting up a database, assigning domain name, applying design templates and data migration (see more on data migration below). Once the collection is set up and tested on the staging environment and approved by the owner of the Collection, all the work done on the collection in the staging environment will be uploaded to the live environment by cloning the Collection from the staging environment. Cloning will not include any data from the database or files from the file storage. It will include core, the html templates and required configuration files.

Future IsoveraDL bug fixes and functionality enhancements will first be applied and tested in the staging environment and then made available to the live environment by making use of the version control system.

Initially one server will be used to host multiple IsoveraDL SaaS collections. However, once the number of SaaS Collections increase, the use of more than one server may become necessary.

Standalone Instance

An IsoveraDL SaaS Collection will act exactly as a standalone IsoveraDL Collection. Users of IsoveraDL SaaS will have access to all IsoveraDL functionalities and will not see any difference between the SaaS instance and an IsoveraDL implementation in a single server.

Each SaaS Collection will have a separate database and separate file storage space for uploaded learning objects. The front end of a SaaS instance will conform to templates and style guides provided by the BEN collaborator in charge of the SaaS instance.

Secure file system

IsoveraDL SaaS will make use of a secure file system. Collection Managers will not have access to the files on the system. This does not mean that Collection Managers and other users of IsoveraDL will not have access to the learning objects uploaded through the system. Where permitted the users will be able to view, download or upload new copies of the learning objects through the IsoveraDL interface. However, the Collection Managers or any other users will not have direct access (such as via SSH or FTP) to the server to view/edit/delete these learning objects or any part of the code base or the database that is running the system.

Domain name structure

An IsoveraDL SaaS will have the following domain name:

<COLLABLRATOR_SHORT_NAME>.IsoveraDL.org (tentative)

For example, the domain name for the AAAS General Biology Collection will be

genbio.IsoveraDL.org

The system will identify each instance by this short name. Which means that depending on this short name the System will understand which collection to present to the user. In more technical terms, the system will use this short name to select the specific database and the design templates for the collection.

Data Import/Data Migration

Data migration will be handled on a case by case basis, depending on the complexity of the existing database structure of the Collaborator in concern.

Maintenance and Scalability

Aside from functionalities such as Metadata Management, Records Management, Records Validation, Submission Forms Management, Peer Review, Search and Browse, User Management etc. provided by IsoveraDL, the Collection Administrators and Collection Managers of a SaaS instance will have the extra functionality to easily report and get feedback on issues with their IsoveraDL instance to Isovera. This will be done by using the Isovera Issue Tracking system. When a new SaaS environment is being set up, a project will be opened in the Isovera Issue Tracker for the SaaS instance and the Collection Managers of the SaaS will be granted access to report issues on this project. Access information to the Issue Trucker will be sent to the Collection Managers during the time of set up. A page will be made available to the Collection Managers with links and instructions on using the Issue Tracker.

IsoveraDL SaaS implementations will be constantly maintained and updated as necessary. Monitoring tools will be used to automatically notify Isovera of any performance issues with a SaaS instance. If any upgrades/fixes are made to the core IsoveraDL system, they will be reflected in all SaaS instances. In other words, the SaaS instances of IsoveraDL will always have the most up to date code at no effort/cost to the BEN partners using the instance.

Monitoring and Statistics

Performance monitoring tools will be used to constantly monitor the performance of the server. These tools will be set up to report to Isovera if the performance of any of the SaaS collection goes below a specific threshold.

Each SaaS collection will also be set up with Google Analytics with which web-stat reports may be easily generated for analysis. Collection Managers of each SaaS Collection will either provided with these reports on demand or on a regular basis.

SSL

IsoveraDL SaaS will support SSL access to allow secure, encrypted authentication for user authentication and other sensitive activities.

CSO friendly

IsoveraDL SaaS instances will be implemented in such a way that in the future community sign on features can be easily integrated.

Metadata Harvesting

Each IsoveraDL SaaS implementation will support OAI PMH (v 2.0 or higher) metadata harvesting. Each collection will be able to provide metadata in BEN-LOM format. Metadata will be harvested to the BEN Portal on a regular basis. .

Server setup

To ensure the ease of maintenance and sustainability, the IsoveraDL SaaS environment will support:

  • Launching new IsoveraDL SaaS Collections with minimal technical effort
  • Upgrading existing Collections with ease
  • Continuous server monitoring
  • Bringing individual collections up or down

Server Requirements

  • Linux
  • Apache
  • PHP 5
  • MySQL 5
  • Samba (tentative)
  • SVN (tentative)
  • Monitoring Tools