utorok 25. októbra 2011

Athena framework pre multitenancy aplikácie.

Athena framework.

Athena Framework je plnohodnotný objektovo-relačný mapovací (ORM) rámec, ktorý využíva metadáta na mapovanie konfigurácie. To značne zjednodušuje vývoj webových aplikácií tým, že odstráni požiadavku manuálneho mapovania a ručné aktualizácie schémy databázy. Okrem funkcií, ako je perzistencia Java objektov, silný EJBQL dotazovanie výkon a komplexné generovanie kódu, obsahuje Athena zabudovanú podporu pre viac tenantov (nájomcov), ktorá umožňuje vývojárom ľahko vytvárať cloud aplikácie. Athenu je možné jednoducho integrovať s ostatnými knižnicami, ako je Struts alebo Spring a poskytnúť plnohodnotné stohovanie služieb.


Nevýhodou tradičných ORM knižníc je prílišná prácnosť pri zmene. Povedzme, že máme pole Employee.Addresses typu VARCHAR (100), a zistíme, že adresy by mali byť v dĺžke 200 znakov a môžu obsahovať viac bytové znaky. Ak chcete vykonať zmenu pomocou typickej ORM knižnice potrebujete na to:

  1. Zmenu stĺpca Employee.Address na nvarchar (256) v databáze.
  2. Aktualizovať mapovanie XML konfigurácie. 
  3. Aktualizovať validačný kód v užívateľskom rozhraní.


Takáto manuálna synchronizácia je časovo náročná a náchylná k chybám. Jednoduchá zmena može trvať aj viacej ako 20 minút.


Athena framework tieto zmeny vykoná za vás ak použijete Athena console GUI nástroj, tak jedinou úlohou bude nájsť atribút Employee.address a zmeniť jeho typ. Athena sa postará o :

  1. Automatickú zmenu stĺpca Employee.Address na nvarchar (256) v databáze.
  2. Automatickú aktualizáciu metadáta.
  3. Vygeneruje zdrojový kód na validáciu po tom čo stlačíte tlačítko 'Generate source code'.  




Viacej informácii o Athena frameworku nájdete priamo na stránkach Athena framework for JAVA