Wie funktioniert Eva .NET?

Grundsätzlich besteht das Eva-Framework aus einer Design-Zeit-Unterstützung, diversen Code-Generatoren und verschiedenen Modulen der Laufzeitunterstützung (runtime). Zur Design-Zeit werden die Modellartefakte erzeugt, modelliert und mit Metainformationen angereichert. Neben der Klassenmodellierung im UML-CASE-Tool objectiF, aus dem Haus microTOOL, konfiguriert der Anwender die Verknüpfung von Modellartefakten mit Oberflächenelementen in der Design-Zeit-Umgebung von Microsofts Visual Studio .NET.

Aus den Modell- und Metainformationen der Design-Zeit- Unterstützung erzeugen Code-Generatoren ausführbaren Programmcode. Die Nachbearbeitung in herkömmlichen Code-Editoren wird dabei weitgehend unterstützt, so dass der Anwender bequemes round trip egineering benutzen kann.

Zum Leben erweckt wird das Framework über seine Laufzeitmodule. In Abhängigkeit vom konkreten Szenario werden diese durch die Anwendung eingebunden und aktiviert. Sie sorgen für die Auswertung der Metainformationen und die Kommunikation zwischen den Schichten.

Anwendungsarchitektur

Anwendungen, die mit dem Eva Framework realisiert werden, sind von Hause aus mehrschichtig. Die direkte Kommunikation mit der oder den Datenbanken wird über Eva-eigene Adapter realisiert. Dies erlaubt den Einsatz verschiedenster Datenbanksysteme sowie die Berücksichtigung spezifischer Funktionen.

Über den Adaptern liegt die Kernbibliothek des Frameworks. In ihr sind die verschiedenen oberflächenunabhängigen Konzepte wie Persistenz, Initialisierung, Formatierung, oder Konkurrenz realisiert. Der Anwender kommt mit diesen Diensten meist nur indirekt in Kontakt. Stattdessen stellt die allgemein zugängliche Application-Instanz eine überschaubare, benutzerfreundliche Schnittstelle zur Verfügung.

Dreh- und Angelpunkt der Anwendungslogik (Geschäfts- und Oberflächenlogik) ist die schon angeführte Application-Instanz. Um sie herum orchestriert der Anwender seine Modellartefakte in semantischer und oder technischer Abhängigkeit. Der Aufbau der Anwendungslogik kann ebenfalls komponentenbasiert erfolgen (für nicht-triviale Systeme empfohlen). Jede Komponente darf dabei eine eigene oder gemeinsame Datenquelle verwenden.

In der Geschäftslogik befindet sich ausschließlich Code der die Geschäftslogik widerspiegelt. Diese Komponenten dienen als Kernelemente. Auf ihnen können spezielle Logiken für die Präsentation der zugrunde liegenden Daten aufsetzen (hier u. a. als Oberflächenlogik bezeichnet).

Die Oberflächenmodule der Eva Laufzeitumgebung wurden in den Visual Studio Dialog Designern mit den Elementen der Anwendungslogik verknüpft. Zur Laufzeit sorgen diese für die Darstellung, Aktualisierung und Steuerung der Daten aus der Anwendungslogik.

Die Anwendung selbst dient letztlich als Eintrittspunkt und bietet Platz für die Komposition und Konfiguration der übrigen Komponenten (einschließlich der Eva Laufzeitumgebung).