Modellgetrieben zur eigenen Profil-Homepage

Normalerweise würde man seine Homepage mit einem gewöhnlichen HTML Editor und CSS Editor wie Dreamweaver erstellen. Für mich war der Neuaufbau meiner Homepage Anlass mich mit dem mächtigen Generator Framework openArchitectureWare (OAW) zu beschäftigen.

Es besteht immer wieder Bedarf das Layout der Seiten, die Strukturierung zu ändern, was mit normalen HTML Editoren oft schwer ist. Daher lag der Gedanke, die Hompage über eine domain-specific-language (DSL) zu beschreiben und die HTML Seiten daraus zu generieren, nah. Idee ist, die Seiten, ihre Bestandteile und ihre Verknüpfungen technologieneutral in einem Domain-Modell zu beschreiben. Aus diesem Modell sollen dann die Homepage und weitere Format, wie das Profil als PDF und das Gulp Profil generiert werden, da sie alle auf den gleichen Daten aufbauen.

Für die Beschreibung des fachlichen Modells der Seiten wurden mittels der openArchitectureWare Komponente Xtext eine Grammatik definiert, die das Metamodell beschreibt. OAW bietet eine hervorragende Eclipse-Integration und ermöglicht es auch einen Texteditor mit Code-Completions, Validierungen, einer Outline View und Syntaxhighlighting zu generieren. Dadurch wird die Pflege des Modells sehr vereinfacht.

Über die Templatesprache Xpand lassen sich sehr einfach Templates schreiben, die aus dem instanziierten Metamodell der Homepage beliebigen Content erzeugen. Momentan ist nur die Generierung der Site umgesetzt. Folgen werden noch die PDF Generierung und das Gulp Profil.

Interessierte können einen Blick in die Resourcen

Der große Vorteil von OAW im Vergleich zu anderen Generatorframeworks ist die hier genutzte Möglichkeit ein Modell nicht nur über UML definieren zu können, sondern in einer selbstdefinierten textuellen Sprache. Da eröffnen sich ganz neue Einsatzgebiete.

Das "Homepage-Projekt" hat sich sehr gut geeignet, die Techniken von OAW kennenzulernen.