Referenzarchitekturen und MDA 1



Ähnliche Dokumente
Vortrag von: Ilias Agorakis & Robert Roginer

Model Driven Architecture (MDA)

SEA. Modellgetriebene Softwareentwicklung in der BA

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

INNOVATOR im Entwicklungsprozess

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Model Driven Development im Überblick

Model Driven Architecture Praxisbeispiel

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012

360 - Der Weg zum gläsernen Unternehmen mit QlikView am Beispiel Einkauf

Comparing Software Factories and Software Product Lines

Data Lineage goes Traceability - oder was Requirements Engineering von Business Intelligence lernen kann

Model Driven Architecture

Architekturplanung und IS-Portfolio-

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage.

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Über den Unterschied zwischen Business Analysis und Requirements Engineering & Management

Java Enterprise Architekturen Willkommen in der Realität

Anforderungen an die HIS

Ein hierarchischer, modellgetriebener Ansatz zur Codegenerierung. R. Gitzel, M. Schwind

Datenübernahme easyjob 3.0 zu easyjob 4.0

WhiteStarUML Tutorial

1. Einführung. 2. Weitere Konten anlegen

Viele gute Stellen sind frei. Besetzen Sie eine.

Mobiles SAP für Entscheider. Permanente Verfügbarkeit der aktuellen Unternehmenskennzahlen durch den mobilen Zugriff auf SAP ERP.

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Installation OMNIKEY 3121 USB

Ein subjektiver Vergleich zwischen SSIS und Kettle mit Ausblick auf die Generierung von BI-Lösungen

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

2D to 3D Technologie

Business Model Canvas

SEPA Lastschriften. Ergänzung zur Dokumentation vom Workshop Software GmbH Siemensstr Kleve / /

Updatehinweise für die Version forma 5.5.5

Outlook Vorlagen/Templates

OEM Von der Idee zum Serienprodukt

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Einsatz von xalerator. bei den. Ergo Direkt Versicherungen. Bereich Versicherungstechnik/Leben

EMU Bill & Report 1/33

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

Model Driven SOA Modellgetriebene Entwicklung von SOA Anwendungen. OOP München,

UML-DSLs effizient eingesetzt. Insight 07, Klaus Weber

I N F O R M A T I O N V I R T U A L I S I E R U N G. Wir schützen Ihre Unternehmenswerte

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

ZENITY - Die Software für Ihre Unternehmens-Releaseplanung

Die Online-Meetings bei den Anonymen Alkoholikern. zum Thema. Online - Meetings. Eine neue Form der Selbsthilfe?

Übungsklausur vom 7. Dez. 2007

Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit

Innovator 11 classix. Erweiterter XMI-Export aus Innovator Business und Object classix. HowTo.

teischl.com Software Design & Services e.u. office@teischl.com

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden

Agile Prozessverbesserung. Im Sprint zu besseren Prozessen

Sehr geehrte Faktor-IPS Anwender,

Skript Pilotphase für Arbeitsgelegenheiten

UpToNet DMS Posteingang

Nicht über uns ohne uns

Naked-FHIR. Code-Generierung auf Basis von HL7 FHIR Andreas Schuler, MSc. Textmasterformate durch Klicken bearbeiten

Version: System: DFBnet Spielbetrieb 5.50

Multichannel Challenge: Integration von Vertriebsorganisation und Contact Center in der Versicherung

Ablauf Vorstellungsgespräch

Hilfe zur ekim. Inhalt:

Softwaretechnologie -Wintersemester 2013/ Dr. Günter Kniesel

Gönner der Junioren. Patenschaft für Tennistalente. im Freiamt

Lernaufgabe Industriekauffrau/Industriekaufmann Angebot und Auftrag: Arbeitsblatt I Auftragsbeschreibung

Einstieg in Exact Online Buchungen erfassen. Stand 05/2014

Enterprise Architekturmanagement im Spannungsfeld agiler Methoden oder Agiles EAM. BITKOM Software Summit Frankfurt,

SJ OFFICE - Update 3.0

SWE5 Übungen zu Software-Engineering

Workshop: Eigenes Image ohne VMware-Programme erstellen

Schnittstelle DIGI-Zeiterfassung

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger


Fragen und Antworten

Business Intelligence Praktikum 1

Kompetenz. rund um. Ihren. Entwicklungsprozess. Über uns. Technische Software. Modellbasierter Test. Prüfplätze. Automatisierung.

Inhalt. Motivation Techniken des MDE. Fallbeispiele

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

BPM im Kontext von Unternehmensarchitekturen. Konstantin Gress

