Interaktive Graphic in Web Services
Das Problem:
Schnelle, einfache und flexible Anwendung von graphischen Teilen in Webseiten, die von Web Services erzeugt werden und deren Inhalt sich während der Bearbeitung ändert.
Die bisherigen Verfahren:
- Die vom Server erzeugten Seiten enthalten Pixeldarstellungen die nach jeder Änderung neu vom Server gesendet werden. Über Image-Maps sinde nur rechtige Teilbereiche dieser Graphiken identifizierbar.
- Ein Java-Applet stellt die Graphik dar und übernimmt alle Interaktionen.
Die Nachteile der bisherigen Verfahren:
- Die vom Server gesendeten Pixeldarstellungen (.gif, .png oder .jpg)
- müssen nach jeder Änderung neu vom Server gesendet werden.
- es sind relativ umfangreiche Datenmengen
- über Image-Maps sinde nur rechtige Teilbereiche dieser Graphiken identifizierbar
- die Darstellung kann lokal nicht vergrößert, verkleinert oder verschoben werden
- Ein Java-Applet stellt die Graphik dar und
- übernimmt alle Interaktionen, d.h. alle interaktiven Funktionen sind zu programmieren
- die Darstellung und Identifikation von graphischen Objekten ist aufwendig
Unsere Lösung:
Ein Java-Programm das auf SVG-Batik aufbaut, wird als Java-Plugin oder mit Java-Web-Start (jnlp) aufgerufen und kommuniziert direkt (via RMI) mit dem Server, bzw. einer Datenbank. In dem Open-Source-Projekt Capulus des Linux Labors zeigen wir dies bei der Friedhofsverwaltung.
Die Vorteile unserer Lösung:
- alle Darstellungsfunktionen wie Markieren von Objekten, Vergrößern oder Verschieben der Darstellung laufen lokal und somit äußerst performant
- das Vergrößern des Bildes bringt keinerlei Qualitätsverlust, da die Graphik im Vektorformat svg abgelegt ist
- die graphischen Standartfunktionen wie Darstellungsmanipulation und Identifikation sind in Batik grundsätzlich gelöst
- die Graphik kann mit einem svg-Editor einfach erstellt werden
- nur die Applikationslogik und der Serverzugriff (RMI) sind explizit programmiert
- ist Systemunabhängig und verwendet Open-Source Komponenten und genormte (W3C) Formate
|