© DrHitch/Shutterstock.com
Shortcuts
Xtend beyond Java

4 Xtext und Xtend als Basis von mobaDSL

In den ersten zwei Kapiteln habe ich gezeigt, wie der Einsatz einer DSL zur Beschreibung von DTOs die Programmentwicklung beschleunigt. Jetzt gehen wir einen Schritt weiter mit einer neuen DSL: mobaDSL (Mobile Business Application DSL).

Shortcut Autorenteam


Während der letzten EclipseCon Europe habe ich mit Florian Pirchner, dem Entwickler der bisher genutzten DTO-DSL, ausdiskutiert, wie denn eine DSL für mobile Business-Apps idealerweise auszusehen hätte. Das Resultat gibt es jetzt als neues Open-Source-Projekt: mobaDSL.mobaDSL geht weit über das bisherige hinaus und wird es ermöglichen, mehr Code zu generieren als bisher. Ein mobaDSL-Projekt besteht aus Applications, wobei eine Application entweder eine UI Application oder eine Background Application sein kann. Background Applications sind beispielsweise Android-Services oder BlackBerry-10-Headless-Apps. Background Applications werden üblicherweise durch ein Ereignis getriggert: Geofencing, Push-Service, Device-gestartet, APP-gestartet, SMS oder einer eingetroffenen E-Mail.Je nach Kundenanforderungen oder Use Cases greift eine mobile App auf Sensoren zu, nutzt Bluetooth oder NFC. Was macht man meist? Aus ähnlichen Apps, die man schon entwickelt hat, werden entsprechende Controllerklassen kopiert oder Codefragmente eingebaut. Einer Application können daher ein oder mehrere Module zugeordnet werden, wie Bluetooth, NFC und Push. Diese Module können noch durch Parameter spezifiziert werden – beispielsweise Bluetooth LE oder SPP. Dann ist es für den Generator einfach, die entsprechenden Patterns umzusetzen und den zugehörigen Code zu generieren. Abbildung 4.1 gibt eine Übersicht über ein mobaDSL-Projekt.Betrachten wir nun eine mobaDSL Application genauer. In einer Application können modelliert werden: Entities – werden persistiert (gecached) Settings als Spezialfall einer Entity DTOs (Datentransfer Objekte) wie bisher Offlinecache – JSON oder SQLite, verschiedene Cache Policies möglich Server mit REST-Services sowohl klassisch für CRUD als auch Custom-Services Services mit speziellen DTOs für Request, Response und Error Workflow – die Zusammenfassung von mehreren Services, die in einer bestimmten Reihenfolge abgearbeitet werden müssen Queue – die Warteschlangenverarbeitung aller Serveranfragen Wir sehen also, dass mobaDSL alle wichtigen Bereiche einer mobilen Business-App abdeckt. Aber bitte nicht vergessen: mobaDSL ist kein Programmgenerator, es ist eine Workbench, die all das zur Verfügung stellt, was man benötigt. Die UI und Architektur der App, also die spannenden Teile, müssen weiterhin projektspezifisch manuell entwickelt werden. Der ganze Unterbau aber wird generiert. Wie sieht das jetzt im Modell aus? Hier ein Beispi...

Shortcuts
Xtend beyond Java

4 Xtext und Xtend als Basis von mobaDSL

In den ersten zwei Kapiteln habe ich gezeigt, wie der Einsatz einer DSL zur Beschreibung von DTOs die Programmentwicklung beschleunigt. Jetzt gehen wir einen Schritt weiter mit einer neuen DSL: mobaDSL (Mobile Business Application DSL).

Shortcut Autorenteam


Während der letzten EclipseCon Europe habe ich mit Florian Pirchner, dem Entwickler der bisher genutzten DTO-DSL, ausdiskutiert, wie denn eine DSL für mobile Business-Apps idealerweise auszusehen hätte. Das Resultat gibt es jetzt als neues Open-Source-Projekt: mobaDSL.mobaDSL geht weit über das bisherige hinaus und wird es ermöglichen, mehr Code zu generieren als bisher. Ein mobaDSL-Projekt besteht aus Applications, wobei eine Application entweder eine UI Application oder eine Background Application sein kann. Background Applications sind beispielsweise Android-Services oder BlackBerry-10-Headless-Apps. Background Applications werden üblicherweise durch ein Ereignis getriggert: Geofencing, Push-Service, Device-gestartet, APP-gestartet, SMS oder einer eingetroffenen E-Mail.Je nach Kundenanforderungen oder Use Cases greift eine mobile App auf Sensoren zu, nutzt Bluetooth oder NFC. Was macht man meist? Aus ähnlichen Apps, die man schon entwickelt hat, werden entsprechende Controllerklassen kopiert oder Codefragmente eingebaut. Einer Application können daher ein oder mehrere Module zugeordnet werden, wie Bluetooth, NFC und Push. Diese Module können noch durch Parameter spezifiziert werden – beispielsweise Bluetooth LE oder SPP. Dann ist es für den Generator einfach, die entsprechenden Patterns umzusetzen und den zugehörigen Code zu generieren. Abbildung 4.1 gibt eine Übersicht über ein mobaDSL-Projekt.Betrachten wir nun eine mobaDSL Application genauer. In einer Application können modelliert werden: Entities – werden persistiert (gecached) Settings als Spezialfall einer Entity DTOs (Datentransfer Objekte) wie bisher Offlinecache – JSON oder SQLite, verschiedene Cache Policies möglich Server mit REST-Services sowohl klassisch für CRUD als auch Custom-Services Services mit speziellen DTOs für Request, Response und Error Workflow – die Zusammenfassung von mehreren Services, die in einer bestimmten Reihenfolge abgearbeitet werden müssen Queue – die Warteschlangenverarbeitung aller Serveranfragen Wir sehen also, dass mobaDSL alle wichtigen Bereiche einer mobilen Business-App abdeckt. Aber bitte nicht vergessen: mobaDSL ist kein Programmgenerator, es ist eine Workbench, die all das zur Verfügung stellt, was man benötigt. Die UI und Architektur der App, also die spannenden Teile, müssen weiterhin projektspezifisch manuell entwickelt werden. Der ganze Unterbau aber wird generiert. Wie sieht das jetzt im Modell aus? Hier ein Beispi...

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