K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 AMACONT vs. COCOON Serverumgebung für aspektorientierte, adaptive Webanwendungen AMACONT COCOON XHTML Folie 1
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 2 Gliederung 1.Zielstellung 2.Organisation 3.Umsetzung 4.Demonstration 5.Erzielte Ergebnisse
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 3 Zielstellung
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 4 Zielstellung AMACONT Dokumentstruktur (architektonisch):
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 5 Zielstellung Erstellung einer AMACONT-Serverumgebung Kontextdaten Externe Informationsquellen Adaption Transformation Testumgebung Cocoon-Framework Basistechnologie Einfache Extensionsmöglichkeit Webentwicklung Praxiserfahrung Training Projekt-Ablauf und Organisation
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 6 Organisation
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 7 Organisation Komponenten und Verantwortlichkeiten: 01 – Architektur: Kristian Scholze 02 - Kontextmodell + Sensoren:Lars Kreisz, Kristian Scholze 03 – Einlesen XML + DB + WS:David Gest, Fabian Potschies 04 – Adaption:David Götze, Maximilian Rudolph, Susanne Haase, Torsten Schiefer 05 – Transformation in XHTML:Debora Adam, Yihan Deng 06 – Debugging GUI:Cosmin Jurma
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 8 Organisation Projektabschnitte:
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 9 Organisation
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 10 Umsetzung Architektur (Kristian Scholze) Verwendete Frameworks: Maven Cocoon Jetty Eclipse AMACONT Cocoon Pipeline Planung Komponentenschnittstellen spezifizieren Vorverarbeitung (Auflösung Referenzen)
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 11 Umsetzung Kontext (Lars Kreisz, K.S.) Nutzerkontext dynamische Anpassung JavaScript Kontextsensoren Client Seite Kontextsensoren Serverseite (Einbettung externer Dienste) Einbettung in gerenderten Code Login Funktion (CTRL + ALT + X) DOJO Framework AJAX Calls Kontextmodellierung JENA Ontology Geltungsbereich: Applikation 1:N (z.B. Device.owl, Amacont.owl) Persistenz + Initialisierung des geeigneten Kontextes
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 12 Umsetzung Datenbank & Webservices (Fabian Potschies, David Gest) Cocoon SQL Transformer als Basiskomponente ( Transformation in Cocoon SQL) Hierarchische Anfragen Rekursion Cocoon Pipeline Rekursion Pipelines nicht trivial Berechnung maximale Anfragetiefe Parser für Transformation (iterative) erforderlich
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 13 Umsetzung Datenbank & Webservices (Fabian Potschies, David Gest) AMACONT: WSDL nicht implementiert Schemaerweiterung + Abfrage Logik notwendig Serielle Abarbeitung > 1 WS p. Page
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 14 Umsetzung Adaption (David Götze, Maximilian Rudolph, Susanne Haase, Torsten Schiefer) Auswahl von Dokumentelemente (Nutzerkontext) AMACONT Schema: "Logic-Tags" eigene Syntax SPARQL z.B. Clientbrowser lang:EN -> englisch sprachige Textvarianten Transformation in SPARQL Kontextanfrage Ontologie AMACONT Schema Überarbeitung (z.B. SPARQL)
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 15 Komponierte Variante Client verständliche Transformation XHTML 1.1 browsertypabhängige Transformation Hierarchischer Aufbau + Korrekte Anzeige komplex Stylesheets + Medienkomponenten (Flashplayer) AMACONT Elementtypen Erweiterbarkeit ToggleText, StretchBar HREF über mehrere Elemente hinweg (Trigger: Anzahl Zeichen) Umsetzung Transformation XHTML (Debora Adam, Yihan Deng, M.R.)
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 16 Ergebnis, beispielhaft (LRO Animierter Ladebalken): Umsetzung Transformation XHTML (Debora Adam, Yihan Deng, M.R.)
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 17 GUI für einfache Fehlersuche Cocoon Applikation Laufzeitfehler Logging Information Konfiguration des Servlet-Containers (Jetty 6.1.4) Kompilierung + Start / Stopp (untersch. Logging-Stufen) Ersetzung einzelner (Pipeline-) Komponenten vor D. Run Ausgabe Zwischenergebnis (nach Pipelineaufruf) Vergleich mit erwartetem Output (Difference-Viewer) Umsetzung Cocoon Debugger (Cosmin Jurma)
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 18 Auswahl Cocoon Projekt Konfiguration Servlet- Container Log-Ausgabe Umsetzung Cocoon Debugger (Cosmin Jurma)
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie Demonstration
KOMPLEXPRAKT IKUM MULTIMEDIATEC HNIK II SOSE 2009 Demonstration Hyperadapt / Allgemeines Bereitstellung einer Portalseite – Laden der Javascriptsensoren ScreenSize,BrowserPlugins Folie 20
KOMPLEXPRAKT IKUM MULTIMEDIATEC HNIK II SOSE 2009 Demonstration Hyperadapt / Allgemeines Bereitstellung einer Portalseite – Laden der Javascriptsensoren dojo.provide("AMACONT.sensors.ScreenSize"); dojo.require("AMACONT.AbstractSensor"); dojo.declare("AMACONT.sensors.ScreenSize", AMACONT.AbstractSensor, { detect : function() { this.collect("window_height",window.innerHeight + "^^int"); this.collect("window_width",window.innerWidth + "^^int"); } }); Folie 21
KOMPLEXPRAKT IKUM MULTIMEDIATEC HNIK II SOSE 2009 Demonstration Hyperadapt / Allgemeines Adaptive Transformation von Ressourcen Asynchrones Nachladen von Seiteninhalten Rendern des Amacontformates – Stretchbar, Thumbnail, Multimedia logo.png?tranformer=thumbnail&thumbnailSize=30 Folie 22
KOMPLEXPRAKT IKUM MULTIMEDIATEC HNIK II SOSE 2009 Demonstration Hyperadapt / Adaption Auswahl der Nutzersprache dev:Language dev:pref_lang de welcome_de.pt2 Folie 23
KOMPLEXPRAKT IKUM MULTIMEDIATEC HNIK II SOSE 2009 Demonstration Hyperadapt / Nutzermanagement Bereitstellung eines Nutzermanagements mit Login/Logout Einbinden von serverseitigen Kontextsensoren – Verarbeiten der Nutzerinformationen UserInformationBloater [ pref_lang_loggedin: (usr:AmacontUser usr:userlang ?x), bound(?x) -> (dev:Language dev:pref_lang ?x)] UserInformationBloater Folie 24
KOMPLEXPRAKT IKUM MULTIMEDIATEC HNIK II SOSE 2009 Demonstration Soundnexus / Datenbankanfragen Anfragen von externen Datenbanken Einbinden von Requestparametern in Anfragen <aco:AmaListComponent [..] query="SELECT name AS interpret FROM interpret WHERE id=${query_field('interpret_id')} "> query="SELECT * FROM album WHERE id = 'substitute(id)'" Folie 25
KOMPLEXPRAKT IKUM MULTIMEDIATEC HNIK II SOSE 2009 Demonstration Soundnexus / Webserviceanfragen Anfragen von externen Webservices per SOAP Herbert Groenemeyer Folie 26
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie Erzielte Ergebnisse
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 28 Erzielte Ergebnisse AMACONT Serverumgebung Hohes Maß an Flexibilität: Pipeline Architektur AMACONT Technologie Erweiterung: AJAX Ontologie Webservices Organisation + Zusammenarbeit in großem Entwicklerteam Viel Erfahrung im Bereich neuer Webtechnologien gesammelt
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 29 Performanz: basistechnologiebedingt Pipelineparallelität besser ausnutzbar Dokumentation zu Basis erweiterbar Debugger Source Code + Breakpoints Kontexterweiterung Zusätzliche Medienkomponenten Mit der Erfahrung von heute… 2nd Development Cycle Dank für die ausdauernde Unterstützung und Geduld unserer Tutoren Grenzen und Erweiterungen
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 30 Vielen Dank für Ihre Aufmerksamkeit
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009
Folie 5 Zielstellung AMACONT Dokumentstruktur (Instanz):
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 12 Umsetzung Architektur (Kristian Scholze)
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 14 Umsetzung Kontext (Lars Kreisz, K.S.) Geltungsbereich: Applikation (1:N z.B. Device.owl, Amacont.owl) Performanz durch Session Management Kontextmodell über Ontologie SPARQL als Anfragesprache
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 15 Umsetzung Datenbank & Webservices (Fabian Potschies, David Gest) AMACONT: Datenbankanfragen möglich Hierarchische Anfragen Rekursion Cocoon Pipeline Transformation in Cocoon-SQL AMACONT: WSDL nicht implementiert Schemaerweiterung + Abfrage Logik notwendig Serielle Abarbeitung > 1 WS p. Page
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 19 Logic-Tag Example (simple context request): Umsetzung Adaption (David Götze, Maximilian Rudolph, Susanne Haase, Torsten Schiefer)
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 3 Organisation
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 3 Organisation Projektablauf:
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 3 Organisation Komponenten und Verantwortlichkeiten:
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 raus Umsetzung Architektur (Kristian Scholze) Cocoon Projekt Initialisierung + Betreuung Bonus: JENA – Ontologie Herausforderung: mit wenig Dokumentation schnell gut verständliche Architektur entwickeln mit guter Performanz
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 raus Umsetzung Kontext (Lars Kreisz, K.S.) Basis W3C Delivery Context Ontology Kontextmodel erweiterbar GEO IP Repräsentant externe Dienste
WS Komponente: (Schema + Anfrage) K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 raus -> evtl db rein Umsetzung Datenbank & Webservices (Fabian Potschies, David Gest)
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 3 Logic-Tag (SPARQL request): Umsetzung Adaption (David Götze, Maximilian Rudolph, Susanne Haase, Torsten Schiefer)
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 raus Koordination Architektur – Kontext – Adaption Definition SPARQL Anfragesemantik für Nutzerkontext Umsetzung Adaption (David Götze, Maximilian Rudolph, Susanne Haase, Torsten Schiefer)
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 raus Ablauf Rendering: Umsetzung Transformation XHTML (Debora Adam, Yihan Deng, M.R.)
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 3 Umsetzung Transformation XHTML (Debora Adam, Yihan Deng, M.R.)
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 raus Ablauf Debug Run: Umsetzung Cocoon Debugger (Cosmin Jurma)
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 24 Umsetzung Cocoon Debugger (Cosmin Jurma)
K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 Folie 12 Umsetzung Architektur (Kristian Scholze)