Mit dem Wandel des Internets zu einer universellen Softwareplattform sind die Möglichkeiten und Fähigkeiten von Webanwendungen zwar rasant gestiegen. Gleichzeitig gestaltet sich ihre Entwicklung jedoch zunehmend aufwändig und komplex, was dem Wunsch nach immer kürzeren Entwicklungszyklen für möglichst situative, bedarfsgerechte Lösungen entgegensteht. Bestehende Ansätze aus Forschung und Technik, insbesondere im Umfeld der serviceorientierten Architekturen und Mashups, werden diesen Problemen bislang nicht ausreichend gerecht. Deshalb werden in dieser Dissertation neue Konzepte für die modellgetriebene Entwicklung und Bereitstellung von Webanwendungen vorgestellt. Die zugrunde liegende Idee besteht darin, das Paradigma der Serviceorientierung auf die Präsentationsebene zu erweitern. So sollen erstmals – neben Daten- und Geschäftslogik – auch Teile der Anwendungsoberfläche in Form wiederverwendbarer Komponenten über Dienste bereitgestellt werden. Anwendungen sollen somit über alle Anwendungsebenen hinweg nach einheitlichen Prinzipien „komponiert“ werden können. Den ersten Schwerpunkt der Arbeit bilden die entsprechenden universellen Modellierungskonzepte für Komponenten und Kompositionen. Sie erlauben u. a. die plattformunabhängige Beschreibung von Anwendungen als Komposition der o. g. Komponenten. Durch die Abstraktion und entsprechende Autorenwerkzeuge wird die Entwicklung so auch für Domänenexperten bzw. Nicht-Programmierer möglich. Der zweite Schwerpunkt liegt auf dem kontextadaptiven Integrationsprozess von Komponenten und der zugehörigen, serviceorientierten Referenzarchitektur. Sie ermöglichen die dynamische Suche, Bindung und Konfiguration von Komponenten, d. h. auf Basis der o. g. Abstraktionen können genau die Anwendungskomponenten geladen und ausgeführt werden, die für den vorliegenden Nutzer-, Nutzungs- und Endgerätekontext am geeignetsten sind. Der dritte Schwerpunkt adressiert die Kontextadaptivität der kompositen Anwendungen in Form von Konzepten zur aspektorientierten Definition von adaptivem Verhalten im Modell und dessen Umsetzung zur Laufzeit. In Abhängigkeit von Kontextänderungen können so Rekonfigurationen von Komponenten, ihr Austausch oder Veränderungen an der Komposition, z.B. am Layout oder dem Datenfluss, automatisch durchgesetzt werden. Alle vorgestellten Konzepte wurden durch prototypische Implementierungen praktisch untermauert. Anhand diverser Anwendungsbeispiele konnten ihre Validität und Praktikabilität – von der Modellierung im Autorenwerkzeug bis zur Ausführung und dynamischen Anpassung – nachgewiesen werden. Die vorliegende Dissertation liefert folglich eine Antwort auf die Frage, wie zukünftige Web- bzw. Mashup-Anwendungen zeit- und kostengünstig entwickelt sowie zuverlässig und performant ausgeführt werden können. Die geschaffenen Konzepte bilden gleichermaßen die Grundlage für eine Vielzahl an Folgearbeiten.:Verzeichnisse vi
Abbildungsverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Verzeichnis der Codebeispiele . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Abkürzungsverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
1 Einleitung 1
1.1 Problemdefinition, Thesen und Forschungsziele . . . . . . . . . . . . . . 3
1.1.1 Probleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.2 Thesen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.3 Forschungsziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Abgrenzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2 Grundlagen, Szenarien und Herausforderungen 12
2.1 Grundlagen und Begriffsklärung . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.1 Komposite und serviceorientierte Webanwendungen . . . . . . . 13
2.1.2 Mashups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.3 Modellgetriebene Software-Entwicklung . . . . . . . . . . . . . . 17
2.1.4 Kontext und kontextadaptive Webanwendungen . . . . . . . . . 18
2.2 Szenarien und Problemanalyse . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.1 Dienstkomposition zur Reiseplanung . . . . . . . . . . . . . . . . . 20
2.2.2 Interaktive Aktienverwaltung . . . . . . . . . . . . . . . . . . . . . 22
2.2.3 Adaptive Touristeninformation . . . . . . . . . . . . . . . . . . . . 23
2.3 Anforderungen und Kriterien der Analyse . . . . . . . . . . . . . . . . . . 25
2.3.1 Anforderungen an Komponenten- und Kompositionsmodell . . . 25
2.3.2 Anforderungen an die Laufzeitumgebung . . . . . . . . . . . . . 27
3 Stand der Forschung und Technik 30
3.1 SOA und Dienstkomposition zur Interaktion mit Diensten . . . . . . . . . 31
3.1.1 Statische Dienstkomposition . . . . . . . . . . . . . . . . . . . . . . 32
3.1.2 Dynamische Dienstauswahl und -Komposition . . . . . . . . . . . 33
3.1.3 Adaptionskonzepte für Dienstkompositionen . . . . . . . . . . . . 45
3.1.4 Interaktions- und UI-Konzepte für Dienstkompositionen . . . . . . 48
3.2 Web Engineering - Entwicklung interaktiver adaptiver Webanwendungen 50
3.2.1 Entwicklung von Hypertext- und Hypermedia-Anwendungen . . 51
3.2.2 Entwicklung von Mashup-Anwendungen . . . . . . . . . . . . . . 54
3.3 Zusammenfassung und Diskussion der Defizite existierender Ansätze . . 67
3.3.1 Probleme und Defizite aus dem Bereich der Dienstkomposition . 67
3.3.2 Probleme und Defizite beim Web- und Mashup-Engineering . . . 69
4 Universelle Komposition adaptiver Webanwendungen 73
4.1 Grundkonzept und Rollenmodell . . . . . . . . . . . . . . . . . . . . . . 74
4.2 Modellgetriebene Entwicklung kompositer Mashups . . . . . . . . . . . 75
4.2.1 Universelles Komponentenmodell . . . . . . . . . . . . . . . . . . 76
4.2.2 Belangorientiertes Kompositionsmodell . . . . . . . . . . . . . . . 76
4.3 Dynamische Integration und Laufzeitumgebung . . . . . . . . . . . . . 78
4.3.1 Kontextsensitiver Integrationsprozess für Mashup-Komponenten . 79
4.3.2 Referenzarchitektur zur Komposition und Ausführung . . . . . . . 80
4.3.3 Unterstützung von adaptivem Laufzeitverhalten in Mashups . . . 81
5 Belangorientierte Modellierung adaptiver, kompositer Webanwendungen 83
5.1 Ein universelles Komponentenmodell für Mashup-Anwendungen . . . . 84
5.1.1 Grundlegende Eigenschaften und Prinzipien . . . . . . . . . . . . 84
5.1.2 Komponententypen . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.1.3 Beschreibung von Komponenten . . . . . . . . . . . . . . . . . . 87
5.1.4 Nutzung der Konzepte zur Komponentenentwicklung . . . . . . . 99
5.2 Ein belangorientiertes Metamodell für interaktive Mashup-Anwendungen 100
5.2.1 Conceptual Model – Modellierung der Anwendungskonzepte . . 102
5.2.2 Communication Model – Spezifikation von Daten- und Kontrollfluss 107
5.2.3 Layout Model – Visuelle Anordnung von UI-Komponenten . . . . 114
5.2.4 Screenflow Model – Definition von Navigation und Sichten . . . . 115
5.3 Modellierung von adaptivem Verhalten . . . . . . . . . . . . . . . . . . 117
5.3.1 Adaptionstechniken für komposite Webanwendungen . . . . . . 117
5.3.2 Adaptivity Model – Modellierung von Laufzeitadaptivität . . . . . 119
5.4 Ablauf und Unterstützung bei der Modellierung . . . . . . . . . . . . . . 126
5.5 Zusammenfassung und Diskussion . . . . . . . . . . . . . . . . . . . . . . 128
6 Kontextsensitiver Integrationsprozess und Kompositionsinfrastruktur 132
6.1 Ein kontextsensitiver Integrationsprozess zur dynamischen Bindung von
Mashup-Komponenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
6.1.1 Modellinterpretation oder -transformation . . . . . . . . . . . . . . 134
6.1.2 Suche und Matching . . . . . . . . . . . . . . . . . . . . . . . . . 135
6.1.3 Rangfolgebildung . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
6.1.4 Auswahl und Integration . . . . . . . . . . . . . . . . . . . . . . . . 145
6.2 Kompositionsinfrastruktur und Laufzeitumgebung . . . . . . . . . . . . . 146
6.2.1 Verwaltung von Komponenten und Domänenwissen . . . . . . . 146
6.2.2 Aufbau der Laufzeitumgebung (MRE) . . . . . . . . . . . . . . . . 148
6.2.3 Dynamische Integration und Verwaltung von Komponenten . . . 151
6.2.4 Kommunikationsinfrastruktur und Mediation . . . . . . . . . . . . . 155
6.3 Unterstützung von Adaption zur Laufzeit . . . . . . . . . . . . . . . . . . 162
6.3.1 Kontexterfassung, -modellierung und -verwaltung . . . . . . . . . 163
6.3.2 Ablauf der dynamischen Adaption . . . . . . . . . . . . . . . . . 168
6.3.3 Dynamischer Austausch von Komponenten . . . . . . . . . . . . 170
6.4 Zusammenfassung und Diskussion . . . . . . . . . . . . . . . . . . . . . . 174
7 Umsetzung und Validierung der Konzepte 178
7.1 Realisierung der Modellierungsmittel . . . . . . . . . . . . . . . . . . . . 179
7.1.1 Komponentenbeschreibung in XML und OWL . . . . . . . . . . . 179
7.1.2 EMF-basiertes Kompositionsmodell . . . . . . . . . . . . . . . . . . 180
7.1.3 Modelltransformationen . . . . . . . . . . . . . . . . . . . . . . . . 182
7.1.4 Modellierungswerkzeug . . . . . . . . . . . . . . . . . . . . . . . . 183
7.2 Realisierung der Kompositions- und Laufzeitumgebung . . . . . . . . . . 185
7.2.1 Semantische Verwaltung und Discovery . . . . . . . . . . . . . . 185
7.2.2 Kompositions- bzw. Laufzeitumgebungen . . . . . . . . . . . . . . 192
7.2.3 Kontextverwaltung und Adaptionsmechanismen . . . . . . . . . 201
7.3 Validierung und Diskussion anhand der Beispielszenarien . . . . . . . . . 210
7.3.1 Reiseplanung mit TravelMash . . . . . . . . . . . . . . . . . . . . . 211
7.3.2 Aktienverwaltung mit StockMash . . . . . . . . . . . . . . . . . . . 214
7.3.3 Adaptive Touristeninformation mit TravelGuide . . . . . . . . . . . 216
7.3.4 Weitere Prototypen . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
7.4 Zusammenfassung und Diskussion . . . . . . . . . . . . . . . . . . . . . . 219
8 Zusammenfassung, Diskussion und Ausblick 226
8.1 Zusammenfassung der Kapitel und ihrer Beiträge . . . . . . . . . . . . . 227
8.2 Diskussion und Bewertung . . . . . . . . . . . . . . . . . . . . . . . . . . 231
8.2.1 Wissenschaftliche Beiträge . . . . . . . . . . . . . . . . . . . . . . 231
8.2.2 Einschränkungen und Grenzen . . . . . . . . . . . . . . . . . . . . 236
8.3 Laufende und zukünftige Arbeiten . . . . . . . . . . . . . . . . . . . . . 238
Anhänge 242
A.1 Komponentenbeschreibung in SMCDL . . . . . . . . . . . . . . . . . . . 242
A.2 Komponentenmodell in Form der MCDO . . . . . . . . . . . . . . . . . . 243
A.3 Kompositionsmodell in EMF . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Verzeichnis eigener Publikationen 246
Webreferenzen 249
Literaturverzeichnis 253
Identifer | oai:union.ndltd.org:DRESDEN/oai:qucosa:de:qucosa:26365 |
Date | 13 December 2012 |
Creators | Pietschmann, Stefan |
Contributors | Meißner, Klaus, Gaedke, Martin, Technische Universität Dresden |
Source Sets | Hochschulschriftenserver (HSSS) der SLUB Dresden |
Language | German |
Detected Language | German |
Type | doc-type:doctoralThesis, info:eu-repo/semantics/doctoralThesis, doc-type:Text |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0034 seconds