© Excellent backgrounds/Shutterstock.com
Sauberer Projektstart - domänengetrieben mit Vaadin(ator)

Sauber starten


Aristoteles wusste: Der Anfang ist die Hälfte des Ganzen. Projekte können ihre Erfolgschancen erhöhen, wenn sie mit einer guten Struktur starten. Das gilt umso mehr dann, wenn die Technologie neu ist. Zentrale Fragestellung dabei ist, existierendes Wissen zu Klassenstruktur, Build, Testing und Frameworkeinsatz in ein Projekt zu tragen. Vaadinator ist ein Open-Source-Ansatz, der diese Fragestellung versucht zu beantworten.

Der Fokus von Vaadinator liegt auf Vaadin als UI-Technologie im JEE-Umfeld; die Prinzipien – vor allem das Generieren – sind universell anwendbar. Der erste von zwei Teilen der Artikelserie zeigt, wie mit Vaadinator die Basis für den gesamten Lebenszyklus einer Java-EE-Anwendung gelegt werden kann.

Wer das Webframework Vaadin [1], [2] noch nicht kennen sollte – Vaadin ist eine interessante Alternative zur Umsetzung einer Java-EE-Webanwendung mit einem komponentenbasierten (und dem Desktop nicht unähnlichen) Programmiermodell in „plain Java“. Wie bei allen Technologien gilt es auch bei Vaadin, eine gewisse Einstiegshürde zu überwinden. Wie hilfreich viele nicht offensichtliche Patterns und Vorgehensweisen sind, erschließt sich oft spät (zu spät) im Projekt. Entsprechend hilfreich wäre es also, einen Satz an Expertise aufzubereiten und in einem neuen Projekt damit zu starten. Je näher man dabei am Inhalt jenes Projekts ist, desto besser.

Die Zielsetzung von Vaadinator [3] ist genau das: einen schnellen – aber eben auch einen sauberen – Einstieg in Vaadin zu schaffen. Vaadinator verwendet dafür einen sehr kompakten und simplen domänen- und modellgetriebenen Ansatz. Aus Annotationen an einem Domänenobjekt (POJO; beispielsweise eine Adresse oder eine Bestellung) wird der Basiscode generiert, auf dem dann aufgebaut werden kann. Weil das Domänenobjekt individuell und projektspezifisch ist, kommt man dem Inhalt des Projekts nahe. Gleichzeitig ist die generierte Struktur nicht nur ein bequemer, sondern auch ein sauberer Weg: Patterns wie Model View Presenter (MVP [4]) lassen sich so von Beginn an etablieren.

Architektur wird damit zur gern (an)genommenen Dienstleistung über die Projektlaufzeit. Geht man beim Generieren über die reine Anwendungslogik hinaus und erstellt auch die Basis für Akzeptanztests, dann lässt sich der Lebenszyklus der Entwicklung proaktiv gestalten: Diese (nicht triviale) Aufgabenstellung rückt in greifbare Nähe, weil ein Startpunkt da ist.

Um Vaadinator (und die Prinzipien dahinter) näher zu erklären, verwenden wir ein sim...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang