ICAT Project



Technical Architecture

TODO: Describe the ICAT technical architecture ie. major dependencies, technologies (eg. REST), design patterns. Check and correct this, add links: The major components of the ICAT software are written in Java with installation scripts and supporting utilities written in Python. The software is written for the Java Enterprise Edition platform and runs inside an application server such as Glassfish (or its successor, Paraya). The main Java/JavaEE APIs used are:

  • Java Persistence API (JPA) backed by MySQL or Oracle
  • Apache HttpComponents
  • Java Json ...
  • Java REST API (JAX-RS) provided by Jersey?
  • Apache Lucene for searching
  • and more...

ICAT uses Maven for the build system and jUnit for testing.

How To...

TODO: with reference to Component Guidelines, the icat.server wiki and the ids.server wiki.

Reference Documentation

TODO: link to JavaDoc?

Each component has documentation automatically generated by Maven. TODO: information on what is contained in this documentation. The Maven documentation is available here. To find the Maven documentation for icat.server version 4.8.0, for example, either follow the links or append icat/server/4.8.0/ to the URL. For convenience, the latest releases of the major components are listed below: