devloop icon
Metastores

Overview

Metastores (aka "mts") is a framework for developing Java applications, it was started in 2001 to respond to the growing need to enrich Java code with reliable meta data - hence its name.
The key concept is that we believe that the meta data crosses the boundaries of normal tiered development.

To take a practical example, most objects will generally have validation rules (ie: less than 12 characters, no negative numbers, uniqueness, ...) and these rules need to be applied:

  1. in the database (if the data is stored)
  2. in the business logic (to prevent corrupted data from entering the system)
  3. in the user interface (like html forms)

Current technologies (including EJB 3.0, Hibernate, JDO and others) simply do not offer the ability to cross those boundaries without polluting the code with irrelevant dependencies and information.
Metastores solves this problems by completely separating the meta data attributes from the code that consumes them. The meta package provides the building blocks for all the other layers, which allows these layers to remain separate (clean separation of concerns) whilst sharing the rich meta data.

Metastores provides a pluggable framework for:

  1. Configuration of the source of the meta data
  2. Database backends taking advantage of that extra meta data
  3. Validation logic accross layers
  4. User interface taking advantage of the meta data
  5. Allows custom code to access and modify the meta data