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

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Notes on slide 1

    (Ergänzungen / Kommentare / Verbesserungen bitte direkt an das MarCom Team senden)

    Favorites, Groups & Events

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

    1. AndroMDA Einführung in eine Open Source Model Driven Architecture Lösung
    2. Über den Referenten
      • IT Erfahrung seit 2001
      • Tätig im J2EE / EAI Bereich
        • Entwicklung
        • Beratung
        • Schulung
      • Schwerpunkte: J2EE, MDA und SOA
      • Diverse MDA Projekte z.B. für:
        • Deutsche Post AG
        • T-Systems AG
        • Daimler Chrysler AG
      Eduard Hildebrandt IT Consultant Telefon: +49 (0711) 72846627 Mobile: +49 (0160) 8870983 [email_address]
    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. 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. Motivation
      • steigende Komplexität in der Softwareentwicklung
      • Notwendigkeit der Kostenreduzierung
      • Konkurrenz durch Billiglohnländer
      • höhere Qualitätsanforderung
      • verteilte Teams, steigender Kommunikationsaufwand
      Hardware Software Zeit Power CPU Memory 64K 2GB 10 Mhz 3,3 Ghz Java Produktivität
    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. 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. AndroMDA Überblick
      • Open Source MDA Framework
      • basiert auf Codegenerator UML2EJB
      • verwendet Maven als Build-Tool
      • AndroMDA ist kein UML Tool
      • unterstützt UML 2.0, XMI, OCL
      • keine Model-zu-Model Transformation
      • Umfangreiche J2EE Templates - ready to start!
      • Aktueller Stand:
      • AndroMDA Version 3.2
      • Zielsprachen: Java, C#, PHP
      • Version 4 in Entwicklung
      02/2004 11/2006 AndroMDA UML2EJB Version 2.0 Version 3.0 05/2005 Version 3.2 07/2002 02/2003
    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. AndroMDA Prinzip
      • UML Elemente werden mit Stereotypen gekennzeichnet
      • Codetransformation durch Cartridges
      • Codegenerierung über Templates
      • Ausgereifte J2EE Architektur unter Verwendung von Patterns
      • kein Round-Tripping, nur Neu-Generierung
      • Generierung von Basisklassen, manueller Code in abgeleiteten Klassen
      • DAO
      • Service Fascades
      • Value Objects
      • Service Locator
    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. Demonstration
    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. 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. 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. Fachliche Spezifikation: Murphy‘s Pizza Service
    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. Datenbank Plattform Specific Models (PSM) Plattform Independent Model (PIM) Source Code
    19. Demonstration
    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. Persistenzschicht Plattform Specific Models (PSM) Plattform Independent Model (PIM) Source Code generierter Code manuell erzeugter Code
    22. Demonstration
    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. Geschäftslogik Plattform Specific Models (PSM) Plattform Independent Model (PIM) Source Code generierter Code manuell erzeugter Code
    25. Demonstration
    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. Presentation
    28. Presentation Plattform Specific Models (PSM) Plattform Independent Model (PIM) Source Code generierter Code manuell erzeugter Code
    29. Demonstration
    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. Vorteile von AndroMDA
      • verbesserte Kommunikation durch UML-Modelle
      • Konzentration auf die Geschäftslogik
      • konsistente Einhaltung der Architektur
      • Erhöhung der Portabilität
      • Verbesserung der Qualität
      • Produktivitätssteigerung und somit Kostenreduzierung
    32. Nachteile von AndroMDA
      • steile Lernkurve zu Beginn des Projektes
      • höhere Abstraktion, Entwickler muss jedoch verstehen, was „unter der Haube“ passiert
      • UML-Model kann sich als Flaschenhals erweisen
      • kein Reverse-Engineering möglich
    33. AndroMDA Werkzeuge
      • Projekt Generator
        •  Generiert Maven J2EE Projektvorlagen (EAR und WAR).
      • Schema2XMI
        •  Generiert ein UML-Model aus einer Datenbank.
      • Android
        •  Eclipse Plugin zur Erstellung und Konfiguration von Projekten
      • Entity Management
        •  Generiert Benutzerinterface zur Verwaltung von Entities.
    34. Oft gestellte Fragen
      • Wie kann ich die Source-Code Generierung anpassen?
        • Über Merge Points sowie Anpassung der Cartidges
      • Welche Technologien werden ausser Java unterstützt?
        • .NET, weitere in Diskussion (alpha Status)
      • Meine Technologie wird nicht Unterstützung, welche Möglichkeiten habe ich?
        • Entwicklung von eigenen Cartidges
      • Welche UML-Tools kann ich mit AndroMDA nutzen?
        • gute Unterstützung für MagicDraw und Poseidon
        • weitere siehe: http://galaxy.andromda.org/docs-3.2/case-tools.html
      • Unterstützt AndroMDA Reverse-Engineering?
        • Nein, dies entspricht nicht dem Konzept und ist nur zur Beginn des Projektes möglich.
    35. Erfahrungen aus Projekten
      • Security vom ersten Tag an aktivieren
        • frühzeitige Entscheidung für J2EE Security oder ACEGI Framework
      • Einsatz von Manageable Entities gut überlegen
        •  sehr gut für einfache Stammdaten und Prototypen geeinigt
        •  nicht geeinigt für komplexe Datenstrukturen
      • Bei Einsatz von Hibernate zu Beginn an Caching und Clustering denken
        • Konfiguration von Jboss Cache unter Websphere sehr kompliziert
        • Einsatz von JTA Transaktion Manager notwendig
      • EJB 2.x kann per Default nicht unter Websphere deployt werden
        • Zusätzliche Deskriptor-Dateien notwendig
        • Cartidges erweitern oder EJB 3.0 verwenden
      • bei mehr als vier Entwickler erweist sich das UML-Model als Flaschenhals
        • MagicDraw Team Server kann Abhilfe schaffen
    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.

    + Eduard HildebrandtEduard Hildebrandt, 2 years ago

    custom

    1459 views, 0 favs, 1 embeds more stats

    AndroMDA ist ein freiverfügbarer erweiterbarer Gen more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1459
      • 1440 on SlideShare
      • 19 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds
    • 19 views on http://family-hildebrandt.com

    more

    All embeds
    • 19 views on http://family-hildebrandt.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories