EMMAWiki/TermsAndConcepts/ForDevelopers/ArchitectureOverview
Terms and Concepts: Architecture
This drawing shows the main components of the EMMA-Software:
EMMA has a so called 3-tiered architecture which makes up a distributed application:
- Backend: A relational database management system (eg. MySQL) is the central storage component
- Middle layer:
- The O2DBI provides mapping of perl object on relational tables and provides an API to access all data-objects
- The BRIDGE-layer provides remote access to EMMA objects for other software like GenDB and ProDB and to GenDB and ProDB objects for EMMA
- Front-end
- The main front-end is the web-interface
- There are also some commandline scripts to perform administrative functions
Each functionality in EMMA has to use the API to access objects stored in the database. The web-interface accesses the API to depict the data in a human readable way. The analysis pipeline is capable of performing a sequence of function applications on data. It also accesses its data via the API. The control functions of the analysis pipeline are itself part of the API so that the web interface can start the analysis via API-invocation.
The cube storage module Succubus serves for transparently storing large quantitation data-sets as binary data files (in HDF5 format) on the disc. This is a very efficient way to store and retrieve such large amounts of numerical data.
Finally the GPMS provides access control features. See the GPMS-Wiki for details.