model driven architecture - campussource€¦ · mda vs. aris aris-konzept (architektur...
TRANSCRIPT
1
Wirtschaftsinformatik und Controlling
Blasius Lofi Dewanto
EJOSA – OpenUSS – CampusSource
Model Driven ArchitecturePraxisbeispielBlasius Lofi Dewanto
2
Wirtschaftsinformatik und Controlling
Blasius Lofi Dewanto
Situation von CampusSource-Plattformen
Ähnliche Funktionen (Verwaltung von Studenten und Dozenten, Diskussionsforen, ...), jedoch
Vergleich zwischen Plattformen schwierig, da keine gemeinsame „Sprache“ existiert
Verschiedene Technologien (Java, PHP, ...) Wiederverwendung von „Komponenten“ diverser
Technologien schwierigGeringe technologieübergreifende Zusammenarbeit
3
Wirtschaftsinformatik und Controlling
Blasius Lofi Dewanto
Mögliche Lösung?Webservice (k)eine Lösung?
Webservice ermöglicht die Interoperabilität zwischen PlattformenInstallation aller Plattformen in einer Institution?
Wartung aufwändigWissen und Erfahrung in allen Technologien vorhanden?
4
Wirtschaftsinformatik und Controlling
Blasius Lofi Dewanto
Model Driven Architecture (MDA)
Ebenfalls bekannt als Model Driven Development (MDD)Versuch, alle Wiederverwendungsansätze zu verknüpfen
ReferenzmodellProduktlinien-SoftwaretechnikArchitekturen und MusterKomponentenbasierte Softwaretechnik
Trennung zwischen PIM (Platform Independent Model), PSM (Platform Specific Model) und Implementation Platform
Bereits bekannt als: Fachkonzept, DV- und Implementierungskonzept (ARIS)
Basiert auf Systems-GenerierungsmethodenBereits bekannt als: Compiler, CodegeneratorenBereits bekannt als: CASE-Werkzeug (Computer Aided Software Engineering)
5
Wirtschaftsinformatik und Controlling
Blasius Lofi Dewanto
MDA vs. ARIS
ARIS-Konzept (Architektur integrierter Informationssysteme)
Fachkonzept: Anwendungsdomäne mit UML modelliertDV-Konzept: Objektorientierte Programmiersprache, Relationale Datenbank, Verteiltes SystemImplementierungskonzept: Java, J2EE, Oracle-DB
MDA: Transformationen automatisch!
6
Wirtschaftsinformatik und Controlling
Blasius Lofi Dewanto
MDA vs. ARIS
7
Wirtschaftsinformatik und Controlling
Blasius Lofi Dewanto
MDA vs. CASE vs. MetaCASE
8
Wirtschaftsinformatik und Controlling
Blasius Lofi Dewanto
Komponenten des MDA-Konzeptes (1)Modelle, Metamodelle, PlattformenSprachen und MetasprachenTransformationsdefinitionen, Transformationsregeln und Transformationen
Standards:XMI (XML Metadata Interchange) als Enabler-Technologie und AustauschformatMOF (Meta Object Facility) als MetamodellierungsspracheUML (Unified Modeling Language) als ModellierungsspracheQVT (Query/Views/Transformations) als Transformationssprache
9
Wirtschaftsinformatik und Controlling
Blasius Lofi Dewanto
Komponenten des MDA-Konzeptes (2)
UML-ModellUML-Sprache
UML-Metamodell
MOF-Metasprache
J2EE, .NET
XMI-Datei
QVT
10
Wirtschaftsinformatik und Controlling
Blasius Lofi Dewanto
Vier-Ebenen-Architektur
Anwendungssystem-Modellierung
11
Wirtschaftsinformatik und Controlling
Blasius Lofi Dewanto
Transformationen: First-Class Citizens!
12
Wirtschaftsinformatik und Controlling
Blasius Lofi Dewanto
MDA-TypenTyp 1: Elaborationist
Schrittweise Verfeinerung (PIM PSM Code)Verwendung von 3GL-Programmiersprache für die Implementierung50% bis 80% des Codes werden generiertBeispiel: OptimalJ, io-Software's ArcStyler, IBM Rational SoftwareArchitect, AndroMDA
Typ 2: TranslationistVerwendung ausschließlich von UML (PIM Code)Executable UML == eUML == xUML UML „minus“ alle semantisch schwachen Modellierungselemente der UML „plus“ Action Semantics100% des Codes werden generiertBeispiel: Kennedy Carter, Bridgepoint
13
Wirtschaftsinformatik und Controlling
Blasius Lofi Dewanto
Vorteile von MDAEine einzige Quelldatei (XMI) für alle Artefakte (Dokumentationen, Programme und Beschreibungen)Produktivität und Qualität
Höheres AbstraktionsniveauJeder Entwickler arbeitet unter den gleichen Rahmenbedingung
Interoperabilität, Integration und PortabilitätVerschiedene Plattformen (.NET, J2EE) integrierbar und austauschbar
FlexibilitätGeneriere, was generiert werden muss!
Wartung und DokumentationSchnelleinstiegDokumentation und Quellcode bleiben synchron
Offenheit und StandardOMG-Spezifikationen: XMI, MOF, UML, QVTOpen-Source-Implementierungen: NetBeans MDR, Eclipse EMF, AndroMDA, INRIA Modelware, ...
14
Wirtschaftsinformatik und Controlling
Blasius Lofi Dewanto
Probleme von MDATemplate-basierte bzw. Meta-Programmierung für die Transformationsregeln (Modell-zum-Code-Transformation) ist öfter aufwändig
Herausforderung für Architekten
Eine bereits stabile und erprobte Architektur wird benötigtLängere Investition notwendigEntwicklung von DSL (domänenspezifische Sprache) lohn sich erst, wenn Systemfamilien bzw. Produktlinien tatsächlich zu erstellen sind
Standardisierung im Prozess:XMI != XMIMOFUML 2QVT (Query/Views/Transformations)
15
Wirtschaftsinformatik und Controlling
Blasius Lofi Dewanto
Lösung mit MDA (1)
Definition von allgemeinen PIM für alle Plattformen Common PIM (PIM für CampusSource)
Verfeinerung des CampusSource-PIM zu einzelnen PIM-Plattform, wie beispielsweise
PIM für OpenUSS, PIM für ILIAS,PIM für ...
Verfeinerung der einzelnen PIM-Plattform zum PSMVerfeinerung des PSM zur Implementierung
16
Wirtschaftsinformatik und Controlling
Blasius Lofi Dewanto
Lösung mit MDA (2)
Gemeinsame Aktivitäten
Wie bisher...
17
Wirtschaftsinformatik und Controlling
Blasius Lofi Dewanto
Demo
DEMO
18
Wirtschaftsinformatik und Controlling
Blasius Lofi Dewanto
FazitVergleich zwischen Plattformen möglich, dank gemeinsamer Sprache UML
Bessere und stets aktuelle Projektdokumentation!
Wiederverwendung von „Modellen“ möglichTechnologieübergreifende Zusammenarbeit möglichKeine große Veränderung im Entwicklungsprozess notwendig
Modell == QuellcodeForward-Engineering: Modellieren, Kompilieren, Implementieren, Kompilieren, Ausführen, Testen
19
Wirtschaftsinformatik und Controlling
Blasius Lofi Dewanto
LiteraturEJOSA-Artikel Teil I:http://www.jaxmag.com/itr/online_artikel/psecom,id,653,nodeid,147.htmlEJOSA-Artikel Teil II: http://www.jaxmagazine.com/itr/online_artikel/psecom,id,671,nodeid,147.html
MDA Artikel in eleed Journalhttp://eleed.campussource.de/archiv/81