Kurz-Anleitung Veranstaltungskalender AHG

Ihre PLM-Prozessexperten für Entwicklung und Konstruktion

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Ein mobiler Electronic Program Guide für Android

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

IT-Governance und Social, Mobile und Cloud Computing: Ein Management Framework... Bachelorarbeit

Content Management System mit INTREXX 2002.

Turtle Charts mit der ViFlow Turtle Schablone (VTS) erstellen

SMART Newsletter Education Solutions April 2015

Beispielhaft MDSD in der Praxis. Dr. Shota Okujava

Online Bestellsystem Bedienungsanleitung

Nr. 12-1/Dezember 2005-Januar A 12041

Test zur Bereitschaft für die Cloud

Agile Enterprise Development. Sind Sie bereit für den nächsten Schritt?

Die wichtigsten Werkzeuge, um UNTERNEHMENSKULTUR BEWUSST zu gestalten.

Kurzeinführung Excel2App. Version 1.0.0

Kurzleitfaden für Schüler

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

Transkript:

Referenzarchitekturen und MDA 1 Gerd Beneken *, Tilman Seifert *, Niko Baehr +, Inge Hanschke +, Olaf Rauch + *) TU München Lehrstuhl für Software & Systems Engineering Boltzmannstr. 3; 85748 Garching +) iteratec Gesellschaft für iterative Softwaretechnologien mbh Inselkammerstraße 4; 82008 München - Unterhaching {gerd.beneken, tilman.seifert}@in.tum.de, {inge.hanschke, niko.baehr, olaf.rauch}@iteratec.de Abstract: Dieser Beitrag beschreibt, wie Referenzarchitekturen die MDA nutzbar machen. Die Referenzarchitekturen liefern dabei die konzeptionelle Unterstützung für die Konstruktion und Implementierung von Software und die MDA bietet den Rahmen für eine Werkzeugunterstützung. Die praktische Umsetzbarkeit wird mit dem OpenSource Framework AndroMDA und einer Referenzarchitektur der Firma iteratec GmbH gezeigt. 1 Risiken der Model Driven Architecture Die Model Driven Architecture (MDA) [MM03] hat große Ziele: Die (UML) Modelle von Softwaresystemen sollen Technologiewechsel überdauern, und die Entwicklungskosten sollen deutlich sinken. Fallstudien versprechen bis zu 35% Kostenersparnis [Mid03]. Ob sich jedoch überhaupt Einsparungen realisieren lassen, hängt von der richtigen Verwendung der MDA ab. Die MDA schlägt mehrere Modelltypen vor: Plattformneutrale Modelle (Platform Independent Model, PIM) werden stufenweise in plattform-abhängige Modelle (Platform Specific Model, PSM) überführt. Schließlich wird aus dem PSM Code erzeugt. Die Überführung der Modelle ineinander und in Code erfolgt manuell oder automatisiert. Die Geschäftslogik lässt sich zur Zeit nicht vollständig in Form von (UML-)Modellen darstellen. Teile der Geschäftslogik und andere spezifische Anforderungen müssen daher in einer Programmiersprache formuliert werden. Damit entsteht eine Mischung aus generiertem Code, welcher auch vom Werkzeughersteller abhängt, und manuell implementierter Geschäftslogik. 1 Diese Arbeit wurde unterstützt vom Bundesministerium für Bildung und Forschung (BMBF) als Teil des Projektes VSEK (Virtuelles Software Engineering Kompetenzzentrum)

