Athena Framework: an ORM Framework with Native Support of Multi-Tenancy for Developing Cloud Saas Applications

Discussions

News: Athena Framework: an ORM Framework with Native Support of Multi-Tenancy for Developing Cloud Saas Applications

  1. Athena Framework, licensed under LGPL 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.

    Developing Multi-Tenancy Cloud SaaS Applications With Ease

    A multi-tenancy application enable a single instance of the software runs on a server, serving multiple client organizations (tenants). Athena allows you to easily develop shared schema multi-tenancy applications like salesforce.com. To turn an application to multi-tenancy, you simply set the multitenancy flag in the configuration file. For example, EJBQL SELECT e FROM Employee e LEFT JOIN FETCH e.dept results the following native SQLs when multitenancy is true and false respectively:

    SELECT e.employee_ID, e.fullName, e.department_ID, d.department_ID, d.nameFull FROM Employee e LEFT OUTER JOIN Department d ON e.department_ID = d.department_ID

    SELECT e.employee_ID, SELECT e.employee_ID, e.ORG_ID, e.fullName, e.department_ID, d.department_ID, d.ORG_ID, d.nameFull FROM Employee e LEFT OUTER JOIN Department d ON e.department_ID = d.department_ID AND d.ORG_ID = 1 WHERE e.ORG_ID = 1

    As Athena handles multi-tenancy automatically, you can foucs on implementing business logic.

    For detials, visit Athena Framework for Java Homepage:

    http://www.athenasource.org/java/

     

  2. another ORM?[ Go to top ]

    I will check it out.. but I have to ask.. does it do something different besides multi-tenancy? Hibernate has been doing the injection of an "Organization id" where clause for years..
  3. another ORM?[ Go to top ]

    I will check it out.. but I have to ask.. does it do something different besides multi-tenancy? Hibernate has been doing the injection of an "Organization id" where clause for years..

    In Athena, multi-tenancy support is transparent - you do not need to spent time caring about org id and you can turn multi-tenancy on or off using a flag. While in Hibernate, you need to do a lot of configurations and programming - declare filters for each class, enable filters in session, set org id (session.EnableFilter.setParameter).

     

    Disclaimer: I'm one of the developers of Athena Framework.

     

     

     

  4. another ORM?[ Go to top ]

    hmmm never really found adding a filter annotation difficult but again I'll have to take a look.. though in all honesty not going to rewrite my functional persistence layer anytime soon.. By transparent I don't have to do anything and the tables that require multi-tenancy gets it and the ones that don't need it don't get it? How does it know which to apply to and which to not apply to?
  5. You can handle multi-tenancy with JPA Security as well - and get additional access control along the way.

    http://jpasecurity.sf.net

  6. this is the first time i see Athena, but i have following simple questions

    1:what differents between hibernate and Athena.

    2:I can see that Athena make works more simple, seems it doesn't need to write so many configuration files, but as my consideration, configuration make work more clear, but do not make them too many.

    3:if our architecure is base on cloud architect, what amazing ideals can Athena give us ?

  7. Hi

    1. Hibernate and Athena Framework are both ORM frameworks. All ORM frameworks require metadata to work. Athena's metadata is stored in the database and provides much more information than Hibernate's. The so called rapid application development platforms Salesforce.com, Quickbase, Oracle Application Express and many others allow you to build applications much faster than the traditional way. Well, Athena provides essential functionalities of those rapid app dev platforms, however unlike them, Athena is open source.

    2. I totally agree with you that configuration makes coding clear. We used to build applications using a very popular Java framework and all the smart implicit behaviors offered by it make our code hard to understand. In Athena, we try our best to avoid mysteries.

    3. With Athena, you save the effort of reinventing the wheel when you build SaaS applications like salesforce.com.

     

  8. If your hocking a product in a small article, it would be wise to use correct grammar and spelling.
  9. retard[ Go to top ]

    As if your english grammar and spelling is all that great!