MMT-Logo
Sitemap | English

Inhalt

Komplexpraktikum AWE, Multimediatechnik, Web & Multimedia-Engineering

Dynamische Erstellung von kompositen Multi-Device Web-Anwendungen

PersonDipl.-Medieninf. Oliver Mroß

Zeit Do., 09:20 Uhr bis 10:50 Uhr (2. Doppelstunde) ==> erste Veranstaltung: 29.10.2015
Raum APB E008
Zeitrahmen 0/0/4 SWS

Das Komplexpraktikum wird während des Wintersemesters 2015/2016 in den folgenden Modulen angeboten:

Modul Masterstudiengang Medieninformatik: Module INF-VMI-3, INF-VMI-4, INF-E-4 (Master-Praktikum Medieninformatik)
Modul Masterstudiengang Informatik: Modul INF-VERT-3
Modul Masterstudiengang Wirtschaftsinformatik: Komplexpraktikum Multimediatechnik Module D-WW-INF-3411, D-WW-INF-3412, WI-MA-08-02, WI-MA-09-02
Modul Diplomstudiengang Medieninformatik: Komplexpraktikum Multimediatechnik Modul MINF-04-KP-FG1
Modul Diplomstudiengang Informationssystemtechnik: Komplexpraktikum Multimediatechnik Modul IST-05-KP
Modul Diplomstudiengang Wirtschaftsinformatik: Komplexpraktikum Multimediatechnik Module D-WW-INF-3411, D-WW-INF-3412
Modul Diplomstudiengang Informatik: Komplexpraktikum Web & Multimedia-Engineering Modul INF-04-KP

Aktuelles

Zum Seitenanfang... Zum Seitenanfang...

Grundlagen und Problemstellung

Als Mashups bezeichnet man Webanwendungen, die durch die Komposition unabhängiger Dienste und Daten erstellt werden. Im Projekt CRUISe wurde ein Kompositionsmodell für UI-Mashups entwickelt, welches die Erstellung kompositer interaktiver Webanwendungen aus User-Interface- und Dienst-Komponenten ermöglicht. CRUISe dient inzwischen verschiedenen Forschungsprojekten am Lehrstuhl als Grundlage für aufsetzende Forschungsarbeiten. Das Ziel des EDYRA-Projekts war es, sowohl technisch versierten Endnutzern als auch technischen Laien die Erstellung von Rich-Internet-Anwendungen (RIA) zu ermöglichen. Zudem sollte der Endnutzer während der Benutzung seiner Anwendung diese an persönliche Bedürfnisse anpassen oder auch funktional erweitern können. Im Fokus des Projekts standen lediglich Single-User-Single-Device Anwendungen, jedoch ohne die Besonderheiten von Szenarien mit mehreren unterschiedlichen Endgeräten explizit zu berücksichtigen. Ziel des Forschungsprojektes DoCUMA sind neuartige Entwicklungsmethoden zur Reduzierung der Komplexität während der Erstellung von Multi-Device Anwendungen. Im Gestaltungsprozess solcher Anwendungen sind bspw. die Heterogenität der eingesetzten Endgeräte sowie deren Fähigkeiten, die dynamische Verfügbarkeit der Endgeräte im Sinne von Laufzeitcontainer für Mashup-Komponenten oder die Flüchtigkeit der Geräteressourcen, was zur dynamischen Verfügbarkeit von Anwendungskomponenten führen kann, explizit zu berücksichtigen. Zudem ist davon auszugehen, dass sich die Gerätekonfiguration (Anzahl, Klasse sowie die Ressourcen der Endgeräte) einer Anwendung bei jedem Start verändern kann, was insbesondere Auswirkungen auf die Anwendungsmodellierung hat.

In Anbetracht von Multi-Device-Szenarien, in denen der Anwender Tätigkeiten auf unterschiedlichen Endgeräten gleichzeit oder sequentiell ausführt, ist der zuvor beschriebene Ansatz der ad-hoc Komposition übertragbar, jedoch ist in diesem Zusammenhang der zusätzliche Verteilungsaspekt der Anwendung zu berücksichtigen. Die nachfolgende Abbildung 1 verdeutlicht die Verteilung einer kompositen Multi-Device Web-Anwendung (wird auch als Multi-Device-Mashup bezeichnet). Zur Ausführung und Anpassung solcher Anwendungen wurde in den genannten Forschungsprojekten eine verteilte Client-Server-Laufzeitumgebung (CSR) entwickelt, die bisher lediglich die Gestaltung von Single-Device Web-Anwendungen unterstützt. Zukünftig soll sie die Erstellung und Anpassung verteilter Multi-Device-Mashups zur Laufzeit durch den Nutzer unterstützen.

