Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Xtend beyond Java: DSL für mobile Business-Apps
Xtend beyond Java: DSL für mobile Business-Apps
Xtend beyond Java: DSL für mobile Business-Apps
Ebook85 pages35 minutes

Xtend beyond Java: DSL für mobile Business-Apps

Rating: 0 out of 5 stars

()

Read preview

About this ebook

In diesem shortcut geht es um mobile Businessanwendungen für BlackBerry 10 und die zur Entwicklung der Apps notwendige DSL. Zuerst liefert der shortcut einen groben Überblick, anschließend schaut er sich die Auswirkungen der DSL anhand eines konkreten Projekts an. Es wird gezeigt, wie Xtext und Xtend den Zugriff aus der UI (QML) auf C++-Daten vereinfachen. Weiterführend gehen die Autoren auf das Open-Source-Projekt mobaDSL (Mobile Business Application DSL) ein. Im shortcut werden die grundlegenden Konzepte von mobaDSL erläutert.
LanguageDeutsch
Release dateMay 19, 2016
ISBN9783868025910
Xtend beyond Java: DSL für mobile Business-Apps

Related to Xtend beyond Java

Titles in the series (100)

View More

Related ebooks

Programming For You

View More

Related articles

Reviews for Xtend beyond Java

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Xtend beyond Java - Ekkehard Gentz

    GmbH

    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.

    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-DSL

    Das 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.

    Abbildung 1.1: Aus den vier Zeilen „entity Order extends Base …" wird eine JPA-Entity mit allen nötigen Annotationen generiert

    Um nicht bei jedem Zugriff auf ein Feld in einer Entity eine Datenbankabfrage starten zu müssen und um die Größe der Datenpakete bei der Kommunikation zwischen Prozessen gering zu halten, bietet sich die Verwendung von Data Transfer Objects (DTOs) an. Wichtig ist dabei, keine Abhängigkeiten zur Persistenzschicht zu haben.

    Die von uns geschriebene Entity-DSL erzeugt solche DTOs und die für die Umsetzung zwischen JPA und DTO nötigen Mapper und DataAccessServices automatisch. Mittels einer eigenen DTO DSL können die DTOs bearbeitet und erweitert werden, etwa um Funktionalität für Durchschnittswerte. Mithilfe solcher Technologien lässt sich also der Entwicklungsaufwand für die Datenbank- und einen Teil der Logikebene wesentlich reduzieren, wobei aufgrund des generativen Ansatzes die Fehlerquote deutlich unter der von händisch geschriebenem Code liegt.

    Im nächsten Abschnitt wollen wir uns auf die Ebene der Benutzerschnittstelle begeben. Auch dort kann durch die Kombination moderner Technologien vieles vereinfacht werden.

    Modelle für das UI mit ECView

    ECView ist ein OSGi-Framework, das es

    Enjoying the preview?
    Page 1 of 1