Metastores 1.2.0

Metastores is a framework for developing Java applications.
Metastores (or mts for short) is a framework for developing Java applications. The key concept is that the developers believe that the metadata crosses the boundaries of normal tiered development.

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:

in the database (if the data is stored)
in the business logic (to prevent corrupted data from entering the system)
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.

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:
Configuration of the source of the meta data
Database backends taking advantage of that extra meta data
Validation logic accross layers
User interface taking advantage of the meta data
Allows custom code to access and modify the meta data

Requirements:

Java Runtime Environment

What's New in This Release:

Core
Use ClassRegistry for easy access to most common types and utilities
Allow plugins to provide their own suitability rating method (via annotation)
Class initialisation via ClassFileUtil can now use any MetaInfoSource
Reviewed all threading/locking issues
Serialization fixes
Better CPU detection code for OS/performance tests
Record vmstat (idle and context switches) in OS/performance tests
New threaded tests - used for testing task scheduling
Improved Enum handling

Storage
Allow explicit transaction handling using ObjectTransactionGroup. (see for usage example)
Better cache flushing code - also added UDP network based flush
Easily add write locking for objects using annotation (adds optimistic locking on the fly)
Return Lists rather than Collections from I/O read
avoid mapping read-only fields
do not use order by when reading one object (pointless)

Database
Allow code to request transactional support from the database (causes MySQL to create InnoDB tables)
Full support for HSQLDB
Initial support for sqlite (may never be fully supported due to lack of standard SQL features)
Stricter column nullability attributes
New fully tested table mapping strategies
Optimized access to tables using JOIN queries when possible
Potential harmless stack traces removed from logs (because of closed prepared statements)
Validation of operators against the database type (only character types support the 'like' operator, etc..)
Multi-threaded multi-table tests
Added DatabaseMetaInfoSource
Automatic handling of SQL syntax for IS NULL/IS NOT NULL
Firebird and Postgres had bugs when using DBCP for unit tests
bug where Order by clause was repeated

last updated on:
October 16th, 2007, 8:05 GMT
price:
FREE!
developed by:
Nagafix Ltd
homepage:
devloop.org.uk
license type:
GPL (GNU General Public License) 
category:
ROOT \ Database \ Database APIs

FREE!

In a hurry? Add it to your Download Basket!

user rating 5

1.6/5
 

0/5

Add your review!

SUBMIT