|
Einführung
Kontext
Das Adressbuch habe ich für mich und interessierte Benutzer geschrieben.
Der Sourcecode ist nicht geheim und kann privat genutzt und weiterentwickelt
werden.
Das Projekt ist in sourceforge.net unter der Gnu Public License (GPL)
veröffentlicht.
[ --> http://sourceforge.net/projects/addressapplet/ ]
Ich brauchte eine zentrale Stelle, mit der ich alle meine Kontakte verwalte.
Bisher hatte ich meine Kontakte im handgeschriebenen Adressbüchlein und
webbasierten Organizern wie freenet.de verwaltet. Das Adressbüchlein war
meistens nicht mit auf Reisen, wenn ich es brauchte und die Weborganizer fand
ich nie besonders komfortabel. Visto.com, wo ich meinen
Account hatte, hat ohne große Vorwarnung dicht gemacht. Damit waren all
meine Adressen und Mails, die ich dort gespeichert hatte weg. Dazu kam, dass ich zur
eigenen Freude und zum Lernen einiges an einem sinnvollen Beispiel ausprobieren
wollte.
Aufgabenstellung
Ich wollte ein Adressbuch mit folgenden Eigenschaften:
- Ortsunabhängig
- Neutrales Datenformat
- Volle Kontrolle über die Daten
- Möglichkeiten zur Sicherung und zum Überschreiben
- Ablage an einem eigenen Speicherort
- Import von anderen Adressbüchern
- Export der Daten in andere Adressbücher
- Gute Suchfunktionen
- In einzelnen Feldern
- Alle Daten nach einer beliebigen Zeichenkette
- Neue Suche nach jedem eingegebenen Zeichen
- Verschiedene Ansichten auf die Daten
- Als Geburtstagskalender
- Einfaches Versenden von Mails (Kein E-Mail Client)
Lösung
Warum ein Applet?
Die Wahl fiel zwangsläufig auf eine Client basierte Variante, die im
Webbrowser läuft. Ich kann in meinen Seiten nur statische Inhalte
ablegen, da ich keine eigenen Programme auf dem Webserver laufen lassen kann,
die dynamischen Inhalt ausliefern könnten wie z.B. JSP's.
Zum Datenaustausch mit meiner Webseite (Webserver) habe ich einem FTP-Zugang.
Die meisten Benutzer, die das Adressbuch in ihre Webseiten einfügen wollen,
werden die gleichen Bedingungen haben. Das Adressbuch
kann als Applet in einer Webseite oder als "normales"
Progamm laufen. Der Webbrowser muss ein aktuelles Java Plug-In installiert haben.
Das ist zwar Standard, hat aber nicht jeder Browser.
Wie werden die Ansichten erzeugt?
Die Anzeige der Daten des Adressbuches erfolgt in einem Textfeld. Das Textfeld
wird mit HTML-Code gefüttert. Der HTML-Code wird mittels XSLT-Stylesheets
aus einer XML-Datei erzeugt. Alle Daten des Adressbuches eines Benutzers sind in
einer XML-Datei abgelegt. Für jede Ansicht (kurz, private, ...) gibt es
ein Stylesheet. XML-Dateien und XSLT-Stylesheets werden über HTTP vom Webserver
geladen. Die Stylesheets werden nach dem Laden in "Transformatoren" geladen, um
später Zeit zu sparen. Die XML-Datei (Daten des Adressbuches) wird in ein DOM (Data Object Model)
gelesen. Soll eine Ansicht erzeugt werden, wird als erstes das DOM nach
übereinstimmenden Einträgen durchsucht (wenn erforderlich), die gefundenen
Einträge in einem neuen
DOM abgelegt und die Einträge in diesem DOM sortiert. Das sortierte DOM wird
mit den "Transformatoren" (aus den XSLT-Stylesheets) in HTML-Code transformiert.
Der HTML-Code durchläuft einige Filter, wenn nötig, und wird danach im
Textfeld des Hauptfensters angezeigt. Die Anzeige durch das Textfeld nimmt
überraschenderweise weitaus die meiste Zeit in Anspruch. Die verwendeten
Packages sind xalan.jar und xerxes.jar
Wie werden die Daten gesichert?
Über FTP. Die Daten können auch hinter einer Firewall gesendet werden.
Vor dem Sichern wird kontrolliert, ob die Anzeige nicht durch Sonderzeichen, die
der Benutzer eingegeben hat blockiert wird. Das kostet Zeit, ist aber sicher.
Die Transformation von XML mittels XSLT-Stylesheets in HTML reagiert sehr empfindlich.
Das eingesetzte Package ist netcomponents.jar.
Was für Produkte werden zur Hilfe eingesetzt?
Ich habe ausschließlich Open Source Produkte eingesetzt: XML/XSLT mit xalan.jar
und xerxes.jar, FTP durch netcomponents.jar, EMail durch mail.jar und
activation.jar.
Kann das Applet nachträglich konfiguriert werden?
Ja.
Das Applet kann über Parameter in der Webseite konfiguriert werden oder
über eine Konfigdatei, die es immer gibt. Werte aus der Webseite überschreiben die Werte
aus der Konfigdatei. Konfiguriert werden können Angaben zum Mailserver,
zum FTP-Server (das Passwort ist leicht verschlüsselt), die Jahresspanne
im Datumsdialog, die URL zur Datei mit bekannten Adressbuchformaten, die Größe
des Hauptfensters. Die bekannten Adressbuchformate für die Importfunktion
werden in einer Textdatei abgelegt und können damit einfach bearbeitet werden.
Demo
Sie können dieses Applet voll funktionsfähig ausprobieren.
Ihr Browser muss ein Java Plug-In installiert haben.
Zum Ausprobieren des Adressbuches klicken Sie bitte
[ --> zur Demo ] auf deutsch.
[ --> view Demo ] in English.
[ --> Start ] mit Java Webstart (Vorzugsvariante).
|