E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler
Inhalt OpenStage XML Application Platform Anforderungen Architektur Darstellung Fazit Demonstration
XML-Platform LAN/ WAN XML API 1.GET Business Logic XML Java J2ME Phone Server 1.GET XML API Business Logic LAN/ WAN (HTTP/HTTPS) XML XML midlet Java applet Java J2ME Browser Webserver Linux Alle bekannten Technologien können zum Einsatz kommen Servlets, JSP, PHP, CGI Phone Hardware 2.XML
XML-Plattform Verfügbare Elemente: Textfeld Formular Auswahlliste Dialogfenster Kommando Ähnlich zu HTML Elemente nicht kombinierbar Formular: Checkboxen, Radiobutton, einzeilige Textfelder, Bilder
XML-Platform Beispiel Textfeld:
XML-Platform Beispiel Formular:
XML-Platform Beispiel Auswahlliste: Dialogfenster:
E-Mail Client Idee: E-Mail-Verwaltung am Telefon parallel zum PC Ziel: Mehrwert für die Bürokommunikation E-Mail Verkehr nimmt ständig zu E-Mail-Client im Hintergrund -> Mitarbeiter werden abgelenkt Filterung der Absender
Anforderungen Auflisten Bilder Anzeigen sonstige Anhänge normaler Text Löschen Text HTML Beantworten Erstellen mit Vorlage E-Mails nur auf ausdrücklichen Wunsch löschen Weiterleiten Filter konfig. ohne Vorlage Konten verwalten neues Konto aktives Konto Konto löschen
Architektur Model-View-Controller-Pattern Trennung von Daten, Logik, Darstellung Controller (Servlet) Model (Java-Klassen) übersichtliche Struktur Servlets der Präsentation sind entkoppelt (verlinken sich nicht gegenseitig) Änderungen und Erweiterungen einfach durchführbar E-Mail-Server View (Servlets) Datenbank
Klassendiagramm Action UpdateMainpage EmailManager ShowEmail Controller UpdateMainpage <<Servlet>> EmailManager ShowEmail Model UserAccount DeleteEmail ActionRegistry ComposeEmail Protocol Template <<Interface>> Action Administrate EmailAccount View <<Servlet>> ListContent <<Servlet>> Mainpage EmailFilterAddress <<Servlet>> ShowTextPlain <<Servlet>> ComposeEmail <<Servlet>> ShowTextHtml <<Servlet>> Administrate
Datenbankmodell
E-Mail Client Die große Herausforderung: mit den eingeschränkten Möglichkeiten eine angemessene Darstellung erzielen problematisch sind mehrteilige Nachrichten (multipart/mixed, message/rfc822) noch problematischer ist HTML-Text Anzeigeelemente nicht kombinierbar
Benutzeroberfläche Verteilung der Funktionalitäten auf mehrere Seiten dadurch bessere Übersicht und Benutzerfreundlichkeit E-Mail anzeigen E-Mail erstellen Auflistung automatisch aktualisiert E-Mails auflisten E-Mail löschen Einstellungen
Aufbau einer E-Mail Header Body From: Max Mustermann<max@mustermann.de> Date: Mon, 7 Apr 2008 15:51:37 +0100 To: info@uni-freiburg.de Reply-To: Max Mustermann<max.mustermann@web.de> Message-ID: <12345678@local.machine.example> Subject: Informationen ueber ein Informatikstudium MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Hallo Uni Freiburg, ich würde gerne Informatik studieren, darum bitte ich sie mir mehr Informationen zu schicken. Danke! Max Mustermann Header Body
Aufbau einer mehrteiligen E-Mail ... Content-Type: multipart/mixed; boundary=unique-boundary-1 --unique-boundary-1 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Das ist ein Textteil Content-Type: image/jpeg Content-Transfer-Encoding: base64 ... Base64-kodierte Bilddaten ... Content-Type: multipart/mixed; boundary=unique-boundary-2 --unique-boundary-2 ... beliebige Teile ... Content-Type: message/rfc822 komplette Nachricht (Header + Body) Header E-Mail MP/M Text Bild1 Body
Lösungsansatz rekursive Navigation durch die Baumstruktur einer E-Mail image/* Bild anzeigen E-Mail E-Mail image/* MP/M multipart/ mixed Text Bild1 Message- Body Inhalt auflisten multipart/ mixed application/* Anhänge auflisten MP/M message/rfc822 getBodyPart() E-Mail message/rfc822 getBodyPart() text/* Text anzeigen text/*
HTML-Text Problem: Es steht nur ein Textfeld zur Verfügung Text und Bilder können nicht zeitgleich angezeigt werden Formatierungsmöglichkeiten: Leerzeichen Absatz Schriftzeichen HTML-Layout: Tabellen (auch verschachtelt) CSS (insbesondere DIV-Tags) Bilder
HTML-Text Idee: Text extrahieren Struktur so gut es geht erhalten vor und nach <table>, <div>, <p> ein Absatz Jede Tabellenzeile beginnt in einer neuen Zeile Tabellenspalten durch | trennen
weitere Funktionen Direktes Wählen von erkannten Nummern Protokolle: SMTP/SMTPS, POP3/POP3S, IMAP/IMAPS IMAP: Verwalten von Ordnern Verschieben von E-Mails zwischen Ordnern Weiterleitung beliebiger E-Mail-Teile Vorlagen Adressbuch
Fazit einfache Vorraussetzungen für Nutzung der XML-Plattform Vorteile einer Client-Server-Architektur XML-Plattform noch nicht ausgereift fehlende Funktionen: Zugriff auf Telefonbuch kontextsensitive Belegung der Sensortasten Textformatierungen Layout T9 Text Input keine Installation Logik an zentraler Stelle -> Integrierung in bestehende Systeme einfacher, Erweiterungen/Änderungen einfacher
Fazit Ausblick: brauchbares Ergebnis aber: keine Alternative zum PC Mehrwert? Telefon PC Ausblick: Verschlüsselung per STARTTLS Signierung von E-Mail (PGP) HTML-Text als Bild generieren Webschnittstelle
Demonstration