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“