• Save
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

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

  • 5,602 views
Uploaded 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 ...

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.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
5,602
On Slideshare
5,482
From Embeds
120
Number of Embeds
3

Actions

Shares
Downloads
0
Comments
0
Likes
2

Embeds 120

http://www.soa-at-work.com 84
http://family-hildebrandt.com 27
http://www.slideshare.net 9

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • (Ergänzungen / Kommentare / Verbesserungen bitte direkt an das MarCom Team senden)

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.