Menu

Main_Page

Anonymous Joerg Reichert
Attachments
Dreirad_logo_mid.png (95859 bytes)

3RAD

Beschreibung

3RAD ist ein modelbasierter Generator für 3-Schicht-Anwendungen.

Er generiert aus einem gegebenen Ecore-Modell einen Standalone Client und eine Serveranwendung. Die Klassen im Ecore-Modell werden vom Generator als Entitäten interpretiert. Der generierte Client bietet daher für jede Entität ein Formular an, um Instanzen dieser Entität anzulegen, indem konkrete Werte für die Attribute der Entität in der Eingabemaske angegeben werden. Sind im Ecore-Modell Beziehungen zu anderen Entitäten definiert, bietet der Client eine Tabelle an, in der sich Instanzen der verbundenen Entitäten anlegen und hinzufügen lassen. Die Entitäten lassen sich im Client speichern, wodurch die Daten über die Serveranwendung in der angeschlossenen Datenbank persistiert werden.

Die generierte Server-Anwendung setzt JBoss als Anwendungsserver und PostgreSQL als Datenbank-Server voraus. Sind diese Server gestartet und die Serveranwendung deployt, kann der Client gestartet werden. Änderungen am generierten Code sind damit nicht notwendig, die 3-Schicht-Anwendung ist voll funktionsfähig.

Dafür beschränkt sich der Funktionsumfang des Clients auf die einfachen CRUD-Operationen, also die Fähigkeiten Entitäten anzulegen (create), existierende Entitäten auszulesen (read), die Eigenschaften von Entitäten zu aktualsieren (update) und Entitäten zu löschen (delete). Die Unterstützung komplexerer Geschäftslogik würde eine manuelle Anpassung der Client- und Server-Anwendung erforderlich machen.

Der Client bietet einige Filterfunktionen an, um die Menge der von Serveranwendung zurückgelieferten Entitäten nach bestimmten Kritieren filtern zu können. Die Filter stützten sich dabei auf die Entitäts-Attribute und deren jeweiligen Datentyp.

Operationen auf Client-Seite werden gesammelt und erst beim Speichern der Entität an den Server übertragen.

Im Generator kann man die in der zu generierende Anwendung zu verwendende Technologien konfigurieren. Momentan wird jedoch nur angeboten, den Client auf Basis von Java-Swing, die Geschäftslogik der Serveranwendung mit EJB3 und den Datenzugriff in der Serveranwendung mit JPA/Hibernate zu realisieren. Zudem steht nur JBoss als Anwendungsserver und PostgreSQL als Datenbank-Server zur Auswahl. Allein die Verbindungsdaten der Datenbank können variiert werden.

Beim Datenmodell ist man auf die Verwendung von Ecore festgelegt. Annotationen oder das Modellieren von Geschäftslogik werden nicht unterstützt. Vom Datenmodell werden allein die Klassen, die Attribute (und ihre Datentypen) sowie die Relationen zwischen den Entitäten vom Generator interpretiert.

Das Projekt 3RAD wurde im Rahmen des Projektierungsseminars 2007 der Universität Leipzig entwickelt. Der Entwicklungsstand ist Oktober 2007.

Der Name "3RAD" leitet sich von den 3 Schichten, die generiert werden, sowie von Rapid Application Development (RAD) ab, also der Fähigkeit, auf Knopfdruck eine voll funktionsfähige Anwendung zu bekommen.

Die Generator-Logik wurde unter Verwendung des Generator-Frameworks openArchitectureWare gebaut. Sie nutzt die Fähigkeit des Frameworks, die dieses 2007 in der Version 4.1.2 geboten hat. Die Oberfläche der Generator-Anwendung ist mit Java-Swing realisiert. Der Generator ist damit unabhängig von Eclipse einsetzbar.

Nutzung

Entwicklung


Letzte Änderungen
Wiki Verwaltung


Related

Documentation: FrontPage
Documentation: Verwaltung