Your SlideShare is downloading. ×
AndroMDA Einführung in eine Open Source Model Driven Architecture Lösung
Über den Referenten <ul><li>IT Erfahrung seit 2001 </li></ul><ul><li>Tätig im J2EE / EAI Bereich </li></ul><ul><ul><li>Ent...
Agenda 1 Theoretische Konzepte Architektur, Grundprinzip 2 3 4 AndroMDA Überblick, Prinzipien, Plattform, Komponenten, Pro...
Agenda 1 Theoretische Konzepte Architektur, Grundprinzip 2 3 4 AndroMDA Überblick, Prinzipien, Plattform, Komponenten, Pro...
Motivation <ul><li>steigende Komplexität in der Softwareentwicklung </li></ul><ul><li>Notwendigkeit der Kostenreduzierung ...
Grundprinzip Plattform Independent Model (PIM) Plattform Specific Models (PSM) Source Code Model-Model Transformationen Mo...
Agenda 1 Theoretische Konzepte Architektur, Grundprinzip 2 3 4 AndroMDA Überblick, Prinzipien, Plattform, Komponenten, Pro...
AndroMDA Überblick <ul><li>Open Source MDA Framework </li></ul><ul><li>basiert auf Codegenerator UML2EJB </li></ul><ul><li...
AndroMDA Plattform Anwendung Datenbank Persistenz Schicht Geschäftslogik Schicht Presentation Schicht Oracle, DB2, MySQL, ...
AndroMDA Prinzip <ul><li>UML Elemente werden mit Stereotypen gekennzeichnet </li></ul><ul><li>Codetransformation durch Car...
AndroMDA Komponenten Cartidge 1 Metafacades Templates Deskriptoren Cartidge … Cartidge n UML-Profile UML-Modellierungs Too...
Demonstration
AndroMDA Projektstruktur Webseiten / JSPs / JSF „ src/main “ enthält manuellen Source-Code „ target/src/ “ enthält generie...
Agenda 1 Theoretische Konzepte Architektur, Grundprinzip 2 3 4 AndroMDA Überblick, Prinzipien, Plattform, Komponenten, Pro...
Einführendes Beispiel Geschäftsmodell: Murphy‘s Pizza Service Persistenz Geschäftslogik Presentation Datenbank Murphy‘s PI...
Fachliche Spezifikation: Murphy‘s Pizza Service
Geschäftsmodell: Murphy‘s Pizza Service Persistenz Geschäftslogik Presentation Datenbank Murphy‘s PIM Relational PSM Data ...
Datenbank Plattform Specific Models (PSM) Plattform Independent Model (PIM) Source Code
Demonstration
Einführendes Beispiel Geschäftsmodell: Murphy‘s Pizza Service Persistenz Geschäftslogik Presentation Datenbank Murphy‘s PI...
Persistenzschicht Plattform Specific Models (PSM) Plattform Independent Model (PIM) Source Code generierter Code manuell e...
Demonstration
Einführendes Beispiel Geschäftsmodell: Murphy‘s Pizza Service Persistenz Geschäftslogik Presentation Datenbank Murphy‘s PI...
Geschäftslogik Plattform Specific Models (PSM) Plattform Independent Model (PIM) Source Code generierter Code manuell erze...
Demonstration
Einführendes Beispiel Geschäftsmodell: Murphy‘s Pizza Service Persistenz Geschäftslogik Presentation Datenbank Murphy‘s PI...
Presentation
Presentation Plattform Specific Models (PSM) Plattform Independent Model (PIM) Source Code generierter Code manuell erzeug...
Demonstration
Agenda 1 Theoretische Konzepte Architektur, Grundprinzip 2 3 4 AndroMDA Überblick, Prinzipien, Plattform, Komponenten, Pro...
Vorteile von AndroMDA <ul><li>verbesserte Kommunikation durch UML-Modelle </li></ul><ul><li>Konzentration auf die Geschäft...
Nachteile von AndroMDA <ul><li>steile Lernkurve zu Beginn des Projektes </li></ul><ul><li>höhere Abstraktion, Entwickler m...
AndroMDA Werkzeuge <ul><li>Projekt Generator </li></ul><ul><ul><li>   Generiert Maven J2EE Projektvorlagen   (EAR und WAR...
Oft gestellte Fragen <ul><li>Wie kann ich die Source-Code Generierung anpassen? </li></ul><ul><ul><li>Über Merge Points so...
Erfahrungen aus Projekten <ul><li>Security vom ersten Tag an aktivieren </li></ul><ul><ul><li>frühzeitige Entscheidung für...
Copyright ©  2007  LogicaCMG   All rights reserved. This document is protected by international copyright law and may not ...
Upcoming SlideShare
Loading in...5
×

AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung

3,556

Published on

AndroMDA ist ein freiverfügbarer erweiterbarer Generatorbaukasten in Anlehnung an die Spezifikationen zur Model Driven Architecture (MDA) der Object Management Group (OMG). Aus UML-Modellen wird Code für beliebige Zielplattformen erzeugt. Anders als andere MDA-Toolkits bringt AndroMDA fertige Cartridges für aktuelle Entwicklungsplattformen wie Struts, JSF, Spring, Hibernate, EJB und jBPM mit. Weiterhin besteht zusätzlich die Möglichkeit zur Erstellung eigener Cartridges.

Nach einer kurzen Einführung in MDA gibt der Vortrag einen Überblick über AndroMDA und erläutert die Architektur und Grundprinzipien. Die Möglichkeiten des Toolkits werden anhand einer Web-Anwendung für Pizza-Bestellungen erklärt. Anschließend besteht die Möglichkeit zur Diskussion und zum Erfahrungsaustausch aus Projekten.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,556
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • (Ergänzungen / Kommentare / Verbesserungen bitte direkt an das MarCom Team senden)
  • Transcript of "AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung"

    1. 1. AndroMDA Einführung in eine Open Source Model Driven Architecture Lösung
    2. 2. Über den Referenten <ul><li>IT Erfahrung seit 2001 </li></ul><ul><li>Tätig im J2EE / EAI Bereich </li></ul><ul><ul><li>Entwicklung </li></ul></ul><ul><ul><li>Beratung </li></ul></ul><ul><ul><li>Schulung </li></ul></ul><ul><li>Schwerpunkte: J2EE, MDA und SOA </li></ul><ul><li>Diverse MDA Projekte z.B. für: </li></ul><ul><ul><li>Deutsche Post AG </li></ul></ul><ul><ul><li>T-Systems AG </li></ul></ul><ul><ul><li>Daimler Chrysler AG </li></ul></ul>Eduard Hildebrandt IT Consultant Telefon: +49 (0711) 72846627 Mobile: +49 (0160) 8870983 [email_address]
    3. 3. Agenda 1 Theoretische Konzepte Architektur, Grundprinzip 2 3 4 AndroMDA Überblick, Prinzipien, Plattform, Komponenten, Projektstruktur, … Datenbank, Persistenzschicht, Geschäftslogik, Webschicht, … Vorteile, Nachteile, Erfahrungen aus Projekten, Diskussion, … Beispiel Anwendung, Demonstration Reflektionen, Fazit
    4. 4. Agenda 1 Theoretische Konzepte Architektur, Grundprinzip 2 3 4 AndroMDA Überblick, Prinzipien, Plattform, Komponenten, Projektstruktur, … Datenbank, Persistenzschicht, Geschäftslogik, Webschicht, … Vorteile, Nachteile, Erfahrungen aus Projekten, Diskussion, … Beispiel Anwendung, Demonstration Reflektionen, Fazit
    5. 5. Motivation <ul><li>steigende Komplexität in der Softwareentwicklung </li></ul><ul><li>Notwendigkeit der Kostenreduzierung </li></ul><ul><li>Konkurrenz durch Billiglohnländer </li></ul><ul><li>höhere Qualitätsanforderung </li></ul><ul><li>verteilte Teams, steigender Kommunikationsaufwand </li></ul>Hardware Software Zeit Power CPU Memory 64K 2GB 10 Mhz 3,3 Ghz Java Produktivität
    6. 6. Grundprinzip Plattform Independent Model (PIM) Plattform Specific Models (PSM) Source Code Model-Model Transformationen Model-Code Transformationen Fachliche Spezifikation PSM 2 PSM 1 PSM 3 Code 1 Code 2 Code 3 T1 T2 T3 T4 T5 T6 Computation Independent Model (CIM)
    7. 7. Agenda 1 Theoretische Konzepte Architektur, Grundprinzip 2 3 4 AndroMDA Überblick, Prinzipien, Plattform, Komponenten, Projektstruktur, … Datenbank, Persistenzschicht, Geschäftslogik, Webschicht, … Vorteile, Nachteile, Erfahrungen aus Projekten, Diskussion, … Beispiel Anwendung, Demonstration Reflektionen, Fazit
    8. 8. AndroMDA Überblick <ul><li>Open Source MDA Framework </li></ul><ul><li>basiert auf Codegenerator UML2EJB </li></ul><ul><li>verwendet Maven als Build-Tool </li></ul><ul><li>AndroMDA ist kein UML Tool </li></ul><ul><li>unterstützt UML 2.0, XMI, OCL </li></ul><ul><li>keine Model-zu-Model Transformation </li></ul><ul><li>Umfangreiche J2EE Templates - ready to start! </li></ul><ul><li>Aktueller Stand: </li></ul><ul><li>AndroMDA Version 3.2 </li></ul><ul><li>Zielsprachen: Java, C#, PHP </li></ul><ul><li>Version 4 in Entwicklung </li></ul>02/2004 11/2006 AndroMDA UML2EJB Version 2.0 Version 3.0 05/2005 Version 3.2 07/2002 02/2003
    9. 9. AndroMDA Plattform Anwendung Datenbank Persistenz Schicht Geschäftslogik Schicht Presentation Schicht Oracle, DB2, MySQL, PostgreSQL Database Records Entities Value Objects Hibernate / EJB EJB / Spring / jBPM JSP, Struts, JSF Service Interfaces Business Workflows UI Components UI Process Components Data Access Components
    10. 10. AndroMDA Prinzip <ul><li>UML Elemente werden mit Stereotypen gekennzeichnet </li></ul><ul><li>Codetransformation durch Cartridges </li></ul><ul><li>Codegenerierung über Templates </li></ul><ul><li>Ausgereifte J2EE Architektur unter Verwendung von Patterns </li></ul><ul><li>kein Round-Tripping, nur Neu-Generierung </li></ul><ul><li>Generierung von Basisklassen, manueller Code in abgeleiteten Klassen </li></ul><ul><li>DAO </li></ul><ul><li>Service Fascades </li></ul><ul><li>Value Objects </li></ul><ul><li>Service Locator </li></ul>
    11. 11. AndroMDA Komponenten Cartidge 1 Metafacades Templates Deskriptoren Cartidge … Cartidge n UML-Profile UML-Modellierungs Tool XMI Export Maven AndroMDA Netbeans UML Library Metamodel Instance Metafacades Template Engine Translation Libs. Type Mapping generierter Code
    12. 12. Demonstration
    13. 13. AndroMDA Projektstruktur Webseiten / JSPs / JSF „ src/main “ enthält manuellen Source-Code „ target/src/ “ enthält generierten Source-Code Webservices UML Model Business Logik gemeinsam verwendete Klassen EAR Deployement Deskriptoren
    14. 14. Agenda 1 Theoretische Konzepte Architektur, Grundprinzip 2 3 4 AndroMDA Überblick, Prinzipien, Plattform, Komponenten, Projektstruktur, … Datenbank, Persistenzschicht, Geschäftslogik, Webschicht, … Vorteile, Nachteile, Erfahrungen aus Projekten, Diskussion, … Beispiel Anwendung, Demonstration Reflektionen, Fazit
    15. 15. Einführendes Beispiel Geschäftsmodell: Murphy‘s Pizza Service Persistenz Geschäftslogik Presentation Datenbank Murphy‘s PIM Relational PSM Data Access PSM EJB Component PSM Web PSM JSP Source Code EJB Source Code DAO Source Code SQL Source Code Transformation Transformation Transformation Transformation Transformation Transformation
    16. 16. Fachliche Spezifikation: Murphy‘s Pizza Service
    17. 17. Geschäftsmodell: Murphy‘s Pizza Service Persistenz Geschäftslogik Presentation Datenbank Murphy‘s PIM Relational PSM Data Access PSM EJB Component PSM Web PSM JSP Source Code EJB Source Code DAO Source Code SQL Source Code Transformation Transformation Transformation Transformation Transformation Transformation Einführendes Beispiel
    18. 18. Datenbank Plattform Specific Models (PSM) Plattform Independent Model (PIM) Source Code
    19. 19. Demonstration
    20. 20. Einführendes Beispiel Geschäftsmodell: Murphy‘s Pizza Service Persistenz Geschäftslogik Presentation Datenbank Murphy‘s PIM Relational PSM Data Access PSM EJB Component PSM Web PSM JSP Source Code EJB Source Code DAO Source Code SQL Source Code Transformation Transformation Transformation Transformation Transformation Transformation
    21. 21. Persistenzschicht Plattform Specific Models (PSM) Plattform Independent Model (PIM) Source Code generierter Code manuell erzeugter Code
    22. 22. Demonstration
    23. 23. Einführendes Beispiel Geschäftsmodell: Murphy‘s Pizza Service Persistenz Geschäftslogik Presentation Datenbank Murphy‘s PIM Relational PSM Data Access PSM EJB Component PSM Web PSM JSP Source Code EJB Source Code DAO Source Code SQL Source Code Transformation Transformation Transformation Transformation Transformation Transformation
    24. 24. Geschäftslogik Plattform Specific Models (PSM) Plattform Independent Model (PIM) Source Code generierter Code manuell erzeugter Code
    25. 25. Demonstration
    26. 26. Einführendes Beispiel Geschäftsmodell: Murphy‘s Pizza Service Persistenz Geschäftslogik Presentation Datenbank Murphy‘s PIM Relational PSM Data Access PSM EJB Component PSM Web PSM JSP Source Code EJB Source Code DAO Source Code SQL Source Code Transformation Transformation Transformation Transformation Transformation Transformation
    27. 27. Presentation
    28. 28. Presentation Plattform Specific Models (PSM) Plattform Independent Model (PIM) Source Code generierter Code manuell erzeugter Code
    29. 29. Demonstration
    30. 30. Agenda 1 Theoretische Konzepte Architektur, Grundprinzip 2 3 4 AndroMDA Überblick, Prinzipien, Plattform, Komponenten, Projektstruktur, … Datenbank, Persistenzschicht, Geschäftslogik, Webschicht, … Vorteile, Nachteile, Erfahrungen aus Projekten, Diskussion, … Beispiel Anwendung, Demonstration Reflektionen, Fazit
    31. 31. Vorteile von AndroMDA <ul><li>verbesserte Kommunikation durch UML-Modelle </li></ul><ul><li>Konzentration auf die Geschäftslogik </li></ul><ul><li>konsistente Einhaltung der Architektur </li></ul><ul><li>Erhöhung der Portabilität </li></ul><ul><li>Verbesserung der Qualität </li></ul><ul><li>Produktivitätssteigerung und somit Kostenreduzierung </li></ul>
    32. 32. Nachteile von AndroMDA <ul><li>steile Lernkurve zu Beginn des Projektes </li></ul><ul><li>höhere Abstraktion, Entwickler muss jedoch verstehen, was „unter der Haube“ passiert </li></ul><ul><li>UML-Model kann sich als Flaschenhals erweisen </li></ul><ul><li>kein Reverse-Engineering möglich </li></ul>
    33. 33. AndroMDA Werkzeuge <ul><li>Projekt Generator </li></ul><ul><ul><li> Generiert Maven J2EE Projektvorlagen (EAR und WAR). </li></ul></ul><ul><li>Schema2XMI </li></ul><ul><ul><li> Generiert ein UML-Model aus einer Datenbank. </li></ul></ul><ul><li>Android </li></ul><ul><ul><li> Eclipse Plugin zur Erstellung und Konfiguration von Projekten </li></ul></ul><ul><li>Entity Management </li></ul><ul><ul><li> Generiert Benutzerinterface zur Verwaltung von Entities. </li></ul></ul>
    34. 34. Oft gestellte Fragen <ul><li>Wie kann ich die Source-Code Generierung anpassen? </li></ul><ul><ul><li>Über Merge Points sowie Anpassung der Cartidges </li></ul></ul><ul><li>Welche Technologien werden ausser Java unterstützt? </li></ul><ul><ul><li>.NET, weitere in Diskussion (alpha Status) </li></ul></ul><ul><li>Meine Technologie wird nicht Unterstützung, welche Möglichkeiten habe ich? </li></ul><ul><ul><li>Entwicklung von eigenen Cartidges </li></ul></ul><ul><li>Welche UML-Tools kann ich mit AndroMDA nutzen? </li></ul><ul><ul><li>gute Unterstützung für MagicDraw und Poseidon </li></ul></ul><ul><ul><li>weitere siehe: http://galaxy.andromda.org/docs-3.2/case-tools.html </li></ul></ul><ul><li>Unterstützt AndroMDA Reverse-Engineering? </li></ul><ul><ul><li>Nein, dies entspricht nicht dem Konzept und ist nur zur Beginn des Projektes möglich. </li></ul></ul>
    35. 35. Erfahrungen aus Projekten <ul><li>Security vom ersten Tag an aktivieren </li></ul><ul><ul><li>frühzeitige Entscheidung für J2EE Security oder ACEGI Framework </li></ul></ul><ul><li>Einsatz von Manageable Entities gut überlegen </li></ul><ul><ul><li> sehr gut für einfache Stammdaten und Prototypen geeinigt </li></ul></ul><ul><ul><li> nicht geeinigt für komplexe Datenstrukturen </li></ul></ul><ul><li>Bei Einsatz von Hibernate zu Beginn an Caching und Clustering denken </li></ul><ul><ul><li>Konfiguration von Jboss Cache unter Websphere sehr kompliziert </li></ul></ul><ul><ul><li>Einsatz von JTA Transaktion Manager notwendig </li></ul></ul><ul><li>EJB 2.x kann per Default nicht unter Websphere deployt werden </li></ul><ul><ul><li>Zusätzliche Deskriptor-Dateien notwendig </li></ul></ul><ul><ul><li>Cartidges erweitern oder EJB 3.0 verwenden </li></ul></ul><ul><li>bei mehr als vier Entwickler erweist sich das UML-Model als Flaschenhals </li></ul><ul><ul><li>MagicDraw Team Server kann Abhilfe schaffen </li></ul></ul>
    36. 36. Copyright © 2007 LogicaCMG All rights reserved. This document is protected by international copyright law and may not be reprinted, reproduced, copied or utilised in whole or in part by any means including electronic, mechanical, or other means without the prior written consent of LogicaCMG / Unilog Avinci GmbH. Whilst reasonable care has been taken by LogicaCMG / Unilog Avinci GmbH to ensure the information contained herein is reasonably accurate, LogicaCMG / Unilog Avinci GmbH shall not , under any circumstances be liable for any loss or damage (direct or consequential) suffered by any party as a result of the contents of this publication or the reliance of any party thereon or any inaccuracy or omission therein. The information in this document is therefore provided on an “as is” basis without warranty and is subject to change without further notice and cannot be construed as a commitment by LogicaCMG / Unilog Avinci GmbH.   The products mentioned in this document are identified by the names, trademarks, service marks and logos of their respective companies or organisations and may not be used in any advertising or publicity or in any other way whatsoever without the prior written consent of those companies or organisations and LogicaCMG / Unilog Avinci GmbH. Eduard Hildebrandt IT Consultant Telefon: +49 (0711) 72846627 Mobile: +49 (0160) 8870983 [email_address] http://www.eduard-hildebrandt.de Vielen Dank für Ihre Aufmerksamkeit! Bei Fragen stehe ich gerne zur Verfügung.

    ×