1 / 12

Benjamin Meyer

Benjamin Meyer. EMF Texo Vorlesung – Modellgetriebene Softwareentwicklung Hochschule Karlsruhe – Technik und Wirtschaft. Agenda. Kurzer Ausblick auf nächste Woche: EMF Wann lohnt sich Texo? Einführung Texo Möglichkeiten mit Texo Vor- und Nachteile von Texo Live Präsentation Diskussion.

najila
Download Presentation

Benjamin Meyer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Benjamin Meyer EMF TexoVorlesung – ModellgetriebeneSoftwareentwicklungHochschule Karlsruhe – Technik und Wirtschaft

  2. Agenda • Kurzer Ausblick auf nächste Woche: EMF • Wann lohnt sich Texo? • Einführung Texo • Möglichkeiten mit Texo • Vor- und Nachteile von Texo • Live Präsentation • Diskussion

  3. Eclipse Modeling Framework (EMF) • Definition • Java-Framework zur automatisierten Generierung von Quelltext anhand von strukturierten Modellen • Vorgehensweise • EMF Modell kann aus XSD, annotierten Java-Interfaces oder aus UML Diagrammen (beste Lösung) generiert werden (Bsp.: MagicDraw) • Warum mit Modellen arbeiten? • Ein Modell ist eine Abstraktion, es bietet eine high-level Beschreibung von Objekten => Das Modell ist eine „lebendige“ und up to date Doku

  4. EMF Metamodelle • Zwei Metamodelle • EMF basiert auf zwei Metamodelle: • das Ecore (Informationen über die def. Klassen) und • Genmodel Modell (zusätzliche Infos, Pfad usw.)

  5. Wann lohnt sich Texo? • Zu aller erst braucht man ein Modell = xsd oder ecore • Wann lohnt sich Texo? Wenn man.. • Java Beans benötigt • ORM benötigt • Eine Web Rich Client UI integration mit • Einen XML/JSON Rest Web Service benötigt

  6. Einführung Texo • Erfinder: Martin Taal (EMF Mitentwickler) • Lateinisch: errichten, bauen • MDD erweiterbare Technologie um verschiedene Artifakte durch Templates zu generieren • Templates für das Generieren der Artifakte • Xpand template engine für das Überschreiben oder Erweitern der generierten Artifakte • Texo selbst benutzt seit Oktober 2012 xtend2 aufgrund von performance Gründen

  7. Interner Datenfluss von Texo

  8. Möglichkeiten mit Texo • Code generieren • „True POJOs“ von Ecore Modell oder XSD • ORM/JPA generieren • JPA Annotationen im Sourcecode oder durch eine orm.xml • Generischen CRUD und Query Web Service Layer • JSON und XML • Laufzeitunterstützung • Auf Ecore Modelle wird zur Laufzeit zugegriffen • Automatisierung möglich mittels ANT, Java (makefile!)

  9. Vor- und Nachteile von Texo • Vorteile: • POJO Java Beans • Keine Laufzeit/Kompilierungs- Abhängigkeiten von Texo • Keine spezifischen Annotationen • Keine Vererbung von Texo Klassen (im Gegensatz zur EMF Codegenerierung) • Code Formattierung und Code Zusammenführung (merge) • @generated und @generatedNOT • Überschreiben oder Erweitern der standart Templates • Einfache Einführung des Texo Frameworks • Gute Dokumentation, wenig Wissen nötig

  10. Vor- und Nachteile von Texo • Nachteile: • Abhängigkeit von der Eclipse IDE bei der Generierung • Sprich für XML/JSON Rest Web Service: auf den Servern muss eine Eclipse Installation vorliegen • Wie so oft: Viel „Magie“ im Hintergrund • Kein richtiger Support (aber: Entwickler selbst ist sehr präsent im Forum)

  11. Live Präsentation und Diskussion

  12. Den POJOs ein Model-Gesicht „geben“ Output ist:

More Related