Verteilung von Anwendungskomponenten

Abbildung 1: Verteilung von Anwendungskomponenten auf unterschiedliche Endgeräte (Laufzeitcontainer)

Hierzu wurde im Rahmen dieser Bachelorarbeit mit der Konzeption und Umsetzung eines Werkzeugs zur Komposition und Verteilung von Mashup-Komponenten in Multi-Device-Szenarien begonnen, dass in verschiedenen Forschungsansätzen [COU06], [NEW08] auch als MetaUI bezeichnet wird. Es fungiert aus Anwendersicht als Hilfsmittel zur Schaffung eines mentalen Modells zu den in der interaktiven Umgebung verfügbaren Endgeräten und ihren Fähigkeiten, deren Einbindung in eine oder mehrere Anwendungen sowie dem Beziehungsgeflecht zwischen den Gerätefähigkeiten und den restlichen verteilten Anwendungskomponenten.
Der mittels des MetaUIs realisierbare Gestaltungsprozess von Multi-Device-Mashups umfasst mehrere Teilschritte. Beginnend mit der Angabe von Anwendungsparametern sowie der Auswahl von Mashup-Komponenten verteilt der Anwender anschließend die verschiedenen Anwendungsfragmente über eine freiwählbare Menge von webfähigen Endgeräten, welche er zuvor am zentralen Server der verteilten Laufzeitumgebung registriert hat. Nachdem die Mashup-Komponenten über das MetaUI auf die Endgeräte des Anwenders verteilt wurden, können anschließend mehrere Kommunikationskanäle zwischen den u. U. verteilten Komponenten aufgespannt werden. Der zuletzt beschriebene Aspekt der nutzergetriebenen Definition des geräteübergreifenden Kommunikationsverhaltens von Mashup-Anwendungen wird durch die bisherige Implementierung der CSR nicht unterstützt, was im Rahmen dieses Komplexpraktikums ergänzt werden soll.

Beschreibung

Ausgangsbasis des Komplexpraktikums bildet vorerst ein einfaches Single-User-Multi-Device Szenario, in dem John eine verteilte Präsentationsanwendung (SlidePresenter) ad-hoc erstellt und die zugehörigen Komponenten auf das Notebook, sein Tablet sowie ein Smartboard (Desktop-Rechner mit großem Display) verteilt. Eine Einführung in das Szenario sowie zum MetaUI kann ebenfalls auf dem Youtube-Kanal des Lehrstuhls angeschaut werden.

Die Anwendung enthält eine SlideShow-Komponente (K1) zur Visualisierung von Präsentationsfolien auf dem Smartboard, zwei Controller-Komponenten (K21 & K22) zur Fernsteuerung der Folienkomponente über das Notebook und Tablet. Zum Laden verschiedener Folien wählt John zusätzlich die SlideLoader-Komponente aus, die ebenfalls auf seinem Notebook und Tablet ausgeführt werden sollen (K31 & K32). Über die verschiedenen Dialoge des MetaUI beginnt John mit der Registrierung der Endgeräte, der Erzeugung des Anwendungsraums sowie der Verteilung der Mashup-Komponenten auf die verschiedenen virtuellen Laufzeitcontainer. Es gilt, dass der Zustand des Anwendungsraums (definiert durch die Anzahl der Laufzeitcontainer, der Verteilung der Komponenten und deren Kommunikationsbeziehungen) von jedem Endgerät aus ersichtlich sein muss. Dementsprechend soll als Teilziel des Komplexpraktikums das derzeitige Kommunikationsprotokoll zwischen den Clients und dem Server der CSR um die Fähigkeit zur Synchronisation der verteilten MetaUIs erweitert werden.

Nachdem die Komponenten durch die Steueranweisungen zwischen dem CSR-Server und den verteilten Clients logisch in den Anwendungsraum und physisch auf die jeweiligen Endgeräte verteilt und instantiiert wurden, muss John im nächsten Schritt die Kommunikationskanäle zwischen den verteilten Komponenten definieren. Hierzu aktiviert er über das Hauptmenü des MetaUIs die CapView, welche daraufhin eingeblendet wird. Die Hauptaufgabe des Komplexpraktikums besteht in der Erweiterung des existierenden CapViews (und ProViews) durch die nachfolgend beschriebenen Funktionen.
Werden in der Anwendung mindestens zwei unterschiedliche Endgeräte als Laufzeitcontainer der Mashup-Komponenten verwendet, so soll John auf einem Desktop-PC mit großen Display die Anzahl der gleichzeitig sichtbaren Laufzeitcontainer selbst definieren können (bspw. 2 bis maximal 6 in Abhängigkeit von der Größe des Browserfensters). Bei mobilen Endgeräten ist die Anzahl der Endgeräte automatisch auf zwei festzulegen.
Die CapView (und ProView) stellt je Laufzeitcontainer die Fähigkeiten der zugehörigen Komponenten als verknüpfbare Schnittstelleneinheiten dar. Sollen geräteübergreifende Kommunikationskanäle zwischen den verteilten Komponentenfähigkeiten aufgespannt werden, so muss John die Komponenten und die Kanäle so positionieren können, sodass einerseits die Zugehörigkeit der Komponente zum Laufzeitcontainer ersichtlich bleibt, andererseits der Überblick zu den restlichen Kommunikationsbeziehungen anderer Komponenten nicht darunter leidet. Ein möglicher Ansatz zur Darstellung des erweiterten CapView (ProView) wird in Abbildung 2 verdeutlicht. Alternative Ansätze können im Rahmen des Praktikums erarbeitet und umgesetzt werden.

