Technische Universität Carolo-Wilhelmina zu Braunschweig Scalable Vector Graphics-basierte Softwareplattform mit flexibler Logikanbindung 14.05.2009
SVG-basierte Softwareplattform mit flexibler Logikanbindung Gliederung 1. Motivation 2. Scalable Vector Graphics (SVG) 3. IfN-Softwareplattform 4. Beispieldienst OlympicGuide2 5. Zusammenfassung und Ausblick 2/18
Motivation Motivation Interaktive Dienste auf mobilen Endgeräten spielen eine immer größere Rolle Ausführung erfolgt in einheitlich definierter Softwareplattform Vorteile einer optimalen Softwareplattform beeinflussen sich gegenseitig Senkung der Kosten Steigerung der Akzeptanz- angebotenen steigerung unter Dienstanzahl Entwicklern 3/18
Motivation Heterogenität mobiler Endgeräte Mobile Endgeräte sind nutzergebundene persönliche Begleiter Personalisierung des Endgeräts spielt eine große Rolle Endgeräte bieten unterschiedlichste Möglichkeiten zur Benutzerinteraktion Benutzerschnittstelle hat wesentlichen Anteil an der Gebrauchstauglichkeit (Usability) Softwareplattform muss der Heterogenität Rechnung tragen 4/18
SVG-basierte Softwareplattform mit flexibler Logikanbindung Gliederung 1. Motivation 2. Scalable Vector Graphics (SVG) 3. IfN-Softwareplattform 4. Beispieldienst OlympicGuide2 5. Zusammenfassung und Ausblick 5/18
Scalable Vector Graphics (SVG) Scalable Vector Graphics (SVG) Beschreibung von grafischen Benutzeroberflächen mittels skalierbarer Vektoren Animationen, Text und Einbettung weiterer Medien (z.b. Audio, Video, Pixelgrafiken) möglich World Wide Web Consortium (W3C) publizierte am 22. Dezember 2008 SVGT 1.2 (Scalable Vector Graphics Tiny) als W3C Recommendation MPEG LASeR, OMA RME, Flash Lite basieren auf SVGT Für wenig komplexe Dienste bietet SVG beste Voraussetzungen - Z.B. reine Informationsdarstellung wie Wettervorhersagen oder Nachrichtenticker Komplexere Dienste erfordern Erweiterung von SVG um Logik-Funktionalität - Z.B. Reiseführer mit Navigation oder interaktive Spiele 6/18
Scalable Vector Graphics (SVG) Logikanbindung an SVG Scripting (z.b. Java-Script, ECMA-Script) - <script>-element umschließt Programmcode oder verweist auf diesen Java-Logik mittels spezifischer SVG-API in Java - Jeweils mindestens eine Java-Dienstkomponente notwendig Java-Logik, auf die im Bedarfsfall zugegriffen werden kann - Flexibler Zugriff auf Java-Programmcode - Eigenständige SVG-Engine - Im Falle von wenig komplexen Diensten kann Entwickler auf Java verzichten 7/18
SVG-basierte Softwareplattform mit flexibler Logikanbindung Gliederung 1. Motivation 2. Scalable Vector Graphics (SVG) 3. IfN-Softwareplattform 4. Beispieldienst OlympicGuide2 5. Zusammenfassung und Ausblick 8/18
IfN-Softwareplattform IfN-Softwareplattform Architekturübersicht Dienst Komponente A Komponente B Komponente Management- und Hyperlink-Handling-ModulHandling Starten/ Interpretieren/ Beenden Logik- Aufruf Ergebnis Ausführen von Java-Klassen SVG-Engine Update Modul Java-Engine 9/18
IfN-Softwareplattform SVG Engine IfN-Implementierung basiert auf Tinyline SVG 2.1 Dienst - SVGT 1.1 - Realisiert in Java Microedition (JME) Connected Management- und Hyperlink-Handling-Modul Device Configuration (CDC) - Belegt lediglich 100kB Speicherplatz auf Endgerät SVG-Engine Java-Engine Ergänzung um Update-Modul - Zugriff auf Szenenrepräsentation über udom- Schnittstelle Keinerlei Änderungen an Tinyline vorgenommen 10/18
IfN-Softwareplattform Java Engine Funktionsumfang einer JME Virtual Machine mit Dienst CDC und Personal Profile (PP) Verwaltung von Java-Dienstkomponenten Management- und Hyperlink-Handling-Modul (Klassenverwaltung) - Eigener Classloader instanziiert Dienstobjekte im Speicher - Variablenwerte und Methoden sind von jeder SVG-Engine Dienstkomponente aus zu jedem Zeitpunkt der weiteren Dienstausführung abrufbar Java-Engine 11/18
IfN-Softwareplattform Java-Logikaufrufe aus SVG Logikaufrufe bestehen entsprechend der Java-Syntax aus Paket-, Klassen- und Methodennamen sowie Dienst optionalen Argumenten g yp g Aufrufe müssen in SVG-Syntax eingebunden werden Kompatibilität zur SVG-Spezifikation muss gewährleistet sein Management- und Hyperlink-Handling-Modul SVG-Engine Java-Engine SVG-Spezifikation sieht mit dem Element <a xlink:href > Hyperlinks vor IfN-Konzept sieht Codierung von Logikaufrufen innerhalb von Hyperlinks vor - Bsp.: <a xlink:href="java:de.tubs.calculator.calculate()"> Flexible Anbindung der Java-Engine möglich - Im Falle von leistungsschwachen Endgeräten kann diese auch extern auf einem Server vorliegen 12/18
IfN-Softwareplattform Kommunikation zwischen Java und SVG Kommunikation erfolgt ebenfalls konform zum SVG- Dienst Standard SVG-Szenenupdates Szenenupdates erlauben Darstellung von Management- und Hyperlink-Handling-Modul Logik-Ergebnissen - Update Modul nutzt udom-schnittstelle für Szenenzugriff Update-Kommandos für Veränderungen an SVG-Engine Java-Engine Szenenrepräsentationen - insert - delete - replace 13/18
SVG-basierte Softwareplattform mit flexibler Logikanbindung Gliederung 1. Motivation 2. Scalable Vector Graphics (SVG) 3. IfN-Softwareplattform 4. Beispieldienst OlympicGuide2 5. Zusammenfassung und Ausblick 14/18
Beispieldienst OlympicGuide2 Beispieldienst OlympicGuide2 Dienstkomponentenübersicht GPS-Empfänger OlympicMap (SVG) Location Update calculate() Route Update GPS (Java) Location Information RouteCalculator (Java) 15/18
Beispieldienst OlympicGuide2 Beispielszenario 16/18
SVG-basierte Softwareplattform mit flexibler Logikanbindung Gliederung 1. Motivation 2. Scalable Vector Graphics (SVG) 3. IfN-Softwareplattform 4. Beispieldienst OlympicGuide2 5. Zusammenfassung und Ausblick 17/18
Zusammenfassung und Ausblick Zusammenfassung und Ausblick Flexible, modulare IfN-Softwareplattform ist optimal für heterogene Endgeräte Codierung von Logikaufrufen innerhalb der Hyperlink-Elemente von SVG Einbindung von Java und SVG erfolgt konform zur SVG-Spezifikation Keine Änderungen an bestehenden SVG-Engines notwendig Rückführung der Logik-Ergebnisse mittels Szenenupdates Anwendbar für Kopplung weiterer XML-basierter Beschreibungssprachen mit Logik Lauffähig auf mobilen Endgeräten 18/18
Vielen Dank für Ihre Aufmerksamkeit. Dipl.-Ing. spika@ifn.ing.tu-bs.deing