Hilfe für das Address Buch Applet
Inhalt
Nutzungsbedingungen
Warum ich dieses Adressbuch geschrieben habe?
Was kann das Adressbuch?
Was sind die Vorteile gegenüber Web-Organizern?
Was gibt es für Stolpersteine?
Ich möchte etwas mehr Hintergrund-Informationen!
Warum ist das Adressbuch bei mir langsam?
Menüs
Wie sicher sind meine Daten?
Kann ich den Quellkode verwenden?
TODO's
Wie verleihe
ich dem Applet Rechte auf meinen Computer?
Kontakt
Nutzungsbedingungen
Das Addressbuch habe ich für meinen privaten Gebrauch geschrieben.
Sie können es ebenfalls privat nutzen, nicht jedoch kommerziell. Den
Quellkode
können Sie ebenfalls für den privaten Gebrauch nutzen. Ich
habe mich selbst bei Open-Source-Paketen (frei verfügbare Programm-Bausteine)
bedient: xerces.jar, xalan.jar, netbeans.jar, oro.jar.
Warum ich dieses Adressbuch geschrieben habe?
- Ich möchte meine Daten überall auf der Welt verfügbar
haben.
- Ich möchte die volle Kontrolle über meine Daten (Sicherung).
Eine zeitlang habe ich Web-Organizer wie visto.com oder freenet.de benutzt.
Ich hatte alle meine Daten bei visto.com bis visto.com unerwartet innerhalb
weniger Tage geschlossen wurde. Was, wenn ich innerhalb der wenigen Tage
im Urlaub gewesen wäre?
- Ich möchte die Daten mit anderen Adressbüchern austauschen
können (Export/Import). Wohin mit den Daten jetzt, nachdem visto.com
geschlossen hat und, vor allem, wie in einen anderen Weborganizer importieren?
Wenn ich die Daten dann im Web-Organizer habe, wie tausche ich dann die Daten
mit meinen Adressbüchern von KMail und OutlookExpress auf einfachem
Wege?
- Außerdem möchte ich gute Suchfunktionen.
- Ich habe eine Webseite mit ftp-Zugang, kann aber diese Seiten
nur abrufen, also keine eigenen Programme auf dem Webserver laufen lassen,
die dynamischen Inhalt ausliefern könnten wie z.B. JSP's oder Server-Threads.
- Ich möchte dieses Programm an andere weitergeben, die
ebenfalls nur statische Webseiten von ihrer eigenen Webseite abrufen können.
Was kann das Adressbuch?
- Adressbuch mit privaten und beruflichen Daten, Suchfunktionen,
verschiedenen Ansichten auf die Daten,
- Notizbuch,
- Sichern des Adressbuches und des Notizbuches in das lokale
Dateisystem und Überschreiben beider auf dem Webserver mit den lokalen
Versionen,
- Importieren und Exportieren von anderen Adressbüchern,
- Starten in einer Webseite als Applet, im Appletviewer oder
als normale Applikation auf dem lokalen Computer.
Was sind die Vorteile gegenüber Web-Organizern?
- Volle Kontrolle über die Daten des Adressbuches (Import,
Export, Upload, Download). Mit diesen Daten können sie das Adressbuch
auch als normales Programm auf Ihrem Computer laufen lassen und die Daten
nur im Internet sichern. Oder Sie benutzen auf Ihrem Computer Ihrr Lieblingsadressbuch
und spielen die Daten von diesem dann auf die Webseite, um Ihre Daten mit
dem Applet auch via Internet auf anderen Computern nutzen zu können.
- Einfaches Importieren und Exportieren von und zu anderen
Adressbüchern
- Sehr gute Durchsuchbarkeit des Adressbuches
- Darstellung der Daten in verschiedenen Ansichten. Diese können
die Ansichten leicht selbst ändern, indem Sie die XSLT-Stylesheets
bearbeiten (*.xsl Dateien)
Was gibt es für Stolpersteine?
- Sie brauchen eine eigene Webseite mit FTP-Zugang
- Sie sollten eine schnelle Internetverbindung haben
- Wollen Sie Upload/Download oder die Import-Funktion benutzen,
müssen Sie dem Applet extra Rechte verleihen
Ich möchte mehr Hintergrund-Informationen!
Jeder Benutzer hat sein eigenes Adressbuch, das in einer XML-Datei
abgespeichert ist.
Erwähnenswert vielleicht, dass im Feld "View" eine gewählte
Ansicht auf ein Adressbuch dargestellt wird, z.B "kurz", "privat", etc.
Dabei wird die XML-Datei (enthält alle Daten eines Adressbuches)
über XSLT- Stylesheets geschickt und als HTML im "View"-Feld angezeigt.
Geänderte oder neue Daten werden über FTP auf den Host-Server
geschrieben.
Mit jedem Zeichen im Feld "Search" (Suche) wird die Ansicht auf das Adressbuch
aktualisiert. Es werden alle übereinstimmenden Einträge dargestellt.
Gleichzeitig ändern sich auch die Einträge in der Liste "Edit".
Der Benutzer kann nach verschiedenen Eigenschaften suchen, z.B. Vornamen,
Nachnamen, Firmen, Geburtstmonat, usw. "All" findet eine beliebige Zeichenkette
in allen Daten des Adressbuches.
Jeder Benutzer hat auch ein Notizbuch, in das er beliebig vielen unformatierten
Text hineinschreiben kann. Nutzen mehrere Leute den gleichen Login-Namen,
kann man das Notizbuch als "Schwarzes Brett" nutzen.
Firewalls sollten dem Applet keine Probleme bereiten. Es benutzt den
"passive mode" von FTP. Das Applet braucht relativ viel Zeit zum Laden.
Das liegt weder an der, Größe des Applets noch an der Größe
des Adressbuches oder gar der Stylesheets. Das Applet bedient sich aus
andern großen Open-Source-Packages, die eben aber ihre Zeit zum
Laden (nur beim Start) brauchen.
Warum ist das Adressbuch bei mir langsam?
- Ladezeiten: Mit einem Modem oder ISDN-Anschluß
braucht das Applet relativ lange Zeit (TODO: Zeiten messen), um die verwendeten
Packages zu laden (xerces.jar, xalan.jar, oro.jar, netbeans.jar). Ein ADSL-Anschluss
ist empfehlenswert. Zur Beruhigung: Die Packages werden nur beim Start des
Applets geladen, dann funktioniert alles sehr flott. Je nach Browser und
deren Einstellung wird die Ladezeit beim späteren Gebrauch wahrscheinlich
entfallen. Der Browser "merkt" sich die einmal geladenen Komponenten.
Nur beim Sichern von Daten und beim Kopieren fallen noch kurze Wartezeiten
von maximal einigen Sekunden an, denn die Daten des Adressbuchs müssen
über das Internet übertragen werden.
- Suche und Transformation der Daten: Die Daten des Adressbuches
werden, einmal geladen, in einem DOM (Data Object Model) gehalten. Such-
und Sortierfunktionen sind somit lange nicht so schnell wie es bei Datenbanken
der Fall wäre. Die Daten aus dem DOM werden anschließend für
die Darstellung (in HTML) transformiert. Auch dies kostet Zeit. Diese Prozesse
sind optimiert, können aber sicher noch schneller gemacht werden.
- Darstellung der Daten: Die gesuchten, sortierten und
transformierten Daten werden in einem Textfeld dargestellt. Dieses Textfeld
(JEditorPane) ist erstaunlich langsam bei der Darstellung größerer
Mengen von HTML und hat den größten Anteil bei der Verzögerung.
Vor allem die Dastellung "All" dauert bei vielen Datensätzen einige
Zeit. Leider liegt diese Art der Verzögerung außerhalb meines
Einflußbereiches. Vielleicht wird es es in späteren Java-Versionen
schneller.
Menüs
Menü "Book"
- "Open": Lädt das Addressbuch. Jeder Benutzer (User
Name) hat sein eigenes Adressbuch. Füllen Sie das Formular aus.
Wenn Sie keinen Benutzernamen (User Name) oder Passwort (Password) kennen
, geben Sie einfach irgend etwas oder gar nichts ein. Sie werden dann
als ein Default-Benutzer eingelogged.
- "Add": Öffnet den Editier-Dialog zum Anlegen eines
neuen Benutzers.
- "Import": Importiert andere Adressbücher anderer Programme,
die in einer Textdatei abgespeichert wurder. Einige Formate, wie OutlookExpress
und KMail können automatisch importiert werden. Natürlich könne
diese Profile wärend des Imports angepasst werden oder das Format eines
belieben Adressbuches importiert werden. Achtung
: Das Applet muss dazu Rechte haben. Diese Rechte hat es von Haus
aus nicht. Sie müssen dem Applet erst verliehen werden.
Eine Anleitung finden Sie hier.
- "Export": Exportiert das Adressbuch in ein Textfeld (Vorteil:
Das Applet braucht keine extra Rechte. Einfach Kopiern und Einfügen
des Textes) oder in eine Datei. Achtung
: Das Applet muss dazu Rechte haben. Diese Rechte hat es von Haus aus nicht.
Sie müssen dem Applet erst verliehen werden.
Eine Anleitung finden Sie hier.
- "End": Schließt das Adressbuch.
Menü "Config"
- "Views": Sie können hier mehrere Ansichten auf das
Adressbuch wählen, z.B. eine knapp gehaltene Sicht auf die Einträge
("Short"), eine Ansicht nur der privaten Daten eines Eintrags ("Private")
usw.
- "Search": Hier können Sie auswählen, wonach sie
suchen wollen, beispielsweise "Name" (Vorname), "Surname (Nachname), "Company"
(Firma) usw. Nach jedem Zeichen, das Sie in das Textfeld "Search" (Suche)
eingeben, sucht das Programm alle Einträge, die mit diesen Zeichen
beginnen. Beispiel: "Mu" findet "Musiol" und "Mucker". Bei der Suche nach
dem Geburtsmonat ("Month of Birth") werden alle Einträge gefunden,
die einem Monat zugeordnet sind. Dabei werden die Einträge nach dem
Tag im Monat sortiert - praktisch, wenn man das Adressbuch als Geburtstags-Kalender
benutzen möchte. "All" sucht nach einer Zeichenkette (z.B. "ndo")
in allen Daten desAdressbuches und findes zum Beispiel "London" in einem
beliebigem Feld (Name, Kommentar, E-Mail-Adresse,...)
Menü "Options"
- "Save" --> "Behind Firewall": Bentzen Sie diese Option,
wenn sich Ihr Rechner hinter einer Firewall befindet
- "Save" --> No Firewall"
- "Mode" --> "Binary": Übertragungs-Modus "binary"
von FTP.
- "Mode" --> "Text": Übertragungs-Modus "text" von
FTP.
Menu "Tools"
- "Notes": Hier können Sie sich Notizen machen. Diese
werden für den Benutzer in einer eigenen Datei auf dem Server gespeichert.
- "Update WAP-Address Book": Erneuert die WAP-Seiten, mit
denen man dieses Adressbuch anschauen kann.
- "Back Up" --> "Copy Address Book to Local File": Kopiert
die Datei, in der das Addressbuch des Benutzers gespeichert ist in das
lokale Dateisystem (Festplatte, Diskette, ...). Achtung
: Das Applet muss dazu Rechte haben. Diese Rechte hat es von Haus
aus nicht. Sie müssen dem Applet erst verliehen werden.
Eine Anleitung finden Sie hier.
- "Back Up" --> "Overwrite Address Book": Überschreibt
das Adressbuch des Benutzers auf dem Server mit einer Datei aus Ihrem lokalen
Dateisystem (Festplatte, Diskette, ...). Achtung
: Das Applet muss dazu Rechte haben. Diese Rechte hat es von Haus aus
nicht. Sie müssen dem Applet erst verliehen werden.
Eine Anleitung finden Sie hier.
- "Back Up" --> "Copy Notes to Local File": Kopiert die
Datei, in der die Notizen des Benutzers gespeichert sind in das lokale
Dateisystem (Festplatte, Diskette, ...). Achtung
: Das Applet muss dazu Rechte haben. Diese Rechte hat es von Haus aus
nicht. Sie müssen dem Applet erst verliehen werden.
Eine Anleitung finden Sie hier.
- "Back Up" --> "Overwrite Notes": Überschreibt die
Notizen des Benutzers auf dem Server mit einer Datei aus Ihrem lokalen Dateisystem
(Festplatte, Diskette, ...). Achtung : Das
Applet muss dazu Rechte haben. Diese Rechte hat es von Haus aus nicht. Sie
müssen dem Applet erst verliehen werden.
Eine Anleitung finden Sie hier.
Menu "Help"
- "Content Deutsch"
- "Content English"
- "System Info": Hier sehen Sie Information über ihr
System. (Sinnvoll bei Fehlern). Wenn das Adressbuch als Applikation gestartet
wird, werden Sie viel mehr Informationen erhalten, als wenn Sie das Adressbuch
als Applet benutzen.
Wie sicher sind meine Daten?
Ich formuliere es einmal provokativ: Verglichen mit einer Bankanwendung
ist das Adressbuch relativ unsicher.
Benutzernamen und Passwörter stehen in einer Datei, auf die mit
FTP zugegriffen wird. Damit können Sie diese Datei in ein Verzeichnis
legen, das durch den Webserver passwortgeschützt ist. Das FTP-Passwort
steht (schwach verschlüsselt) in einer Datei.
Die XML-Dateien (jedes Adressbuch ist in einer gespeichert) werden mit
http geladen und mit ftp gesichert. Die Übertragung ist nicht verschlüsselt.
Hmm, nichts für den Sicherheitsfanatiker. Ich habe es auf diese
Weise programmiert, weil ich keinerlei Rechte auf dem "host server" (Computer
von "Puretec" auf dem meine Seiten im Internet liegen) habe, ausgenommen
ftp eben. Wenn Sie eine sichere Lösung wollen, können Sie beispielsweise
ein kleines Serverprogramm auf dem Webserver lauschen lassen. Dieses Serverprogramm
bedient dann das Applet mit Daten und sichert sie auch wieder. Mit dieser
Variante können die Passwörter und alle anderen Daten
beispielsweise in einer Datenbank gesichert werden oder in Dateien die
kein ungewollter Besucher erreicht. Anfangs wollte ich eine solche Lösung
implementieren. Die Kommunikation des Applets mit dem Serverprogramm könnte
man ebenfall sicherer machen (https,..).
Aber! - Um die relevanten Daten zu bekommen muss ein eventueller Angreifer
einerseits von der Existens dieses Applets wissen, andererseits die Energie
und das Fachwissen aufbringen. Denken Sie daran, dass Sie wahrscheinlich
auch schon einmal dem Kellner bei Ihrem Italiener oder anderen Ihre Kreditkarte
gegeben haben oder Webaccounts wie hotmail.com oder web.de benutzt haben.
Und absolut sicher werden ihre Daten, egal wo sie liegen, nie sein, vor
allem nicht auf dem Computer.
Kann ich den Quellkode verwenden?
Das Adressbuch startet man am besten mit AddressBookStarter.java. AddressBookStarter.java
kann sich in einem eigenen Fenster (JFrame) oder in einem Applet in einer
Webseite (JApplet) öffnen.
Das Adressbuch kann gestartet werden als
- eigenständige Applikation auf dem Rechner (
java
com.tomwiedenhoeft.addresses.AddressBookStarter
), als
- Applet in einer Webseite oder
- mit dem AppletViewer von Sun Microsystems.
Es kann somit leicht debugged werden.
Der Quellkode und das Applet selbst kann für private Zwecke
genutzt und weiterentwickelt werden, nicht aber für kommerzielle
Zwecke.
Wenn Sie Vorschläge haben, Kommentare abgeben wollen, Fehler
gefunden haben oder das Programm verbessert oder weiterentwickelt haben,
lassen Sie von sich hören. Ich bin über Meinungsäußerungen
dankbar.
Senden Sie Ihre Mail an: "private@tom-wiedenhoeft.de".
TODO's
- Internationalisierung
- WAP-Deployment
- Default Knopf für den Logon "OK"
- Besseres encoding/decoding fürFTP Passwort
- Abschaffung des Startfensters, wenn das Adressbuch als Applikation
gestartet wird
Wie verleihe ich dem Applet Rechte auf meinem Computer?
Alle Schritte sind auch in dem offiziellen Java-Tutorial
von Sun Microsystems frei verfügbar nachzulesen: "http://java.sun.com/docs/books/tutorial/security1.2/tour1/index.html".
Gehen Sie wie folgt vor:
- Tippen Sie auf der Kommandozeile: "policytool". Dieses
Programm wird gestartet.
- Klicken Sie auf "Add Policy". Ein neues Fenster öffnet
sich.
- Tippen Sie in das Textfeld "code base" folgendes:
"http://tom-wiedenhoeft.de/-".
- Klicken Sie auf den Button "Add Permission". Ein
neues Fenster öffnet sich.
- Klicken auf den Pfeil in der linken obersten Drop-Down-Liste
und wählen Sie "All Permissions" aus der Liste. Schließen
Sie das Fenster mit "OK".
- Schließen Sie auch das Fenster, in dem Sie
"Add Permission" gewählt haben mit "OK".
- In dem verbleibenden (ersten) Fenster gehen Sie im
Menü "File" auf "Save As" und speichern Sie die Ergebnisse Ihrer
Einstellungen unter einem beliebigen File unter einem beliebiegen Namen,
z.B. unter "c:\applets\mypolicy".
- Nun kommt der zweite Teil: Sie müssen die eben
festgelegte Regel auch "Ihrem Java" bekannt machen. Dazu bearbeiten Sie
eine Datei namens "java.security". Diese befindet sich immer an der gleichen
Stelle in Ihrer Java-Installation und heißt auch immer gleich. D.h.
zur Not, wenn Sie nicht wissen, wo Ihr Java (Java-Plug-In, das Ihr Browser
benutzt) auf der Festplatte liegt, können Sie diese Datei auch auf
Ihrer Festplatte suchen. Nehmen wir an Ihr Java (Plug-In, das von Ihrem
Browser verwendet wird) befindet sich unter "c:\programme\jdk1.3.1" auf Ihrer
Festplatte, dann finden Sie die Datei unter "c:\programme\jdk1.3.1\lib\security\java.security".
Öffnen Sie diese Datei und schreiben Sie dort eine Zeile hinein. Welche
Zeile? In der Datei befinden sich schon eine oder zwei Zeilen, die so
oder ähnlich aussehen: "policy.url.1=file:${java.home}/lib/security/java.policy".
Kopieren Sie diese Zeile und ändern Sie die Kopie in "policy.url.2=file:
c:\programme\jdk1.3.1\lib\security\java.security". Sichern Sie die Datei.
- Jetzt sollten Sie in der Lage sein, das Adressbuch
und die Notizen auf ihre Festplatte zu kopieren und mit diesen Dateien
wieder das Adressbuch und die Notizen auf dem Server zu überschreiben,
wenn dies nötig sein sollte.
|
|