140 likes | 289 Views
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 !!
E N D
MDA – FrameworkAndroMDA 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 Applicationserver, 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, MagicDraw11.5 bis 17, RSM 7/8, EclipsePapyrus
AndroMDA – Schwerpunkt Aktivitäts-diagramm Klassendiagramm • Unterstützung beim Aufbau einer Enterprise Application • Generierung einzelner Schichten inkl. Austauschobjekten • J2EE und .NET
Architektur spez. UML- Profile (z.B. Stereotypen UML-Tool (MagicDraw) EJB EJB XMI Cartridge (Java) AndroMDA Metamodel – Repository (Netbeans MDR, EMF) Metamodel Instanz Translation Libraries (OCL) Metafacades DatatypeMappings Template Engine (Apache Velocity / Freemarker) Quellcode (vollständig) Quellcode (Rahmen) Maven
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
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/andromda-documentation/getting-started-java/index.html • AndroMDACartridges: 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-translation-libraries/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“