Upload
karlene-gess
View
107
Download
1
Embed Size (px)
Citation preview
Mobile Access Initiative und Device Independence Initiative
Führicht RobertFühricht Robert
Parzer StefanParzer Stefan
Schartner EvaSchartner Eva
2© 2004 Department of Information Systems
Einleitung zu Device Independence
Die Gesellschaft im WandelDie Gesellschaft im Wandel MobilitätMobilität ZeitknappheitZeitknappheit Internet in Beruf und FreizeitInternet in Beruf und Freizeit Internet umfangreiche InformationsplattformInternet umfangreiche Informationsplattform
Zielmedium von Applikationen muss sich ändernZielmedium von Applikationen muss sich ändern Weg vom Browser auf dem DesktopWeg vom Browser auf dem Desktop Hin zu verschiedenen Endgeräten (Desktop, Handy, PDA, …)Hin zu verschiedenen Endgeräten (Desktop, Handy, PDA, …)
3© 2004 Department of Information Systems
Was ist Device Independence
Erweiterung von bestehenden und künftigen Web-Erweiterung von bestehenden und künftigen Web-Applikationen um verschiedenste Endgeräte bedienen zu Applikationen um verschiedenste Endgeräte bedienen zu könnenkönnen
Benutzer- und Gerätespezifische AntwortenBenutzer- und Gerätespezifische Antworten Abhängig unter anderem vonAbhängig unter anderem von
Hardware (Bildschirmgröße, Auflösung, Speicher, …)Hardware (Bildschirmgröße, Auflösung, Speicher, …) Ausgabemodalitäten (visuell, audio, taktil, …)Ausgabemodalitäten (visuell, audio, taktil, …) Software (verschiedene Plattformen)Software (verschiedene Plattformen)
4© 2004 Department of Information Systems
Die Standards
Unterschiede bei den EndgerätenUnterschiede bei den Endgeräten DisplayDisplay
Auflösung, Farbtiefe, Größe, AusrichtungAuflösung, Farbtiefe, Größe, Ausrichtung EingabemöglichkeitenEingabemöglichkeiten
Desktop-Tastatur, Notebook-Tastatur, Funktionstasten (PDA), Desktop-Tastatur, Notebook-Tastatur, Funktionstasten (PDA), Stift, Maus, …Stift, Maus, …
ÜbertragungsgeschwindigkeitenÜbertragungsgeschwindigkeiten Breitband, ISDN, Modem, …Breitband, ISDN, Modem, …
AusgabemöglichkeitenAusgabemöglichkeiten Display, Sprachausgabe, LCD, Drucker, Force Feedback, …Display, Sprachausgabe, LCD, Drucker, Force Feedback, …
Weitere Fähigkeiten der HardwareWeitere Fähigkeiten der Hardware Filme, Sound, Animationen wiedergeben, Akkuleistung, …Filme, Sound, Animationen wiedergeben, Akkuleistung, …
5© 2004 Department of Information Systems
Was ist eine Web-Applikation (Webseite)?
Definition des W3C einer Web-Applikation (Webseite):Definition des W3C einer Web-Applikation (Webseite):
„„Anwendung die aus Inhalt, Präsentation, Navigation, Anwendung die aus Inhalt, Präsentation, Navigation, Interaktion und Business Logic besteht. Die Bandbreit reicht Interaktion und Business Logic besteht. Die Bandbreit reicht
von einer einfachen, nicht interaktiven Anwendung von einer einfachen, nicht interaktiven Anwendung (Informationsseiten) bis zur komplexen, sehr funktionellen (Informationsseiten) bis zur komplexen, sehr funktionellen
Anwendung (E-Commerce.Anwendung (E-Commerce.
6© 2004 Department of Information Systems
Elemente einer Webseite - Stil
StilStil Aussehen von Textelementen (Textausrichtung, Einrückungen)Aussehen von Textelementen (Textausrichtung, Einrückungen) Von Bildern, Graphiken, Video, AudioVon Bildern, Graphiken, Video, Audio
Veränderung des Stils betrifft Darstellung des Inhalts nicht Veränderung des Stils betrifft Darstellung des Inhalts nicht aber den Inhalt selbstaber den Inhalt selbst
TechnikenTechniken Autor im Vorhinein Stil der Darstellung auswählt, über Bedingungen
ausgewählt (CSS Media Queries) clientseitige Scripts: für jedes Gerät einzeln nötig, nach Ansicht des
W3C nicht für Device-Independece geeignet serverseitige Scripts: Grundlage für Standards wie CC/PP
7© 2004 Department of Information Systems
Elemente einer Webseite - Layout
LayoutLayout Physische Anordnung der Textelemente, Bilder, …Physische Anordnung der Textelemente, Bilder, … Designer müssen Rücksicht Hardware nehmenDesigner müssen Rücksicht Hardware nehmen
Kein Display -> Sprachausgabe des Textes Kein Display -> Sprachausgabe des Textes Reihenfolge muss festgelegt werdenReihenfolge muss festgelegt werden
Techniken für Anpassung des LayoutsTechniken für Anpassung des Layouts Hardwaremerkmale müssen bekannt seinHardwaremerkmale müssen bekannt sein Inhalt von Layout getrenntInhalt von Layout getrennt Oft Layout in Zonen aufgeteilt, Text wird durch ID zugeordnetOft Layout in Zonen aufgeteilt, Text wird durch ID zugeordnet -> SMIL-> SMIL
8© 2004 Department of Information Systems
Elemente einer Webseite - Layout
Beispiel für SMILBeispiel für SMIL
<smil xmlns=„http://www.w3c.org/2001/SMIL20/“><head>
<layout><root-layout width=„320“ height=„480“/><region id=„a“ top=„5“ bottom=„100“/><region id=„b“ top=„200“ bottom=„200“/>
</layout></head><body>
<text region=„a“ src=„text.html“/>…
9© 2004 Department of Information Systems
Elemente einer Webseite -Inhalt
InhaltInhalt Text, Graphik, Bilder, Audio, Video, …Text, Graphik, Bilder, Audio, Video, …
Statischer InhaltStatischer Inhalt Meist aus Text und fix platzierten MedienMeist aus Text und fix platzierten Medien Kein Server zum Zusammensetzen einer Seite nötigKein Server zum Zusammensetzen einer Seite nötig Einfachheit der Erstellung muss sich auf Device Independence Einfachheit der Erstellung muss sich auf Device Independence
übertragen lassenübertragen lassen
10© 2004 Department of Information Systems
Elemente einer Webseite - Inhalt
Dynamische generierte AnwendungsdatenDynamische generierte Anwendungsdaten Aus Datenbanken oder WebservicesAus Datenbanken oder Webservices Reine Information, keine PräsentationsdatenReine Information, keine Präsentationsdaten z.B. Preise, Produktnummern, …z.B. Preise, Produktnummern, … Formatierung muss im Nachhinein hinzugefügt werdenFormatierung muss im Nachhinein hinzugefügt werden
Mögliches ProblemMögliches Problem Menge der Daten im Vorhinein nicht bekanntMenge der Daten im Vorhinein nicht bekannt Kann Endgerät überfordernKann Endgerät überfordern Forderung: Möglichkeit zur Anpassung der MengeForderung: Möglichkeit zur Anpassung der Menge
11© 2004 Department of Information Systems
Elemente einer Webseite - Inhalt
Dynamisch generierte Daten mit FormatierungsinformationenDynamisch generierte Daten mit Formatierungsinformationen Pressemeldungen, Produktkatalog, Suchergebnisse, …Pressemeldungen, Produktkatalog, Suchergebnisse, … Haben z.B. Formatierung für ihre ÜberschriftHaben z.B. Formatierung für ihre Überschrift Meist in HTMLMeist in HTML
ForderungForderung Auch für andere Anwendungen, Geräte Auch für andere Anwendungen, Geräte Entsprechende TransformationstechnikenEntsprechende Transformationstechniken
12© 2004 Department of Information Systems
Elemente einer Webseite - Inhalt
DesignerDesigner Erstellung direkt von Endgeräten beeinflusstErstellung direkt von Endgeräten beeinflusst Oft mehrere Versionen des gleichen InhaltsOft mehrere Versionen des gleichen Inhalts
TechnikenTechniken Metainformationen über Inhalt (XML, SMIL, CSS Media Queries)Metainformationen über Inhalt (XML, SMIL, CSS Media Queries)
13© 2004 Department of Information Systems
Elemente einer Webseite - Struktur
Grundlage für Beziehung zwischen SeitenGrundlage für Beziehung zwischen Seiten Wesentlicher Einfluss auf NavigationWesentlicher Einfluss auf Navigation Einige Typen:Einige Typen:
LinearLinear
HierarchischHierarchisch
NetzNetz
14© 2004 Department of Information Systems
Elemente einer Webseite - Struktur
TechnikenTechniken AggregationAggregation
Zusammenbringen verschiedener QuellenZusammenbringen verschiedener Quellen Eigene StrukturEigene Struktur In Erstellungsphase, während Adaption, am ClientIn Erstellungsphase, während Adaption, am Client Durch unterschiedliche Phasen verschiedene TechnikenDurch unterschiedliche Phasen verschiedene Techniken
• XIncludeXInclude• SSISSI• JSP IncludeJSP Include
15© 2004 Department of Information Systems
Elemente einer Webseite - Struktur
TechnikenTechniken DekompositionDekomposition
Zerlegen von Inhalt in kleinere EinheitenZerlegen von Inhalt in kleinere Einheiten Ursprüngliche Struktur geht verlorenUrsprüngliche Struktur geht verloren bei beschränken Fähigkeiten des Clientsbei beschränken Fähigkeiten des Clients
Mögliche Ergebnisse bei linearem InhaltMögliche Ergebnisse bei linearem Inhalt Paper Pages (Drucker)Paper Pages (Drucker) Tabbed Pages (Karteikarten)Tabbed Pages (Karteikarten) Wizards (oft für Formulare)Wizards (oft für Formulare)
16© 2004 Department of Information Systems
Elemente einer Webseite - Struktur
Techniken Dekomposition Fortsetzung…Techniken Dekomposition Fortsetzung… Oft ist Nummerierung notwendigOft ist Nummerierung notwendig Seitennummer im vorhinein nicht gekanntSeitennummer im vorhinein nicht gekannt Möglichkeit zur Definition von Referenzen Möglichkeit zur Definition von Referenzen Werden je nach Struktur „übersetzt“Werden je nach Struktur „übersetzt“ z.B. siehe Seite 5, für weiter z.B. siehe Seite 5, für weiter hierhier klicken klicken
17© 2004 Department of Information Systems
Elemente einer Webseite - Navigation
Zwischen und innerhalb einzelner SeitenZwischen und innerhalb einzelner Seiten Designer legen Weg fest den Benutzer nehmen Designer legen Weg fest den Benutzer nehmen
können/sollenkönnen/sollen Hauptsächlich durch HyperlinksHauptsächlich durch Hyperlinks
Problem der DarstellungProblem der Darstellung Meist mit langer TextbeschreibungMeist mit langer Textbeschreibung
• „„Um weitere Hilfe zu erhalten klicken sie Um weitere Hilfe zu erhalten klicken sie hier“hier“ Auf kleinem Display besser:Auf kleinem Display besser:
• „„HilfeHilfe““
18© 2004 Department of Information Systems
Elemente einer Webseite - Navigation
MenüMenü Hierarchisch strukturiertHierarchisch strukturiert außerhalb des eigentlichen Inhaltsaußerhalb des eigentlichen Inhalts direkter zugriffdirekter zugriff
Tastatur-ShortcutsTastatur-Shortcuts Direkte Auswahl durch TastenkürzelDirekte Auswahl durch Tastenkürzel Problem bei verkleinerter oder gar keiner TastaturProblem bei verkleinerter oder gar keiner Tastatur
19© 2004 Department of Information Systems
Verschiedene Designtechniken
„„Multiple Authoring“Multiple Authoring“ Für jedes Gerät (-Klasse)Für jedes Gerät (-Klasse) Eigene Version des InhaltsEigene Version des Inhalts Keine Unterstützung für nicht berücksichtigte GeräteKeine Unterstützung für nicht berücksichtigte Geräte Brauchbar für Multimediainhalten (Filme, Audio, Bilder, …)Brauchbar für Multimediainhalten (Filme, Audio, Bilder, …)
Muss Weg geben um Inhalt nach den Eigenschaften auszuwählenMuss Weg geben um Inhalt nach den Eigenschaften auszuwählen Server (URL Redirection, Proxy, Client)Server (URL Redirection, Proxy, Client)
20© 2004 Department of Information Systems
Verschiedene Designtechniken
„„Single Authoring“Single Authoring“ Nur eine Version des InhalteNur eine Version des Inhalte Eine Adaptionstechnik muss für Übersetzung und Anpassung Eine Adaptionstechnik muss für Übersetzung und Anpassung
sorgensorgen Zusätzliche Metainformationen zur UnterstützungZusätzliche Metainformationen zur Unterstützung
Markup, Attribute, KommentareMarkup, Attribute, Kommentare CSS Media QueriesCSS Media Queries
• Regeln von Autor erstelltRegeln von Autor erstellt
„„Flexible AuthoringFlexible Authoring Mischung der Techniken Mischung der Techniken
21© 2004 Department of Information Systems
Adaption des Inhalts
Von Hand durch den AutorVon Hand durch den Autor Wünschenswert automatisch ohne Zutun des AutorsWünschenswert automatisch ohne Zutun des Autors
Auswählen, Entfernen (Selection/Remove)Auswählen, Entfernen (Selection/Remove) Von nicht gewünschtem InhaltVon nicht gewünschtem Inhalt Augrund von EntscheidungsmechanismenAugrund von Entscheidungsmechanismen
URL-RedirektionURL-Redirektion Server nimmt URL entgegen, leitet Client weiterServer nimmt URL entgegen, leitet Client weiter Problem: zurückgelieferte URL nicht „Merkbar“, Bookmarks nicht Problem: zurückgelieferte URL nicht „Merkbar“, Bookmarks nicht
geräteunabhängiggeräteunabhängig
22© 2004 Department of Information Systems
Adaption des Inhalts
In-Document DecisionIn-Document Decision Durch Auswertung von Entscheidungstags im ContentDurch Auswertung von Entscheidungstags im Content Einzeln (Conditional Selection)Einzeln (Conditional Selection)
Wenn „true“ wird Inhalt angezeigtWenn „true“ wird Inhalt angezeigt Als Liste (Switch Selection)Als Liste (Switch Selection)
Solange durchsucht bis ein Tag „true“ oder DefaultelementSolange durchsucht bis ein Tag „true“ oder Defaultelement
Praktische Anwendung: SMILPraktische Anwendung: SMIL
Problem: zuerst muss gesamtes Dokument übertragen Problem: zuerst muss gesamtes Dokument übertragen werdenwerden
23© 2004 Department of Information Systems
Adaption des Inhalts
Adaption durch AbkürzungAdaption durch Abkürzung Lange Textpassagen für kleine Endgeräte abgekürztLange Textpassagen für kleine Endgeräte abgekürzt Weiterer Text am Dokumentende oder als eigene SeiteWeiterer Text am Dokumentende oder als eigene Seite
Problem wenn der Sinn verändert wirdProblem wenn der Sinn verändert wird „„President eats astronaut foot during visit to launch site“President eats astronaut foot during visit to launch site“ „„President eats astronaut …“President eats astronaut …“
24© 2004 Department of Information Systems
Adaption des Inhalts
TransformationTransformation Format, Beschreibungssprache in eine andere umgeformtFormat, Beschreibungssprache in eine andere umgeformt
TechnikenTechniken XSLT (HTML->WML, XML->SVG)XSLT (HTML->WML, XML->SVG) DOM (für markup)DOM (für markup) Image Filter/ConverterImage Filter/Converter
Enthaltene Medien (z.B. Bilder) können dabei beibehalten Enthaltene Medien (z.B. Bilder) können dabei beibehalten werden oder ebenfalls Transformiert werdenwerden oder ebenfalls Transformiert werden
25© 2004 Department of Information Systems
Adaption Processors
Können Inhalte einer bestimmten Form in ein anderes Können Inhalte einer bestimmten Form in ein anderes Format umwandelnFormat umwandeln Auf einfacher Ebene (HTML für verschiedene Browser)Auf einfacher Ebene (HTML für verschiedene Browser) komplex: „übersetzen“ zwischen verschiedenen Medienkomplex: „übersetzen“ zwischen verschiedenen Medien
Graphisch -> AudioGraphisch -> Audio
Serverseitige AdaptionServerseitige Adaption Entsprechende Informationen vorausgesetztEntsprechende Informationen vorausgesetzt Bandbreite optimal ausnutzen (RTP, RTSP)Bandbreite optimal ausnutzen (RTP, RTSP)
26© 2004 Department of Information Systems
Adaption Processors
Fortsetzung serverseitige Adaption…Fortsetzung serverseitige Adaption… Variant SelectionVariant Selection
Server hat Auswahl an Varianten des InhaltsServer hat Auswahl an Varianten des Inhalts Wählt passenden für Client ausWählt passenden für Client aus
Media AdaptionMedia Adaption Für Bilder, Audio, VideoFür Bilder, Audio, Video Auflösung, Farbtiefe, Format (.jpg -> .wbmp) geändert Auflösung, Farbtiefe, Format (.jpg -> .wbmp) geändert
27© 2004 Department of Information Systems
Adaption Processors
clientseitige Adaptionclientseitige Adaption Image ResizingImage Resizing
Skalierung auf dem EndgerätSkalierung auf dem Endgerät z.B. Landkartez.B. Landkarte
• Unterschiedliche Skalierung Text und Graphik, damit Unterschiedliche Skalierung Text und Graphik, damit Text noch lesbar bleibtText noch lesbar bleibt
• Textteile weglassenTextteile weglassen
28© 2004 Department of Information Systems
Adaption Processors
Form ResizingForm Resizing Größenänderung eines EingabeformularesGrößenänderung eines Eingabeformulares
Formularelemente verkleinernFormularelemente verkleinern Position der Elemente verändernPosition der Elemente verändern Elemente in kleinere adäquate Form umwandelnElemente in kleinere adäquate Form umwandeln
29© 2004 Department of Information Systems
Adaption Processors
Adaption auf einem ProxyAdaption auf einem Proxy Proxy leitet Anfrage an Server weiter Proxy leitet Anfrage an Server weiter passt dessen Antwort an die Bedürfnisse des Clients anpasst dessen Antwort an die Bedürfnisse des Clients an
30© 2004 Department of Information Systems
Kritische Würdigung der Standards
Momentaner W3C-Status: „Group Notes“Momentaner W3C-Status: „Group Notes“ Recht früh, wenig konkret, DenkansätzeRecht früh, wenig konkret, Denkansätze
Einzig CC/PP Standard („Recommendation“) wirkt Einzig CC/PP Standard („Recommendation“) wirkt einigermaßen ausgereifteinigermaßen ausgereift
Übergeordneter Zusammenhalt zwischen den Standards Übergeordneter Zusammenhalt zwischen den Standards fehlt uns.fehlt uns.
Umfangreicher Glossar vorhandenUmfangreicher Glossar vorhanden
Keine brauchbare Referenz/Richtlinien zur Entwicklung Keine brauchbare Referenz/Richtlinien zur Entwicklung konkreter ubiquitärer Webapplikationen.konkreter ubiquitärer Webapplikationen.
31© 2004 Department of Information Systems
CC/PP - Überblick
Composite Capabilities / Preference ProfilesComposite Capabilities / Preference Profiles
Recommendation des W3C Recommendation des W3C [W3C04_01]
XML basierte Sprache zur Beschreibung der Eigenschaften XML basierte Sprache zur Beschreibung der Eigenschaften eines Endgerätes z.B.:eines Endgerätes z.B.: Max. AuflösungMax. Auflösung JavaunterstützungJavaunterstützung zur Verfügung stehender Speicherzur Verfügung stehender Speicher usw.usw.
32© 2004 Department of Information Systems
CC/PP
W3C Standard umfasst kein Übertragungsprotokoll für W3C Standard umfasst kein Übertragungsprotokoll für CC/PP CC/PP
CC/PPEx und W-HTTPCC/PPEx und W-HTTP
CC/PP ist ohne UAProf in der Praxis nicht anwendbar,CC/PP ist ohne UAProf in der Praxis nicht anwendbar,
weil Spezifikation von konkreten Attributen fehlt.weil Spezifikation von konkreten Attributen fehlt. FrameworkFramework
Datentypen für AttributeDatentypen für Attribute Mechanismus für StandardwerteMechanismus für Standardwerte
33© 2004 Department of Information Systems
CC/PP - Aufbau
Ein CC/PP Profil ist immer aus Komponenten und Attributen aufgebaut
Komponenten:Komponenten: Hauptkomponente des spezifizierten Endgerätes Hauptkomponente des spezifizierten Endgerätes
(z.B.: Hardware, Software)(z.B.: Hardware, Software)
Attribute:Attribute: Aspekt der Hauptkomponente und seine AusprägungAspekt der Hauptkomponente und seine Ausprägung
(z.B.: Speichergröße: 128KB)(z.B.: Speichergröße: 128KB)
34© 2004 Department of Information Systems
CC/PP - Datentypen
einfache Typeneinfache Typen StringString
IntegerInteger
RationalRational
zusammengesetzte Typenzusammengesetzte Typen rdf:Bag (Menge von Werten ohne bestimmte Reihenfolge)rdf:Bag (Menge von Werten ohne bestimmte Reihenfolge)
rdf:Seq (Reihenfolge der Werte hat eine Bedeutung)rdf:Seq (Reihenfolge der Werte hat eine Bedeutung)
35© 2004 Department of Information Systems
CC/PP - Defaultwerte
<ccpp:component><ex:HardwarePlatform rdf:about="http://www.example.com/
profile#TerminalHardware"><ccpp:defaults rdf:resource="http://www.example.com/
schema#HWDefault" /><ex:memoryMb>32</ex:memoryMb>
</ex:HardwarePlatform></ccpp:component>
Bequeme Art zwei annähernd gleiche Geräte mit dem selben Bequeme Art zwei annähernd gleiche Geräte mit dem selben Profil anzusprechenProfil anzusprechen
36© 2004 Department of Information Systems
CC/PP - UAProf
User Agent ProfilesUser Agent Profiles
Spezifiziert von der Open Mobile Alliance (OMA) 1999Spezifiziert von der Open Mobile Alliance (OMA) 1999
Konkrete Attribute für Endgeräte werden spezifiziertKonkrete Attribute für Endgeräte werden spezifiziert
Vokabular für CC/PPVokabular für CC/PP
Wird in der Praxis eingesetztWird in der Praxis eingesetzt
37© 2004 Department of Information Systems
CC/PPEx – Übertragung des Profils zum Server
Client Server
Repository
URL zum Profil in der Repository und etwaige Änderungen
An des Endgerät angepasste Seite
Holt Profil aus der Repository
38© 2004 Department of Information Systems
CC/PP – W-HTTP
Alternative zu CC/PPExAlternative zu CC/PPEx
Kompatibel zu HTTP 1.1Kompatibel zu HTTP 1.1 CC/PPEx ist Anwendung des HTTP Extension FrameworksCC/PPEx ist Anwendung des HTTP Extension Frameworks
bedingt kompatibel zu HTTP 1.1bedingt kompatibel zu HTTP 1.1
von der OMA in der UAProf Spezifikation von der OMA in der UAProf Spezifikation [OMA03]
39© 2004 Department of Information Systems
CC/PP - Implementierungen
DELIDELI
entwickelt entwickelt in den HPLabs von Dr. Mark H. Butler
Framework zur Verwendung von Profildaten in Java ServletsFramework zur Verwendung von Profildaten in Java Servlets DICEDICE
JavaServlet für TomcatJavaServlet für Tomcat X-SmilesX-Smiles
Java basierter Browser, der CC/PP an den Java basierter Browser, der CC/PP an den JigsawJigsaw
Java basierter Webserver des W3CJava basierter Webserver des W3C
40© 2004 Department of Information Systems
Kriterien für Webapplikationen
Unabhängigkeit vom EndgerätUnabhängigkeit vom Endgerät Vorlieben des BenutzersVorlieben des Benutzers gerätespezifische Response auf ein Requestgerätespezifische Response auf ein Request Dazu zwei Prinzipien beachten Dazu zwei Prinzipien beachten
Information über den Kontext Information über den Kontext Adaptierung gemäß der KontextparameterAdaptierung gemäß der Kontextparameter
41© 2004 Department of Information Systems
Kriterien für Webapplikationen
Kontext Properties spezifizieren Information die man für Kontext Properties spezifizieren Information die man für spezifische Adaptierung benötigt. spezifische Adaptierung benötigt. OrtOrt ZeitZeit NetzwerkNetzwerk EndgerätEndgerät ApplikationApplikation BenutzerBenutzer
1. Welche dieser Properties werden unterstützt?1. Welche dieser Properties werden unterstützt?
2. Können eigene Properties definiert werden?2. Können eigene Properties definiert werden?
42© 2004 Department of Information Systems
Kriterien für Webapplikationen
Eigenschaften von Kontext PropertiesEigenschaften von Kontext Properties3. Werte von Properties verfolgen3. Werte von Properties verfolgen
Properties die sich mit Zeit ändernProperties die sich mit Zeit ändern ChronologieChronologie
4. Validierung 4. Validierung 5. Persistente Speicherung5. Persistente Speicherung
Art der Speicherung: Datenbank oder ProfileArt der Speicherung: Datenbank oder Profile WiederverwendbarkeitWiederverwendbarkeit
6. Unterscheidung zwischen physischer und logischer 6. Unterscheidung zwischen physischer und logischer KontextinformationKontextinformation AbstraktionsgradAbstraktionsgrad Physisch: User IDPhysisch: User ID Logisch: Profilinformationen des BenutzersLogisch: Profilinformationen des Benutzers
43© 2004 Department of Information Systems
Kriterien für Webapplikationen
7. Statische oder Dynamische Properties?7. Statische oder Dynamische Properties? Statisch: am Anfang festgelegt, ändern sich nicht mehr, Statisch: am Anfang festgelegt, ändern sich nicht mehr,
z. B. Entscheidung für Sprachez. B. Entscheidung für Sprache Dynamisch: Wert ändert sich während der Dauer der Applikation, Dynamisch: Wert ändert sich während der Dauer der Applikation,
z. B. verschiedene Endgeräteparameterz. B. verschiedene Endgeräteparameter Erst durch Dynamische wird Device Independence RealitätErst durch Dynamische wird Device Independence Realität
8. Dynamische Properties – wie wird veränderter Wert bemerkt? 8. Dynamische Properties – wie wird veränderter Wert bemerkt? Periodische AbfragePeriodische Abfrage Event-Listener-ModellEvent-Listener-Modell Als Parameter im Request bei jeder Anfrage neu ermitteltAls Parameter im Request bei jeder Anfrage neu ermittelt
44© 2004 Department of Information Systems
Kriterien für Webapplikationen
Adaptierung: maßgeschneiderter Inhalt für EndgeräteAdaptierung: maßgeschneiderter Inhalt für Endgeräte
9. Darstellung des Inhalts der Applikation9. Darstellung des Inhalts der Applikation Datenbank – Semantik!Datenbank – Semantik! HTML-Seiten – statisch!HTML-Seiten – statisch!
10. Architektur – wo findet Adaptierung statt?10. Architektur – wo findet Adaptierung statt? End-to-End KommunikationEnd-to-End Kommunikation
ServerServer ClientClient
Intermediary AnstatzIntermediary Anstatz ProxyProxy
Beides hat Vor- und NachteileBeides hat Vor- und Nachteile
45© 2004 Department of Information Systems
Kriterien für Webapplikationen
11. Granularität der Adaptierung11. Granularität der Adaptierung Jedes Endgerät als individuelle EinheitJedes Endgerät als individuelle Einheit Endgeräte als Klassen gesehen, Adaptierung nur klassenspezifischEndgeräte als Klassen gesehen, Adaptierung nur klassenspezifisch
12. Zwischenergebnisse von Adaptierungen wieder verwendet?12. Zwischenergebnisse von Adaptierungen wieder verwendet?
13. Unterstützte Modalitäten bei Adaptierung13. Unterstützte Modalitäten bei Adaptierung Gängig: visuell, audioGängig: visuell, audio SprachenSprachen
14. Adaptierung auf verschiedenen Qualitätsstufen14. Adaptierung auf verschiedenen Qualitätsstufen Bild in mehreren AuflösungenBild in mehreren Auflösungen Gegensatz: Originalelement oder EntfernungGegensatz: Originalelement oder Entfernung
46© 2004 Department of Information Systems
Kriterien für Webapplikationen
Operationen für AdaptierungOperationen für Adaptierung
15. Sind Adaptierungsoperationen schon vorhanden?15. Sind Adaptierungsoperationen schon vorhanden?
16. Können selbst Operationen definiert werden?16. Können selbst Operationen definiert werden? Zukunft: neues Endgerät kann kommenZukunft: neues Endgerät kann kommen
17. Verwendete Transcoding Techniken17. Verwendete Transcoding Techniken Bildgröße: Subsampling oder SkalierenBildgröße: Subsampling oder Skalieren Diverse Kompressionsverfahren: JPEG, GIFDiverse Kompressionsverfahren: JPEG, GIF Reduzieren der AuflösungReduzieren der Auflösung Reduzieren der FarbtiefeReduzieren der Farbtiefe
18. Sequentielle Ausführung von Transcoding Techniken?18. Sequentielle Ausführung von Transcoding Techniken?
47© 2004 Department of Information Systems
Kriterien für Webapplikationen
Operationen für AdaptierungOperationen für Adaptierung
19. Adaptierung automatisch oder manuell19. Adaptierung automatisch oder manuell Automatisch: voreingestellte OperationenAutomatisch: voreingestellte Operationen Manuell: Benutzer kann in Transcoding eingreifenManuell: Benutzer kann in Transcoding eingreifen
20. Prozess der Adaptierung: statisch oder dynamisch20. Prozess der Adaptierung: statisch oder dynamisch Statisch: zur Designzeit steht fest, welche Transcoder verwendet Statisch: zur Designzeit steht fest, welche Transcoder verwendet
werdenwerden Dynamisch: zu Laufzeit wird durch Properties der geeignete Dynamisch: zu Laufzeit wird durch Properties der geeignete
Transcoder ausgewähltTranscoder ausgewählt
48© 2004 Department of Information Systems
Kriterien für Webapplikationen
Ergebnis von AdaptierungErgebnis von Adaptierung
21. Welche Transformationen werden von der Applikation 21. Welche Transformationen werden von der Applikation unterstützt?unterstützt? XSLTXSLT TranscoderTranscoder
22. In welche Datenformate kann der Inhalt der Applikation 22. In welche Datenformate kann der Inhalt der Applikation übergeführt werden?übergeführt werden? HTML, HDML, VoiceXML, WML, HTML, HDML, VoiceXML, WML,
23. Stellt die Applikation ein Verfahren zur Verfügung, um das 23. Stellt die Applikation ein Verfahren zur Verfügung, um das Ergebnis der Transformation optimaler zu übertragen?Ergebnis der Transformation optimaler zu übertragen?
49© 2004 Department of Information Systems
Evaluierung verschiedener Ansätze
IBM Transcoding PublisherIBM Transcoding Publisher
MorphisMorphis
DICEDICE
Motorola MuseumMotorola Museum
50© 2004 Department of Information Systems
IBM Transcoding Publisher
Kommerzielles Produkt von IBMKommerzielles Produkt von IBM Läuft auf mehreren PlattformenLäuft auf mehreren Plattformen Server-basierte SoftwareServer-basierte Software Übersetzt dynamisch Webinhalte in diverse Mark-up Übersetzt dynamisch Webinhalte in diverse Mark-up
SprachenSprachen Optimale Übertragung zu mobilen EndgerätenOptimale Übertragung zu mobilen Endgeräten Evaluierung gemäß den vorigen KriterienEvaluierung gemäß den vorigen Kriterien
51© 2004 Department of Information Systems
Evaluierung - IBM Transcoding Publisher
1. Verwendete Kontext Properties1. Verwendete Kontext Properties Netzwerk Netzwerk Endgerät Endgerät Applikation Applikation BenutzerBenutzer Nicht verwendete: Ort und ZeitNicht verwendete: Ort und Zeit
2. Properties selbst zu definieren ist möglich2. Properties selbst zu definieren ist möglich
5. Da im Request übertragen erfolgt keine längerfristige 5. Da im Request übertragen erfolgt keine längerfristige Speicherung von Properties, d. h. Speicherung von Properties, d. h.
3. Keine Chronologie erstellbar3. Keine Chronologie erstellbar
4. Keine Validierung von Properties4. Keine Validierung von Properties
52© 2004 Department of Information Systems
Evaluierung - IBM Transcoding Publisher
6. Es wird zwischen phsyischer und logischer 6. Es wird zwischen phsyischer und logischer Kontextinformation unterschiedenKontextinformation unterschieden Physisch: Benutzer IDPhysisch: Benutzer ID Logisch: Profil des BenutzersLogisch: Profil des Benutzers
7. Dynamische Properties7. Dynamische Properties Bestimmen TranscodingBestimmen Transcoding Nur pro Request gültig, danach neu ermitteltNur pro Request gültig, danach neu ermittelt
8. Dynamische Properties werden Request entnommen8. Dynamische Properties werden Request entnommen
53© 2004 Department of Information Systems
Evaluierung - IBM Transcoding Publisher
9. Darstellung der Daten9. Darstellung der Daten XMLXML HTMLHTML
10. Architektur10. Architektur ProxyProxy ServerseitigServerseitig
11. Granularität11. Granularität Jedes Endgerät getrennt behandeltJedes Endgerät getrennt behandelt
12. Zwischenergebnisse früherer Transcoding Prozesse werden 12. Zwischenergebnisse früherer Transcoding Prozesse werden nicht vewendetnicht vewendet
54© 2004 Department of Information Systems
Evaluierung - IBM Transcoding Publisher
13. Modalitäten13. Modalitäten VisuellVisuell AudioAudio Übersetzung in andere Sprache durch eigenen TranscoderÜbersetzung in andere Sprache durch eigenen Transcoder
14. Transcoding in verschiedenen Qualitätsstufen ist möglich14. Transcoding in verschiedenen Qualitätsstufen ist möglich
15. Vordefinierte Transcoder stellen Adaptierungsoperationen 15. Vordefinierte Transcoder stellen Adaptierungsoperationen zur Verfügungzur Verfügung
16. Eigene Transcoder können in Java implementiert werden16. Eigene Transcoder können in Java implementiert werden
55© 2004 Department of Information Systems
Evaluierung - IBM Transcoding Publisher
17. Es gibt eine Reihe von Transcoding Techniken17. Es gibt eine Reihe von Transcoding Techniken BildBild
Bildgröße: Subsampling oder SkalierenBildgröße: Subsampling oder Skalieren Diverse Kompressionsverfahren: JPEG, GIF, WBMPDiverse Kompressionsverfahren: JPEG, GIF, WBMP Reduzieren der AuflösungReduzieren der Auflösung Reduzieren der Farbtiefe, Umfärbung auf schwarz-weißReduzieren der Farbtiefe, Umfärbung auf schwarz-weiß
TextText Vereinfachung der Dokumente durch Ersetzen von Bild durch Link Vereinfachung der Dokumente durch Ersetzen von Bild durch Link
auf Bild, erklärenden Text oder Entfernen des Bildesauf Bild, erklärenden Text oder Entfernen des Bildes Clipping: nicht vitale Information wird aus Dokument entferntClipping: nicht vitale Information wird aus Dokument entfernt
18. Transcoder können hintereinandergeschaltet werden18. Transcoder können hintereinandergeschaltet werden
56© 2004 Department of Information Systems
Evaluierung - IBM Transcoding Publisher
19. Automatische Adaptierung, da Transcoder vor Beginn der 19. Automatische Adaptierung, da Transcoder vor Beginn der Adaptierung geschrieben werden.Adaptierung geschrieben werden.
20. Da Properties dynamisch gewonnen werden, ist 20. Da Properties dynamisch gewonnen werden, ist Transcoding Prozess dynamischer VorgangTranscoding Prozess dynamischer Vorgang
21. Verfahren zur Kodierung21. Verfahren zur Kodierung XSLTXSLT Kette von TranscodernKette von Transcodern
22. Dateiformate als Ergebnis der Transformation22. Dateiformate als Ergebnis der Transformation HTML, cHTML. WML, VoiceXML, I-Mode, ClipperMLHTML, cHTML. WML, VoiceXML, I-Mode, ClipperML
23. Der Transcoding Publisher stellt keine Tools zur 23. Der Transcoding Publisher stellt keine Tools zur Kompression zur VerfügungKompression zur Verfügung
57© 2004 Department of Information Systems
Morphis
Open-Source TranscoderOpen-Source Transcoder
Geschrieben in JavaGeschrieben in Java
Bereitet mittels einer eigenen Markupsprache (WAX) Bereitet mittels einer eigenen Markupsprache (WAX) formatierte Daten für bekannte Endgeräte aufzubereiten.formatierte Daten für bekannte Endgeräte aufzubereiten.
Java-Servlet, es benötigt also einen Server wie Tomcat um Java-Servlet, es benötigt also einen Server wie Tomcat um laufen zu können.laufen zu können.
58© 2004 Department of Information Systems
Evaluierung - Morphis
1. Verwendete Properties1. Verwendete Properties EndgerätEndgerät
2. Eigene Properties können mit der Java Servlet API definiert 2. Eigene Properties können mit der Java Servlet API definiert werden.werden.
3. Chronologie wird nicht erstellt3. Chronologie wird nicht erstellt
4. Properties werden nicht validiert4. Properties werden nicht validiert
5. Persistent gespeichert werden nur Geräteprofile5. Persistent gespeichert werden nur Geräteprofile
59© 2004 Department of Information Systems
Evaluierung - Morphis
6. Keine Unterscheidung zwischen logischen und physischen 6. Keine Unterscheidung zwischen logischen und physischen Properties.Properties.
7. Information über die Endgeräte ist statisch, Sessionproperties 7. Information über die Endgeräte ist statisch, Sessionproperties sind dynamischsind dynamisch
8. Bei jedem GET wird das Gerät neu anhand der Useragent 8. Bei jedem GET wird das Gerät neu anhand der Useragent Eigenschaft identifiziert.Eigenschaft identifiziert.
9. Speicherung der Daten als statische Seiten, Anbindung einer 9. Speicherung der Daten als statische Seiten, Anbindung einer Datenbank mit JDBC denkbarDatenbank mit JDBC denkbar
60© 2004 Department of Information Systems
Evaluierung - Morphis
10. Einsetzbar als Server und Proxy10. Einsetzbar als Server und Proxy
11. Generierung einer Seite für individuelle Geräte und/oder 11. Generierung einer Seite für individuelle Geräte und/oder GerätegruppenGerätegruppen
12. Zwar Cache vorhanden, Adaptierung beginnt aber immer 12. Zwar Cache vorhanden, Adaptierung beginnt aber immer bei Null.bei Null.
13. Unterstützte Modalitäten: Visuell13. Unterstützte Modalitäten: Visuell
14. Keine dynamische Transkodierung, Bilder unterschiedlicher 14. Keine dynamische Transkodierung, Bilder unterschiedlicher Qualiät werden vorgegeben.Qualiät werden vorgegeben.
61© 2004 Department of Information Systems
Evaluierung - Morphis
15. Adaptionsoperationen für Bilder und Text15. Adaptionsoperationen für Bilder und Text
16. Erweiterbar durch Ableiten von Morphisklassen.16. Erweiterbar durch Ableiten von Morphisklassen.
17. WAX und XSLT zur Umwandlung eingesetzt.17. WAX und XSLT zur Umwandlung eingesetzt.
18. Mehrere Durchläufe mit XSLT möglich18. Mehrere Durchläufe mit XSLT möglich
19. Eingeschränkter Eingriff über Vorgabe der Geräteklasse/ID, 19. Eingeschränkter Eingriff über Vorgabe der Geräteklasse/ID, sonst Ableitung von Morphis‘ APIsonst Ableitung von Morphis‘ API
62© 2004 Department of Information Systems
Evaluierung - Morphis
20. Anpassung des Inhalts erfolgt dynamisch bei jedem GET20. Anpassung des Inhalts erfolgt dynamisch bei jedem GET
21. Java Servlets und XSLT21. Java Servlets und XSLT
22. HTML, WML, XML, …22. HTML, WML, XML, …
23. Cache vorhanden, Kompression fehlt.23. Cache vorhanden, Kompression fehlt.
63© 2004 Department of Information Systems
DICE
Device Independent Content EngineDevice Independent Content Engine
Java Servlet basierte WebservererweiterungJava Servlet basierte Webservererweiterung
Unterstützt CC/PP ProfileUnterstützt CC/PP Profile
Für Geräte ohne CC/PP eigene ProfilrepositoryFür Geräte ohne CC/PP eigene Profilrepository
64© 2004 Department of Information Systems
Evaluierung - DICE
1. Verwendete Properties1. Verwendete Properties EndgerätEndgerät
2. Eigene Properties können mit der Java Servlet API definiert 2. Eigene Properties können mit der Java Servlet API definiert werden.werden.
3. Chronologie wird nicht erstellt3. Chronologie wird nicht erstellt
4. Properties werden nicht validiert4. Properties werden nicht validiert
5. Persistent gespeichert werden nur Geräteprofile5. Persistent gespeichert werden nur Geräteprofile
65© 2004 Department of Information Systems
Evaluierung - DICE
6. Keine Unterscheidung zwischen logischen und physischen 6. Keine Unterscheidung zwischen logischen und physischen Properties.Properties.
7. Information über die Endgeräte ist mit CC/PP dynamisch, 7. Information über die Endgeräte ist mit CC/PP dynamisch, ohne statisch. Sessionproperties sind dynamischohne statisch. Sessionproperties sind dynamisch
8. Bei jedem GET wird das Gerät neu anhand der Useragent 8. Bei jedem GET wird das Gerät neu anhand der Useragent Eigenschaft identifiziert.Eigenschaft identifiziert.
9. Speicherung der Daten als statische Seiten, Anbindung einer 9. Speicherung der Daten als statische Seiten, Anbindung einer Datenbank mit JDBC denkbarDatenbank mit JDBC denkbar
66© 2004 Department of Information Systems
Evaluierung - DICE
10. Einsetzbar als Server10. Einsetzbar als Server
11. Generierung einer Seite für individuelle Geräte, Gruppierung 11. Generierung einer Seite für individuelle Geräte, Gruppierung wäre aber möglichwäre aber möglich
12. Zwar Cache vorhanden, Adaptierung beginnt aber immer 12. Zwar Cache vorhanden, Adaptierung beginnt aber immer bei Null.bei Null.
13. Unterstützte Modalitäten: Visuell13. Unterstützte Modalitäten: Visuell
14. Keine Transkodierung von Multimedia in DICE selbst14. Keine Transkodierung von Multimedia in DICE selbst
67© 2004 Department of Information Systems
Evaluierung - DICE
15. Keine Adaptionsoperationen15. Keine Adaptionsoperationen
16. Erweiterbar durch Ableiten von Klassen von DICE.16. Erweiterbar durch Ableiten von Klassen von DICE.
17. Nicht anwendbar.17. Nicht anwendbar.
18. Filter können hintereinandergeschaltet werden.18. Filter können hintereinandergeschaltet werden.
19. Kein eingebauter Mechanismus, am Besten durch Ableiten 19. Kein eingebauter Mechanismus, am Besten durch Ableiten der Klassender Klassen
68© 2004 Department of Information Systems
Evaluierung - DICE
20. Anpassung des Inhalts erfolgt dynamisch bei jedem GET20. Anpassung des Inhalts erfolgt dynamisch bei jedem GET
21. Alles was die Java Klassenbibliothek erlaubt, keine fertigen 21. Alles was die Java Klassenbibliothek erlaubt, keine fertigen ImplementierungenImplementierungen
22. -> 21.22. -> 21.
23. Kein Cache vorhanden, Kompression fehlt.23. Kein Cache vorhanden, Kompression fehlt.
69© 2004 Department of Information Systems
Motorola Museum
Implentiert im Museum für Motorola Geschichte in IllinoisImplentiert im Museum für Motorola Geschichte in Illinois
Benutzer werden PDAs und Tablet-PCs zur Verfügung Benutzer werden PDAs und Tablet-PCs zur Verfügung gestellt, erhalten darauf Informationen zu den gestellt, erhalten darauf Informationen zu den Ausstellungsstücken.Ausstellungsstücken.
70© 2004 Department of Information Systems
Evaluierung – Motorola Museum
1. Verwendete Properties1. Verwendete Properties OrtOrt EndgerätEndgerät BenutzerBenutzer Nicht verwendete: Zeitpunkt, Applikation und NetzwerkNicht verwendete: Zeitpunkt, Applikation und Netzwerk
2. Eigene Properties könnten defiiniert werden2. Eigene Properties könnten defiiniert werden
3. Chronologie wird nicht erstellt3. Chronologie wird nicht erstellt
4. Properties werden nicht validiert4. Properties werden nicht validiert
71© 2004 Department of Information Systems
Evaluierung – Motorola Museum
5. Persistent gespeichert werden nur Benutzerprofile, alle 5. Persistent gespeichert werden nur Benutzerprofile, alle anderen Properties nur für Dauer des Requests gültiganderen Properties nur für Dauer des Requests gültig
6. Es wird unterschieden zwischen physischem und logischem 6. Es wird unterschieden zwischen physischem und logischem KontextKontext
7. Properties sind dynamisch7. Properties sind dynamisch
8. Die Übertragung dieser Properties findet im HTTP-Request-8. Die Übertragung dieser Properties findet im HTTP-Request-Header statt.Header statt.
72© 2004 Department of Information Systems
Evaluierung – Motorola Museum
AdaptierungAdaptierung
9. Speicherung der Daten in Datenbank, in XML Dokumenten9. Speicherung der Daten in Datenbank, in XML Dokumenten
10. Customization findet auf Serverseite statt10. Customization findet auf Serverseite statt
11. Individuelle Erstellung der Response für jedes Endgerät11. Individuelle Erstellung der Response für jedes Endgerät
12. Zwischenergebnisse früherer Adaptierungen werden nicht 12. Zwischenergebnisse früherer Adaptierungen werden nicht verwendetverwendet
73© 2004 Department of Information Systems
Evaluierung – Motorola Museum
13. Unterstützte Modalitäten: Visuell, Audio13. Unterstützte Modalitäten: Visuell, Audio
14. Adaptierung kann in verschiedenen Qualitätsstufen erfolgen14. Adaptierung kann in verschiedenen Qualitätsstufen erfolgen
15. Adaptierungsoperationen sind vorhanden in Form von 15. Adaptierungsoperationen sind vorhanden in Form von StylesheetsStylesheets
16. Operationen können erweitert werden16. Operationen können erweitert werden
17. Transcoding Techniken beschränken sich auf 17. Transcoding Techniken beschränken sich auf Fragmentierung, da Objekte schon in verschiedener Qualität Fragmentierung, da Objekte schon in verschiedener Qualität in DB liegenin DB liegen
74© 2004 Department of Information Systems
Evaluierung – Motorola Museum
18. Keine sequentielle Anwendung von 18. Keine sequentielle Anwendung von Adaptierungsoperationen, da pro Adaptierung nur ein Adaptierungsoperationen, da pro Adaptierung nur ein Stylesheet angewendet wirdStylesheet angewendet wird
19. Durch Stylesheets läuft Adaptierung automatisch ab19. Durch Stylesheets läuft Adaptierung automatisch ab
20. Properties dynamisch, daher auch Adaptierung dynamischer 20. Properties dynamisch, daher auch Adaptierung dynamischer VorgangVorgang
21. XSLT als Verfahren zur Adaptierung21. XSLT als Verfahren zur Adaptierung
22. Ergebnisformate22. Ergebnisformate HTMLHTML WMLWML
23. Keine Tools zur Komprimierung vorhanden23. Keine Tools zur Komprimierung vorhanden