K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 AMACONT vs. COCOON Serverumgebung für...

Post on 05-Apr-2015

104 views 1 download

Transcript of K OMPLEXPRAKTIKU M M ULTIMEDIATECHNI K II S O S E 2009 AMACONT vs. COCOON Serverumgebung für...

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

AMACONT vs. COCOON

Serverumgebung für aspektorientierte, adaptive Webanwendungen

AMACONT COCOON XHTML

Folie 1

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 2

Gliederung 1. Zielstellung

2. Organisation

3. Umsetzung

4. Demonstration

5. Erzielte Ergebnisse

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 3

Zielstellung

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 4

Zielstellung

• AMACONT Dokumentstruktur (architektonisch):

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 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

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 6

Organisation

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 7

Organisation

• Komponenten und Verantwortlichkeiten:

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 8

Organisation • Projektabschnitte:

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 9

Organisation

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 10

Umsetzung Architektur

(Kristian Scholze)

• Verwendete Frameworks: Maven Cocoon Jetty Eclipse AMACONT

• Cocoon Pipeline Planung

• Komponentenschnittstellen spezifizieren

• Vorverarbeitung (Auflösung Referenzen)

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 11

Umsetzung Kontext

(Lars Kreisz, K.S.)

• Nutzerkontext dynamische AnpassungJavaScript Kontextsensoren Client SeiteKontextsensoren Serverseite (Einbettung externer Dienste)Einbettung in gerenderten CodeLogin 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

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 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

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 13

Umsetzung Datenbank &

Webservices(Fabian Potschies, David Gest)

• AMACONT: WSDL nicht implementiert

• Schemaerweiterung + Abfrage Logik notwendig

• Serielle Abarbeitung > 1 WS p. Page

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 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)

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 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 Transformati

on XHTML(Debora Adam, Yihan Deng, M.R.)

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 16

• Ergebnis, beispielhaft (LRO Animierter Ladebalken):Umsetzung

Transformation XHTML(Debora Adam, Yihan Deng, M.R.)

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 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)

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 18

AuswahlCocoon Projekt

KonfigurationServlet-Container

Log-Ausgabe

Umsetzung Cocoon

Debugger(Cosmin Jurma)

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 19

4. Demonstration

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Demonstration Hyperadapt / Allgemeines

• Bereitstellung einer Portalseite– Laden der Javascriptsensoren

<entry key="javascriptcontextsensors">ScreenSize,BrowserPlugins

</entry>

Folie 20

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 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

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 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

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Demonstration Hyperadapt / Adaption

• Auswahl der Nutzersprache

<aada:If> <aada:Expr> <aada:Term> <aada:UserParam> dev:Language dev:pref_lang </aada:UserParam> <aada:Const>de</aada:Const> </aada:Term> </aada:Expr> <aada:Then> <aada:ChooseVariant> welcome_de.pt2 </aada:ChooseVariant> </aada:Then>

Folie 23

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Demonstration Hyperadapt / Nutzermanagement

• Bereitstellung eines Nutzermanagements mit Login/Logout

• Einbinden von serverseitigen Kontextsensoren– Verarbeiten der Nutzerinformationen

<entry key="javacontextsensors">UserInformationBloater

</entry>

[ pref_lang_loggedin:

(usr:AmacontUser usr:userlang ?x),bound(?x)

->(dev:Language dev:pref_lang ?x)]

<entry key="javacontextsensors">UserInformationBloater

</entry>

Folie 24

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 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

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Demonstration Soundnexus / Webserviceanfragen

• Anfragen von externen Webservices per SOAP

<ws:ws-calls xmlns:ws="[..]AmaWebService"> <ws:ws-soap-call callingID="ws1234"> <ws:wsdl [..]/> <ws:request> <ws:soap-body> <tem:AlbumSearch> <tem:artistText>

Herbert Groenemeyer </tem:artistText>

</tem:AlbumSearch> </ws:soap-body> </ws:request> </ws:ws-soap-call> </ws:ws-calls>

Folie 26

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 27

5. Erzielte Ergebnisse

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 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

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 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

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 30

Vielen Dank für Ihre

Aufmerksamkeit

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 5

Zielstellung

• AMACONT Dokumentstruktur (Instanz):

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 12

Umsetzung Architektur

(Kristian Scholze)

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 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

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 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

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 19

• Logic-Tag Example (simple context request):Umsetzung Adaption

(David Götze, Maximilian Rudolph, Susanne Haase, Torsten Schiefer)

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 3

Organisation

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 3

Organisation

Projektablauf:

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 3

Organisation

Komponenten und Verantwortlichkeiten:

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

raus

Umsetzung Architektur

(Kristian Scholze)

Cocoon Projekt Initialisierung + Betreuung

Bonus: JENA – Ontologie

Herausforderung:

mit wenig Dokumentationschnellgut verständlicheArchitektur entwickelnmit guter Performanz

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 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)

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

raus -> evtl db rein

Umsetzung Datenbank &

Webservices(Fabian Potschies, David Gest)

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 3

Logic-Tag (SPARQL request):

Umsetzung Adaption

(David Götze, Maximilian Rudolph, Susanne Haase, Torsten Schiefer)

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

raus

Koordination Architektur – Kontext – Adaption Definition SPARQL Anfragesemantik für

Nutzerkontext

Umsetzung Adaption

(David Götze, Maximilian Rudolph, Susanne Haase, Torsten Schiefer)

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

raus

Ablauf Rendering:

Umsetzung Transformati

on XHTML(Debora Adam, Yihan Deng, M.R.)

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 3

Umsetzung Transformati

on XHTML(Debora Adam, Yihan Deng, M.R.)

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

raus

Ablauf Debug Run:

Umsetzung Cocoon

Debugger(Cosmin Jurma)

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 24

Umsetzung Cocoon

Debugger(Cosmin Jurma)

KOMPLEXPRAKTIKUM MULTIMEDIATECHNIK IISOSE 2009

Folie 12

Umsetzung Architektur

(Kristian Scholze)