Kleiner Helfer

Modellierung mit OpenArchitectureWare

19.03.2009
Von Heiko Spindler
Das Eclipse-Plug-in OpenArchitectureWare bietet einen ausgereiften Open-Source-Generator für die modellgetriebene Softwareentwicklung.

Die modellgetriebene Softwareentwicklung ist mittlerweile ein Standard in vielen Projekten. Insbesondere das Generieren von Datenzugriffen oder Pflege-Masken bringt viele Vorteile. Einen Generator von Grund auf selbst zu bauen, ist wenig sinnvoll. Der Markt bietet mittlerweile eine große Auswahl von Werkzeugen für den professionellen Einsatz. Ein ausgereifter Open-Source-Generator ist "OpenArchitectureWare" (OAW). Dieser ist in Java implementiert und als Eclipse-Plug-in verfügbar. Bei der Installation müssen Abhängigkeiten beachtet werden, die aber auf der Web-Seite dokumentiert sind.

OpenArchitectureWare bei der Arbeit
OpenArchitectureWare bei der Arbeit

Im modellgetriebenen Projekt beschreiben abstrakte Modelle auf einem höheren Abstraktionsniveau wesentliche Teile der Fachlichkeit. Eine Stärke von OAW ist der Import vieler unterschiedlicher Modellarten: Ob klassische UML-Modelle, XML oder textbasierende DSLs (domain specific languages).

OAW definiert eine eigene Template-Sprache, mit der die Baumuster für die zu erzeugenden Artefakte beschrieben werden. Die Modellinformationen fließen in diese Muster ein und vervollständigen die zu generierenden Artefakte. OAW bietet den üblichen Eclipse-Komfort, wie Syntax-Highlighting, Eclipse-Linking und Debugging der Generierung. Der Umgang und die Einarbeitung in OAW funktioniert sehr gut. Anleitungen und Beispielprojekte sind verfügbar.

Die Konfiguration der Generierung erfolgt über XML-Dateien, die die wesentlichen Komponenten und das Zusammenspiel organisieren: Import der Modelle, Definieren der Ausgabe-Verzeichnisse und Starten der Templates.

Mit OAW bekommt man alles an die Hand, um sich individuelle Templates zu erstellen. Besonders der pragmatische Ansatz mit frei definierten Modellen als DSLs hilft auch in großen Projekten flexibel und produktiv zu sein. Fertige Templates (zum Beispiel Spring und Hibernate) sind auf der Fornax-Plattform zu finden.

CW-Fazit:

OAW ist ein ausgereiftes Werkzeug für die modellgetriebene Entwicklung in Softwareprojekten.