Technical Architecture

For the mobile application to obtain citation information, it needs to be able to associate a physical item (such as a book) to the relevant bibliographic information. We plan to provide a RESTful service that can take a lookup value, such as a barcode number, and then search bibliographic sources for useful data for the user. For example, in the case of our library stock, each item has a barcode number that can be used as a unique identifier to search our library catalogue, Aleph.

It is better to provide a intermediate service rather than allowing the application to query Aleph directly. It will be easier to extend the service to support different and multiple bibliographic sources without having to update the application on the phone. The service will just continue to return data in a format that the application understands.

The service can also be used to store and query the usage statistics that are of interest to the library staff.

Below is a diagram of the planned architecture:

Proposed architecture

I’ve already made a modest start on the development of the service, by querying Aleph through the X-Service API for details of a item via a barcode lookup. For those interested, I’m using JAX-RS (Jersey) to provide the RESTful service and the Spring Application Framework for dependency injection.