Masterstudiengang Medieninformatik: Module INF-VMI-3, INF-VMI-4, INF-E-4 (Master-Praktikum Medieninformatik)
Masterstudiengang Informatik: Modul INF-VERT-3
Masterstudiengang Wirtschaftsinformatik: Komplexpraktikum Multimediatechnik Module D-WW-INF-3411, D-WW-INF-3412, WI-MA-08-02, WI-MA-09-02
Diplomstudiengang Medieninformatik: Komplexpraktikum Multimediatechnik Modul MINF-04-KP-FG1
Diplomstudiengang Informationssystemtechnik: Komplexpraktikum Multimediatechnik Modul IST-05-KP
Diplomstudiengang Wirtschaftsinformatik: Komplexpraktikum Multimediatechnik Module D-WW-INF-3411, D-WW-INF-3412
Diplomstudiengang Informatik: Komplexpraktikum Web & Multimedia-Engineering Modul INF-04-KP
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.
Abbildung 1: Verteilung von Anwendungskomponenten auf unterschiedliche Endgeräte (Laufzeitcontainer)
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.
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...Im Detail sollen im Komplexpraktikum folgende Teilschritte bearbeitet werden:
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:
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...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...Die Teilnehmerzahl ist auf maximal 8 Personen begrenzt. Die Einschreibung zur Lehrveranstaltung erfolgt über jExam und ist bis zum 15.10. offen.