Definition verteilter Kommunikationsbeziehungen
Abbildung 2: Mockup zum erweiterten CapView (ProView) zur Definition verteilter Kommunikationsbeziehungen

Ein weiterer bisher nicht unterstützter Aspekt sind die unterschiedlichen Gerätefähigkeiten, insbesondere der mobilen Endgeräte, z. B. die verschiedenen Sensoren. Im Rahmen des Forschungsprojektes werden sie als DeviceServices bezeichnet und sollen ebenfalls durch die CapView (und ProView) visualisiert werden. Im Gegensatz zu konventionellen Mashup-Komponenten ist ihre Verfügbarkeit von den bereitgestellten Fähigkeiten des Trägergerätes abhängig, was zur beschränkten Nutzbarkeit der DeviceServices im Anwendungsrahmen führt. Ihre existentielle Abhängigkeit von ihrem zugehörigen Trägergerät soll im CapView (und ProView) aus der Nutzerperspektive sichtbar sein. Darüber hinaus ist als Teilaufgabe des Komplexpraktikums ein Dialog umzusetzen, indem die Sichtbarkeit der Gerätedienste auf globaler sowie auf Anwendungsebene gesteuert werden kann.

Zum Seitenanfang... Zum Seitenanfang...

Aufgabenstellung

Im Detail sollen im Komplexpraktikum folgende Teilschritte bearbeitet werden:

Zum Seitenanfang... Zum Seitenanfang...

Voraussetzungen

Im Komplexpraktikum steht die Teamarbeit im Vordergrund. Es sollen Erfahrungen hinsichtlich der Strukturierung komplexer Aufgaben, deren Zuordnung, Koordination und Lösung im Zusammenspiel von Einzelleistungen gewonnen werden. Ziel ist daher nicht nur das erfolgreiche Absolvieren der vorgegebenen Aufgabenstellung, sondern auch das Sammeln praktischer Erfahrungen bei der Organisation von Teamarbeit, beim Projekt- und Zeitmanagement, etc. Für die Teilnahme am Praktikum bestehen folgende Anforderungen:

Zum Seitenanfang... Zum Seitenanfang...

Leistungsnachweis

Die erfolgreiche Teilnahme am Praktikum wird mit einem Schein über 4 SWS bzw. 6 CP bestätigt. Es besteht, in Abhängigkeit von der Prüfungsordnung und Absprachen mit dem Prüfer, die Möglichkeit, ein Komplexpraktikum in eine Komplexprüfung einzubringen.

Zum Seitenanfang... Zum Seitenanfang...

Ablauf

Vorgegeben werden die Aufgabenstellung, grundlegende Regeln für die Teamorganisation und ein Rahmen für die Implementierungs- und Spezifikationsumgebung. Die Konkretisierung der Aufgabenstellung und die Detailspezifikation des Pflichtenheftes werden vom Team unter Einbeziehung eigener Ideen vorgenommen. Ebenso werden zu Projektbeginn die Projektorganisation und eine erste Planung abgesprochen. Das Erreichen der im Pflichtenheft definierten Mussziele ist Voraussetzung für die erfolgreiche Teilnahme am Komplexpraktikum. Projektbesprechungen mit dem Betreuer finden wöchentlich statt und dienen der Präsentation von Zwischenergebnissen sowie der Verfeinerung der Arbeitsplanung. Den Abschluss des Projektes bildet eine öffentliche Präsentation der Arbeitsergebnisse.

Zum Seitenanfang... Zum Seitenanfang...

Einschreibung

Die Teilnehmerzahl ist auf maximal 8 Personen begrenzt. Die Einschreibung zur Lehrveranstaltung erfolgt über jExam und ist bis zum 15.10. offen.

Material

Zum Seitenanfang... Zum Seitenanfang...