Open Source Metadata-Based Java ORM Framework for Cloud SaaS Applications

Athena Framework is a full fledged enterprise object-relational mapping (ORM) framework that employs metadata as mapping configuration. It greatly simplifies Java web application development by removing the requirement of manual mapping and manual database schema updating. In addition to features like Java object persistence, powerful EJBQL querying execution and comprehensive code generation, Athena has built-in support for multi-tenancy which enables developers to build cloud applications easily. Athena can be easily integrated with other libraries like Struts or Spring to provide full stacks of service.

What We Do Not Like about Traditional ORM Libraries

Too much unnessary work. Let's say we have a field Employee.address with type VARCHAR(100), and later we found that address could be of length 200 and it may contain multi-byte characters. To make the change using a typical ORM library, at least we need to:

  1. change column Employee.deliveryAddress to NVARCHAR(256) in the database;
  2. update XML mapping configuration;
  3. update validation code of the user interface.
Such manual synchronization process is time consuming and error prone, and a simple change like that could easily take 20 mins or more. There must be a simpler way to do it.

Implementing Change at the Speed of Your Thought

Athena makes performing changes a breeze. For the above example, you only need to do one thing: use the free GUI tool Athena Console to find the attribute Employee.address and change its type. Behind the scene, Athena Framework does the following for you:

  1. automatically change column Employee.deliveryAddress to NVARCHAR(256) in the database;
  2. automatically updates metadata;
  3. generate source code when you press 'Generate source code' button.
You do not need to change the validation code as you can access the metadata at runtime to validate according the actual defintion of the attribute Employee.address.

Create Your Own Salesforce.com! Developing Cloud SaaS Applications Easily

With simple configuration, you can easily enable your application to serve multiple client organizations using just one instance. Multi-tenancy is one of the key enabling technologies for cloud computing, and it enables the fundamental economic benefits of a shared resource and is a much faster way to deploy improvements.

Athena has built-in support for multi-tenancy. By setting the multitenancy flag, your application becomes cloud ready instantly! When EJBQLs get executed, Athena will generate SQLs that enable multi-tenancy. Any Athena based application can be turned into a multi-tenancy application instantly.

For details, please review list of features of Athena.