Metasafe - Functional Architecture

Metasafe is a general purpose DBMS with an entity-relationship metamodel. The primary purpose of Metasafe is to provide a secure, flexible and user friendly multi-user data management platform for applications.

Metasafe based Applications

typically deal with complex, fine grained data which are connected by a network of relationships.  Typical applications are repositories, analysis, planning and reporting systems, development tools (i.e. the applications which are used by developers), configuration management.

Metasafe Tool-Set

contains general purpose tools to develop / maintain / document models, to browse / enter / import / export instance data. The tools are fully model driven – i.e. changes to the model will automatically be handled by the tools. The tools are based on the Eclipse framework with configurable plugins.

Access Language erSQL - beyond SQL

erSQL is a powerful and user friendly query-language for users AND application developers. It describes a query as a navigation in the conceptual model in contrast to the JOIN-Logic of the "RDBS-SQL".

The Metasafe API

provides a large set of methods for a java developer to ensure control over all functions of the database provided by the metasafe core. The erSQL-Query-language is integrated in the API.

The Metasafe Core

handles all access requests from multiple users in transaction mode. Metasafe core enforces the ACID-principles (Atomicity, Consistency, Isolation, and Duration). The metasafe core maintains the structure of the models and the pending data in a cache. It compresses/decompresses the data and stores them via the persistence interface.

The Persistence Layer

uses a set of tables of an RDBMS for the physical storage of the data. The system has been implemented for several RDBMS and can be adapted easily to any other RDMBS.