ALVILA DataFlyer je nástroj pro interaktivní přístup k obsahu databází. Jeho hlavním cílem je zefektivnit práci s uloženými daty – zrychlit ji a zjednodušit. Podstatné přitom je, že DataFlyer tyto výhody přináší jak uživatelům, kteří se s databázemi ještě nesetkali, tak i administrátorům a vývojářům, pro které jsou SQL a databázové technologie každodenní rutinou. Díky DataFlyeru je možné procházet i databázi, jejíž schéma (vnitřní strukturu) uživatel vůbec nezná, prozkoumávat relace mezi entitami a podle potřeby záznamy nebo jejich část exportovat do formátů umožňujících další zpracování.
Databáze jako objektový model
Aby mohl DataFlyer číst data z dané databáze a tvořit databázové dotazy, musí nejdříve zjistit její schéma. To je při konfiguraci připojení k databázi načteno standardní cestou přes JDBC ovladač. DataFlyer však není dalším z dlouhé řady generických nástrojů pro procházení databáze v relační formě – namísto toho se snaží o reprezentaci dat v podobě objektového grafu (vzájemně propojených objektů). Databázové schéma je proto po načtení transformováno na ekvivalentní objektový model, který se dále nazývá doménový.
Eclipse Modeling Framework
Zásadní vlastností doménového modelu je možnost jeho zpětného namapování na zdrojové databázové schéma. K reprezentaci doménového modelu je využit Eclipse Modeling Framework (EMF). Ten umožňuje popis struktury doménového modelu (metamodelu dané domény), která je objektovou paralelou schématu relační databáze. Další funkcí EMF je reprezentace jednotlivých databázových záznamů jako instancí tříd doménového modelu s širokými možnostmi reflexe.
DF concept
Grafické rozhraní vytvoří ALVILA Skills
Kromě doménového vzniká při konfiguraci databázového připojení ještě jeden EMF model – model uživatelského rozhraní (UI model). Zatímco model doménový popisuje strukturu dat, která jsou načítána z databáze, UI model říká, jakým způsobem jsou tato data reprezentována v uživatelském rozhraní. Mezi oběma modely tedy existuje těsná vazba. K samotnému vykreslení uživatelského rozhraní je použit framework ALVILA Skills. Ten nejdříve na základě UI modelu připraví příslušný formulář a následně v něm zobrazí data načtená z databáze v podobě instancí tříd doménového modelu.
Hibernate pro objektově relační mapování
K objektově relačnímu mapování využívá DataFlyer nástroj Hibernate. Díky němu mohou uživatelé formulovat dotazy v podobě omezení nad objektovým grafem. Při vytváření dotazu lze přitom volně přecházet přes asociace mezi objekty, a to bez ohledu na fyzickou reprezentaci relace mezi databázovými záznamy. Hibernate se následně postará o vygenerování odpovídajících SQL dotazů směřovaných na databázi a namapování výsledků z relační podoby do objektového grafu. Ten pak slouží jako datový vstup do uživatelského rozhraní připraveného frameworkem ALVILA Skills. Ke konfiguraci Hibernate je využita technologie Teneo (jeden z podprojektů EMF), zabezpečující persistenci databáze. Výhodou využití Hibernate je široké spektrum databázových systémů, které nástroj podporuje.
Další informace
Hibernate
www.hibernate.org
Informace o objektovém modelování
Object Management Group – www.omg.org