InterMine projects
The InterMine code is divided into a number of libraries to define a broad separation of funtionality with defined dependencies. Each library contains smaller projects of different types for compiling code, running tests, etc.
Core Libraries
objectstore
This contains core code for object/relational mapping, object/xml mapping and executing object queries. A metadata API allows inspection of data models? and is used for automatic generation of Java code and database schemas. This library also contains the generic SQL query re-writing system.
integrate
Depends on objectstore and includes code for loading data into an InterMine system, including a data integration system. This includes support for retrieving and translating data from several source formats, such as relational databases, XML (defined by XML schema) and flat files. This library is designed for use only when building an InterMine warehouse and is not needed in production environmets.
Web Libraries
web
Depends on objectstore, contains Java code used by the webapp. This includes a Java representation of an InterMine query used by the webapp and results viewing. Also suppost for elements of the userprofile system - saving bags, queries and templates and for rendering aspects and tags.
webapp
Depends on web and includes JSPs, icons and configuration deployed in a web application.
webtasks
Depends on web and integrate. Contains code for operating on a webapp but not code that used at runtime. For example, loading tags and template queries, pre-computing templates and porting userprofile databases between releases.
webservice
Depends on objectstore. Code to build and deploy a SOAP based client/server version of an ObjectStore.
