MDA * Framework AndroMDA

Werbung
MDA – Framework
AndroMDA
SS12 – Stephan Sauer
Inhalt





Vorstellung AndroMDA
Architektur / Komponenten
Demo
Fazit
Nützliche Links
AndroMDA ?
 gesprochen: „Andromeda“
 Ursprung: Codegenerators „UML2EJB“ von Matthias
Bohlen
 Start 2003
 Letztes Release: 3.3 aus 04/2008 !!
 Aktuell: 3.4-SNAPSHOT (23 Jan 2012)
AndroMDA – Umfeld





Java SDK >= 1.5
Maven 3 (empfohlen) oder Ant
Beliebiger Application server, z.B. JBoss7
Beliebige Datenbank MySQL, Oracle, H2, …
UML-Tool (UML 1.4/XMI 1.2 oder UML2 3.x/EMF/XMI2):
 ArgoUML, MagicDraw 9.5, MagicDraw 11.5 bis 17, RSM
7/8, Eclipse Papyrus
 Generierung einzelner
Schichten
inkl. Austauschobjekten
 J2EE und .NET
Klassendiagramm
 Unterstützung beim
Aufbau einer
Enterprise Application
Aktivitätsdiagramm
AndroMDA – Schwerpunkt
Architektur
UML-Tool
(MagicDraw)
spez. UMLProfile (z.B.
Stereotypen
EJB
EJB
Cartridge
(Java)
XMI
Metamodel –
Repository
(Netbeans MDR, EMF)
Translation Libraries (OCL)
Datatype Mappings
Maven
AndroMDA
Metamodel
Instanz
Metafacades
Template Engine
(Apache Velocity / Freemarker)
Quellcode
(vollständig)
Quellcode
(Rahmen)
Cartridge
Java Cartridge
Deskriptoren
(Konfiguration)
VTL-Templates
(plattformspezifisch)
Metafacade
(plattformspezifisch)
(Super-)Metafacade
Template-Engine
Verfügbare Cartridges






BPM4Struts
jBPM
JSF
EJB
EJB3
Spring





WebService
Hibernate
Java
Meta(facade)
XmlSchema
 … eigene …
Einordnung zur Vorlesung
Tier Generator Model
(komplette Anwendungsschicht inkl. abgeleiteten Klassen)
AndroMDA mit Maven inkl. Deployment
DEMO
Fazit
 kein All-in-one-Tool
 keine Möglichkeit nur Teilschritte durchzuführen …
 Generierung DB-Schema?
 angeblich existiert ein Eclipse-Plugin, aber wo?
 bietet kein Reverse Engineering auf Code-Basis
(Cartridge schema2xmi: DB-Schema  XMI-Modell)
 viele tote Links auf andromda.org
 Beispiele (eigene cartridge bauen) zum Teil
unvollständig
 erstes Sample-Projekt mit veralteten Informationen
Fazit
 ein Command um Rahmenprojekt aufzusetzen
 „Mächtig“ (EJB, JSF, …)
 eigene Cartridge realisieren
 Architektur - Schichten (inkl. abgeleiteter Impl.Klassen)
 TDD  Generierung Unit Test Klassen (TestNG)
 Kombination mit Maven und Eclipse-Konvertierung
Links und was man sonst noch
braucht …
 Projektseite: http://www.andromda.org/docs/index.html
 Anleitung für Java-Beispiel: http://www.andromda.org/docs/andromdadocumentation/getting-started-java/index.html
 AndroMDA Cartridges: http://galaxy.andromda.org/docs/andromda-cartridges/index.html
 Cartridge erstellen: http://www.oio.de/andromda-cartridge.htm
 Translation-Library für OCL: http://www.andromda.org/docs/andromda-translationlibraries/index.html
 Velocity: http://velocity.apache.org/engine/devel/user-guide.html
 Rahmenprojekt aufsetzen:
1) Maven3 installieren
2) C:\[PFAD]>mvn org.andromda.maven.plugins:andromdapp-maven-plugin:3.4-SNAPSHOT:generate
3) „Instal-Dialog“
Herunterladen