Codegenerierung mit Celerio – ein Tutorial

Intro

Im letzten Beitrag haben wir uns der Codegenerierung im Allgemeinen gewidmet, jetzt folgt ein Ausflug in die Praxis: Codegenerierung mit Celerio. Celerio von Jaxio ist ein aktiver Codegenerator zur Erstellung von Java-basierten Webapplikationen. Als Template-Engine wird Apache Velocity verwendet. In Bezug auf die verwendeten Frameworks ist Celerio prinzipiell agnostisch, als Datenbank wird aber SQL vorausgesetzt: als Input verlangt Celerio ein SQL-Script, (mindestens) eine Konfigurationsdatei, und ein Template-Pack, und generiert daraus den gewünschten Code. Die zur Verfügung gestellten Template-Packs lassen eine klare Tendenz erkennen: neben einem Template-Pack für Java EE 7 bietet Jaxio gleich mehrere Packs für Spring mit jeweils unterschiedlichen Frontend-Lösungen.

1

Bild 1: Aktive Codegenerierung: Generierung und individuelle Anpassung sind integriert, der resultierende Code aber auch unabhängig ausführbar.

Ich habe mir das noch in Entwicklung befindliche Template-Pack für Spring und Angular2 mit PrimeNG angeschaut, wobei dieses Tutorial hier mit einem leicht angepassten Template-Pack startet. Um die verschiedenen Konfigurations- und Generierungsmöglichkeiten von Celerio auszuprobieren, habe ich mit einem Beispielprojekt gearbeitet, der Veranstaltungs-App (Repository auf github.com).

Veranstaltungs-App

Als Beispielanwendung dient uns hier eine einfache App, mit der die Vorbereitung von Veranstaltungen organisiert wird. Für jede Veranstaltung können verschiedene Werte gespeichert werden, wie z.B. Start- und Enddatum, und Daten, zu denen verschiedene Vorbereitungsschritte erledigt werden müssen, z.B. sollen Einladungs-Emails zwischen dem Mailstart-Termin und dem Mailstop-Termin verschickt werden. Jede Veranstaltung gehört zu einem Veranstaltungstyp, der festlegt wie diese Vorbereitungstermine abhängig vom Veranstaltungsbeginn berechnet werden sollen. Auf den Folgenden Seiten werden wir nun zunächst anhand des Datenschemas und des Template-Packs die App mit den grundlegenden Funktionalitäten generieren. Anschließend führen wir einige einfache Änderungen durch, um den Generierungs-Workflow mit Celerio auszuprobieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.