Chapter 2: Architecture


A Ding installation consists of several layers of code, software and services used by or developed for Ding. Each layer deals with separate aspects of the overall purpose of creating a website where loaners can search the library catalogue and library employees can maintain content.

The following diagram provides an overview of each of these layers and how they combine when loaners use a Ding website.

The diagram should be read as follows:

  • When accessing a Ding website the user accesses a Ding server running a webserver with Drupal installed.
  • The user is presented with web pages based on the local library theme which uses the Dynamo base theme.
  • The user authenticates herself against a Ding provider implementation.
    • The provider implementation communicates with the library system. This usually occurs using a HTTP/REST/XML based protocol and Drupal Core HTTP functions.
  • The Ting Drupal modules handle searching the library catalogue and display of object and collection data.
    • Object and collection data is retrieved in the JSON format from the Open* services through a HTTP/REST based protocol using Drupal Core HTTP functions.
  • Object covers is handled by the ting_covers module.
    • The module uses the ADDI client to retrieve cover images from the ADDI webservice using SOAP
    • Cover image files are manipulated by the Drupal imagecache module.
  • Availability and location data is provided by a Ding provider implementation.
  • During this process the following resources are used on the server
    • Varnish HTTP accelerator
    • APC PHP accelerator
    • Memcache caching system server
    • File system
    • MySQL database server