Modellgetriebene Service-Entwicklung Service-orientierte Architekturen (SOA), Prof. Dr. M. Jäger Johannes Tietje 24. Juni 2010 1 / 13
Motivation konkrete Teile eines Dienstes Rahmenimplementierung der fachlichen Komponenten (Skeleton) Implementierungen der Dienst-Aufrufe (Stub, Proxy) Unit-Test-Vorlagen Beispiel-Implementierungen zu Testzwecken Dokumentationen und Skripte 2 / 13
Motivation konkrete Teile eines Dienstes Rahmenimplementierung der fachlichen Komponenten (Skeleton) Implementierungen der Dienst-Aufrufe (Stub, Proxy) Unit-Test-Vorlagen Beispiel-Implementierungen zu Testzwecken Dokumentationen und Skripte abhängig von abstraktem Gebilde des Dienstes 2 / 13
Motivation Abhängigkeiten 3 / 13
Inhaltsverzeichnis Motivation und Einordnung Metamodelle und domänenspezische Sprachen Werkzeuge und Technologien MDSD-Prozesse in einer SOA Zusammenfassung und Fazit 4 / 13
Einordnung Modellgetriebene Software-Entwicklung (MDSD) als Grundlage der Modellgetriebenen Service-Entwicklung 5 / 13
Einordnung Modellgetriebene Software-Entwicklung (MDSD) als Grundlage der Modellgetriebenen Service-Entwicklung Modellierung als alternative Herangehensweise an die Service-Entwicklung 5 / 13
Einordnung Modellgetriebene Software-Entwicklung (MDSD) als Grundlage der Modellgetriebenen Service-Entwicklung Modellierung als alternative Herangehensweise an die Service-Entwicklung Aber: Modellierung ist kein universelles Allheilmittel Einbindung in Prozesse, Abwägen von Vorgehensweisen 5 / 13
Struktur eines Dienstes Konkretisierung des abstrakten Gebildes des Dienstes: 6 / 13
Struktur eines Dienstes Konkretisierung des abstrakten Gebildes des Dienstes: Ein Dienst besteht aus einer Schnittstelle mehreren Operationen usw. mit variablen Eingangsparametern und einem Rückgabewert...mit jeweils beliebigen Typen 6 / 13
Struktur eines Dienstes Konkretisierung des abstrakten Gebildes des Dienstes: Ein Dienst besteht aus einer Schnittstelle mehreren Operationen usw. mit variablen Eingangsparametern und einem Rückgabewert...mit jeweils beliebigen Typen informale Beschreibung nicht automatisiert verarbeitbar, formale Beschreibung (Modell) notwendig! 6 / 13
Exkurs: Metamodelle Formale Notation für Modelle Ideal: ähnliche Sprache wie Denition der Modelle an sich Wiederum durch Metamodelle deniert (rekursiv) 7 / 13
Exkurs: Metamodelle Formale Notation für Modelle Ideal: ähnliche Sprache wie Denition der Modelle an sich Wiederum durch Metamodelle deniert (rekursiv) Beispiele Extensible Markup Language (XML) Unied Modeling Language (UML) 7 / 13
Ein Metamodell zum Beispiel 8 / 13
Ein Beispiel-Dienst 9 / 13
Werkzeuge XSLT Modelle auf XML-Basis Einfache aber begrenzte Handhabung 10 / 13
XSLT Werkzeuge Modelle auf XML-Basis Einfache aber begrenzte Handhabung openarchitectureware Modelle auf XMI-Basis bzw. Denition einer DSL mittels Grammatik Komplexere Strukturen, aber modulare Arbeitsweise 10 / 13
Nötige Anpassungen Allgemeine Entscheidungen Granularität der Quelltexte Zuständigkeiten der Quelltextgenerierung Anbietergetrieben Nutzergetrieben durch Dritte 11 / 13
Nötige Anpassungen Allgemeine Entscheidungen Granularität der Quelltexte Zuständigkeiten der Quelltextgenerierung Anbietergetrieben Nutzergetrieben durch Dritte Veränderte Eigentumsverhältnisse Integration der Artefakte in die Produktionsumgebung 11 / 13
Zusammenfassung Modellgetriebene Service-Entwicklung Gute Alternative zur klassischen Entwicklung Aber: Einarbeitung und Begrisdenition notwendig Unterstützung durch moderne Werkzeuge Quellen Josuttis: SOA in der Praxis Stahl, Völter, Etinge, Haase: Modellgetriebene Software-Entwicklung 12 / 13
Vielen Dank für die Aufmerksamkeit 13 / 13