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 set up a development environment
- How to build ICAT
- How to submit a patch
- How to write a storage plugin for the ICAT Data Service
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:
- ICAT Server 4.8.0
- TODO: add more eg. IDS, auth, storage plugins