Die MDA muss in ihren Aussagen vage bleiben, da sie den Typ der zu erstellenden Softwaresysteme nicht genau festlegt. E-Business-Systeme können ebenso wie Automotive- oder Defence-Systeme erstellt werden. Die Inhalte und der Abstraktionsgrad der Modelle PIM und PSM sind nicht näher spezifiziert. Über die Transformation der Modelle und die Ausgestaltung der Codegenerierung werden derzeit kaum konkrete Aussagen gemacht. Standards sind erst in der Diskussion. Werkzeugherstellern und Nutzern ist diese Gestaltung überlassen. Viele proprietäre Lösungen sind daher am Markt. Referenzarchitekturen helfen bei der Konkretisierung der MDA, da sie viele der notwendigen Festlegungen in Bezug auf die Inhalte der Modelle und die Abbildung auf eine konkrete Plattform durch Code-Generierung treffen. 2 Was sind Referenzarchitekturen? Softwaresysteme, die ähnliche Anforderungen erfüllen, können in gleicher Weise entworfen und implementiert werden. Die Rahmenarchitektur und ihre Elemente (wie Frameworks und Infrastrukturen) können für diese ähnlichen Anforderungen als domänenspezifische Architektur formuliert und damit wiederverwendet werden 2. Abbildung 1: UML-Modell eines Carsharing Systems mit UML-Stereotypen Wiederverwendbare domänenspezifische Architekturen werden im folgenden Referenzarchitekturen genannt. Referenzarchitekturen geben den Rahmen für die Architektur und die Implementierung von Softwaresystemen in einer Domäne vor, dazu definieren sie die grundlegende Strukturierung, wie die Schichtenaufteilung und wichtige Komponententypen. Zentrale Begriffe werden definiert, z.b. Komponente, Schicht oder Schnittstelle. Eine Referenzimplementierung auf mindestens einer technischen Plattform zeigt die Anwendbarkeit der Architektur. 2 Der Begriff Domäne bezeichnet eine Menge gleichartiger Anforderungen und Rahmenbedingungen. E- Business, Automotive oder Finanzdienstleistungen sind Beispiele für technische und fachliche Domänen.

E-Business Systeme haben beispielsweise ähnliche technische Rahmenbedingungen; sie greifen auf Datenbanken zu, arbeiten über Transaktionen und haben eine grafische Oberfläche, die von verteilten Nutzern verwendet wird. Die iteratec E-Business Referenzarchitektur [ite04] gibt dafür eine Rahmenarchitektur und Bauelemente vor. Abbildung 1 ist ein Ausschnitt aus dem UML-Modell für eine Beispielapplikation der Referenzarchitektur (ein Car Sharing System). Das Modell zeigt mehrere Elemente des Anwendungskerns, aus dem Business Service KFZReservieren. Die verwendeten Stereotypen 3 stellen Strukturierungselemente der E-Business Referenzarchitektur dar. 3 Referenzarchitekturen und die MDA Referenzarchitekturen definieren Elemente der Modellierung und damit der PIMs bzw. der PSMs in der MDA. Sie legen die Abstraktionsebene fest, auf der ein System modelliert wird. Je spezifischer die Vorgaben der Referenzarchitektur sind, desto abstrakter kann modelliert werden; im Gegenzug ist ihre Einsatzbandbreite geringer. Die Modellelemente können als Stereotype für UML-Werkzeuge verfügbar gemacht werden. Modelle für verschiedene Systeme der gleichen Domäne werden damit vereinheitlicht. Zusätzlich werden Begriffe wie Business Service definiert, welche die Sprache der Entwickler und Architekten vereinheitlichen. Die Modelle sind Grundlage für die Codegenerierung. Die Stereotype reichern diese mit implementierungsrelevanten Informationen an. Aus einer Business Service Facade kann beispielsweise ein Stateless SessionBean für J2EE Applikationen generiert werden. 4 Praktische Umsetzung mit AndroMDA Das OpenSource Framework AndroMDA [And04] versteht sich als MDA-konformes Framework, das Code aus UML-Modellen generieren kann. AndroMDA liest UML- Modelle im XMI1.1 oder XMI1.2 4 Format ein. Dieses kann von gängigen UML- Werkzeugen erzeugt werden. Jedem Stereotyp in dem UML-Modell können ein oder mehrere Generierungstemplates zugeordnet werden, z.b. ein Template zur Generierung einer Business Activity Java Klasse aus einem Business-Activity-Modellelement. Ein Template ist in der Regel Code, der in einer Skriptsprache (Velocity) flexibilisiert ist, beispielsweise werden Klassennamen und Attributnamen ersetzt durch Generierungsvariablen. AndroMDA setzt beispielsweise Namen aus dem UML-Modell in die Templates ein und generiert damit Code. Abbildung 2 zeigt den prinzipiellen Ablauf der Generierung. 3 Stereotype sind erlaubte Erweiterungen der UML-Notation, innerhalb des UML-Metamodells 4 XMI ist ein XML basierter, von der OMG definierter, Standard, um UML-Modelle zwischen verschiedenen Modellierungswerkzeugen austauschen zu können.

