12.07.2015 Views

The Computational Materials Repository

The Computational Materials Repository

The Computational Materials Repository

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

58 <strong>Computational</strong> <strong>Materials</strong> <strong>Repository</strong>Figure 3.1: Data flow diagram of CMR. Blue: user interface components; purple arerepository components; db-files are denoted with red font; black: diverse. Light bluecolor signifies third-party components.CMR Python package that is accessible for other components as well. Db-filesgenerally store the data of a single calculation and are used within CMR as acontainer to transfer or store data. Since db-files are identified by their contentand not by their file names and directory locations they are collected in a singledirectory, the db-file repository (3.3.2.1). <strong>The</strong> data in the db-file repositoryhas normally two purposes: it is kept for long-term storage as a backup and itshould be accessible for further analysis. Since it is not very efficient to querya db-file repository, the files are uploaded to the (CMR) database (3.3.2.3).To allow queries to be executed efficiently, the data is rearranged in a bettersearchable way during the upload. As a consequence of this scheme the data isstored twice in the system: in the db-file repository as long-term storage and inthe database for fast access. <strong>The</strong> figure shows a local repository that is notconnected to a database as well. This is to show that CMR can also performbasic queries on the db-files as if they were located in a database - although theyare a bit slower.<strong>The</strong> user interfaces hide the complexity behind intuitive commands and functions.<strong>The</strong>re are four user interfaces with different purposes: the command line interface(CLI) (3.3.1.1) is executed in a command shell, is the most basic interfaceand allows to create and administrate db-files locally as already described insection 3.3.1.1. <strong>The</strong> python user interface (PUI) (3.3.1.2) is the most powerfuland provides scriptable access to the local/third-party CMR databases, is able toretrieve data from the local/third-party PHP/HTML interfaces (3.3.1.3) as wellas providing basic scriptable access to a local db-file repository. <strong>The</strong> PUI can

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!