GPMSWiki/TermsAndConcepts

From BRF-Software
Jump to navigation Jump to search

Terms and Concepts used within the GPMS

For the design of the General Project-Management System, specific elements can be identified that represent real world objects or reflect the relationships between individual components involved in a project. These core objects are defined below in order to clarify their use in the following sections.

User

A User simply represents an individual person that has at least a name, an account, and an e-mail address.

Project

A Project indentifies a specific scope for research or ongoing work, e.g. a Project can be defined for the annotation of a newly sequenced bacterial genome. In most cases a Project is defined for and related to a special software application, e.g. a genome annotation system.

Member

A User has to become a Member of a Project for accessing the Project s data. Thus, a Project has a number of associated Users and each User knows about the Projects she/he is involved in.

Role

The level of access to a Project s data can be specified by assigning well-defined Roles to each Member. A Role thus represents a set of access privileges or permissions (see DB_Privileges below).

Right

Since most database management systems use their own access control mechanisms, access is not granted directly based on these privileges. The General Project-Management System therefore features the definition of Rights as free text descriptions that reflect a specific task for which a certain level of data access is required (e.g. basic access or annotate).

Project_Class

Since all data access control should follow the same rules for every Project of the same application type, Roles and Rights are not defined for an individual Project but for a Project_Class. For example, the Project_Class GenDB uses the Roles guest, annotator, maintainer, developer, and chief for all genome annotation projects (see section A.1).

DB_Privileges

DB_Privileges represent privileges that are used by a specific RDBMS for controlling access to individual databases. Thus all Rights have to be mapped onto appropriate DB_Privileges.

DataSource

A DataSource describes a storage backend for Project related data that is located on a Host (e.g. a database server). This can be either a database (DB) stored on a DB server machine or an ApplicationServer that provides data e.g. via web services. A DB can be further specified by the type of the database management system (DBMS_Type).

DataSource_Type

A special DataSource_Type can be used to determine the specific type of a DataSource. The DataSource_Type contains information about the internal structures of a DataSource (e.g. tables of a database) and thus all DB_Privileges refer to a corresponding DataSource_Type.