© DrHitch/Shutterstock.com
Shortcuts
Xtend beyond Java

1 DSLs mit Xtext, Sirius und Vaadin

Modellbasierte Technologien und domänenspezifische Programmiersprachen können die Entwicklung von Software entscheidend vereinfachen. Dieses Kapitel zeigt, wie auf diese Art vollständige Businessanwendungen schnell und sauber geschrieben werden können.

Shortcut Autorenteam


Wer kennt sie nicht, die nervenaufreibende Tätigkeit: „Schreibe und teste JPA-Entities“? Üblicherweise beinhaltet dies das seitenweise händische Coden von Benutzerschnittstellen samt mühsamem Nachziehen von Änderungen über das gesamte System, von der Persistenzschicht bis hin zum UI. Ernst zu nehmende Businesssoftware erfordert oft beträchtlichen Aufwand in Planung und Umsetzung. Doch mit den richtigen Werkzeugen kann die Aufgabe erleichtert und die Qualität des Ergebnisses verbessert werden.Dieses Kapitel richtet sich an Entwickler im Businessumfeld, die auf der Suche nach eleganten Lösungen sind. Wir zeigen einige Ansätze, wie mithilfe modellbasierter Technologien und eigener domänenspezifischer Sprachen (Domain Specific Languages, DSLs) die Entwicklung von Businesssoftware wesentlich vereinfacht werden kann. Dabei behandeln wir vor allem die Erstellung von JPA-Entities und Data Transfer Objects mittels einer eigenen DSL sowie ECView, unser Framework zur modellbasierten UI-Definition. Diese Technologien kommen im Herzen des OSBP-Projekts [1] zum Einsatz, stehen aber auch anderen zur Verfügung.Persistenz leicht gemacht mit der Entity-DSLDas JPA (Java Persistence API) ist aus Enterprise-Anwendungen kaum mehr wegzudenken. Viele Java-Entwickler sind mit JPA und seinen Implementierungen bestens vertraut. Dennoch stellt die Erstellung und Wartung von JPA-Entities einen nicht zu vernachlässigenden Aufwand dar. Um die zahlreichen JPA Annotations richtig im Code zu platzieren, bedarf es eines guten Maßes an Erfahrung sowie hoher Konzentration, um die zahlreichen Fehlerquellen zu vermeiden.Um diese noch dazu recht langweilige Arbeit an JPA-Entities zu vereinfachen, bietet sich die Verwendung einer DSL für Entities an. Mit EMF, Xtext und Sirius stehen Frameworks bereit, die es erlauben, die JPA-Entities auf eine wesentlich einfachere und übersichtlichere Art und Weise beschreiben, erstellen und den eigentlichen Java-Code mit allen erforderlichen Annotationen automatisch generieren zu können.Die von uns geschriebene Entity-DSL erlaubt die Generierung von JPA-Code inklusive verschiedener Optionen für das Datenbankschema, versionierte bzw. zeitabhängige Einträge, Indizes, frei definierbare Datentypen, verschiedene Vererbungsstrategien u. v. m. Ein Beispiel dafür, wie Entities in wenigen Codezeilen definiert werden können, und um wie viel einfacher die Erstellung und Pflege von Entities mit der Entity-DSL wird, findet sich in Abbildung 1.1.Um nicht bei jedem Zugriff...

Shortcuts
Xtend beyond Java

1 DSLs mit Xtext, Sirius und Vaadin

Modellbasierte Technologien und domänenspezifische Programmiersprachen können die Entwicklung von Software entscheidend vereinfachen. Dieses Kapitel zeigt, wie auf diese Art vollständige Businessanwendungen schnell und sauber geschrieben werden können.

Shortcut Autorenteam


Wer kennt sie nicht, die nervenaufreibende Tätigkeit: „Schreibe und teste JPA-Entities“? Üblicherweise beinhaltet dies das seitenweise händische Coden von Benutzerschnittstellen samt mühsamem Nachziehen von Änderungen über das gesamte System, von der Persistenzschicht bis hin zum UI. Ernst zu nehmende Businesssoftware erfordert oft beträchtlichen Aufwand in Planung und Umsetzung. Doch mit den richtigen Werkzeugen kann die Aufgabe erleichtert und die Qualität des Ergebnisses verbessert werden.Dieses Kapitel richtet sich an Entwickler im Businessumfeld, die auf der Suche nach eleganten Lösungen sind. Wir zeigen einige Ansätze, wie mithilfe modellbasierter Technologien und eigener domänenspezifischer Sprachen (Domain Specific Languages, DSLs) die Entwicklung von Businesssoftware wesentlich vereinfacht werden kann. Dabei behandeln wir vor allem die Erstellung von JPA-Entities und Data Transfer Objects mittels einer eigenen DSL sowie ECView, unser Framework zur modellbasierten UI-Definition. Diese Technologien kommen im Herzen des OSBP-Projekts [1] zum Einsatz, stehen aber auch anderen zur Verfügung.Persistenz leicht gemacht mit der Entity-DSLDas JPA (Java Persistence API) ist aus Enterprise-Anwendungen kaum mehr wegzudenken. Viele Java-Entwickler sind mit JPA und seinen Implementierungen bestens vertraut. Dennoch stellt die Erstellung und Wartung von JPA-Entities einen nicht zu vernachlässigenden Aufwand dar. Um die zahlreichen JPA Annotations richtig im Code zu platzieren, bedarf es eines guten Maßes an Erfahrung sowie hoher Konzentration, um die zahlreichen Fehlerquellen zu vermeiden.Um diese noch dazu recht langweilige Arbeit an JPA-Entities zu vereinfachen, bietet sich die Verwendung einer DSL für Entities an. Mit EMF, Xtext und Sirius stehen Frameworks bereit, die es erlauben, die JPA-Entities auf eine wesentlich einfachere und übersichtlichere Art und Weise beschreiben, erstellen und den eigentlichen Java-Code mit allen erforderlichen Annotationen automatisch generieren zu können.Die von uns geschriebene Entity-DSL erlaubt die Generierung von JPA-Code inklusive verschiedener Optionen für das Datenbankschema, versionierte bzw. zeitabhängige Einträge, Indizes, frei definierbare Datentypen, verschiedene Vererbungsstrategien u. v. m. Ein Beispiel dafür, wie Entities in wenigen Codezeilen definiert werden können, und um wie viel einfacher die Erstellung und Pflege von Entities mit der Entity-DSL wird, findet sich in Abbildung 1.1.Um nicht bei jedem Zugriff...

Neugierig geworden?


    
Loading...

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