Abbildung 2: Generierung mit AndroMDA [And04] AndroMDA verfolgt das Konzept, manuelle Ergänzungen nicht direkt im Generat vorzunehmen. Stattdessen soll von jeder generierten Klasse eine Klasse mit manuellem Code abgeleitet werden (dafür wird einmalig eine Vorlage generiert), um den manuellen Code zu isolieren und zu schützen. Bei der Firma iteratec GmbH wurde eine erste MDA-Unterstützung für die E-Business Referenzarchitektur über AndroMDA entwickelt: Die Elemente der Referenzarchitektur wurden in ein Modellierungswerkzeug in Form von UML-Stereotypen übernommen (vgl. Abbildung 1). Aus der konsolidierten Beispielanwendung der Referenzarchitektur wurden die Generierungstemplates der UML-Stereotype für AndroMDA entwickelt. Die UML-Modelle für die Beispielanwendung wurden mit den UML- Stereotypen ergänzt. Diese sind das PSM der Beispielanwendung im Sinne der MDA, da die dargestellten Architekturelemente bereits auf die technische Plattform J2EE ausgerichtet sind, wenngleich noch nicht von Enterprise JavaBeans die Rede ist. Aus dem PSM wurde mit AndroMDA und den erstellten Templates Code für die Beispielapplikation generiert und die nicht generierbaren Teile der Geschäftslogik wurden ergänzt. Die generierte und die manuell implementierte Beispielapplikation wurden zur Qualitätssicherung gegeneinander abgeglichen. Ergebnis ist damit ein erster funktionierender Prototyp für die Instrumentierung der MDA und eines Werkzeugs mit einer E-Business Referenzarchitektur. Die Erfahrungen mit Modellierung und Codegenerierung sind bislang positiv. Die Modellierung wird durch die aussagekräftigen Stereotype deutlich erleichtert. Ein großer Teil des fehlerträchtigen, gleichartigen Codes kann generiert werden, spart damit Entwicklungsaufwände und verbessert die Gesamtqualität.

Dynamische Anteile der Geschäftslogik können derzeit nicht vollständig über Modelle dargestellt werden und sind daher manuell zu implementieren. Das Konzept, manuellen Code in abgeleiteten Klassen zu sammeln, erwies sich als sinnvoll. Probleme bei Neugenerierungen waren selten. Änderungen in der konkreten Ausgestaltung der Abbildung auf die J2EE-Plattform waren ohne große Anpassungen an manuellem Code möglich. AndroMDA wird in diesem Ansatz als Codegenerator verwendet. Auf Modell-Modell- Transformationen, wie es die MDA vorsieht, wird noch verzichtet. Die Automatisierbarkeit des Entwicklungsprozesses mit der MDA und die dafür erforderlichen Modell- Modell-Transformationen werden noch geprüft. 5 Zusammenfassung Die Model Driven Architecture enthält interessante Konzepte. Eine breite Werkzeugunterstützung ist in diesem Bereich zu erwarten, insbesondere bei Modelltransformationen und der Codegenerierung. Die MDA trifft leider wenige Festlegungen in Bezug auf konkrete Ausgestaltung der Modelle, Modelltransformation, Abstraktionsgrad der Modelle und Codegenerierung. Nutzer und Werkzeughersteller müssen diese Lücken füllen. Referenzarchitekturen definieren einen Rahmen für die Architekturen von Softwaresystemen in einer bestimmten Domäne. Sie legen Architekturelemente und damit Modellelemente sowie Abbildungen auf technische Plattformen und auf Code fest. Sie definieren zusätzlich den Abstraktionsgrad in dem Systeme modelliert werden. Referenzarchitekturen liefern die domänenspezifische Konkretisierung, welche der MDA fehlt. Dieser Beitrag zeigt einen ersten Schritt, die Softwareentwicklung durch die Kombination einer Referenzarchitektur mit dem MDA-Ansatz zu unterstützen. Ergebnisse sind eine verbesserte Modellierung über aussagekräftige UML-Stereotype und ein MDAkonformer Codegenerator, der UML-Modelle auswertet und Rahmenklassen für E-Business Systeme generiert. Modell-Modell Transformationen (und damit die weitere Automatisierung des Entwurfsprozesses) werden noch nicht betrachtet. Hier sind zunächst die methodischen Grundlagen (ein Entwicklungsweg von Anforderungen zum Code) zu konsolidieren. 6 Literaturverzeichnis [And04] AndroMDA-Webseite, April 2004, (http://www.andromda.org) [ite04] iteratec: E-Business Referenzarchitektur J2EE Edition, Management Zusammenfassung; iteratec GmbH; 2004, (http://www.iteratec.de) [Mid03] The Middleware Company: Model Driven Development for J2EE Utilizing a Model Driven Architecture (MDA) Approach Productivity Analysis, June 2003 [MM03] Miller, J., Mukerji, J.: MDA Guide 1.0, omg/03-05-01, Mai 2003 (http://www.omg.org/)