23
E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

Embed Size (px)

Citation preview

Page 1: E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

E-Mail Clientfür

XML Application PlatformSiemens OpenStage

Daniel Höfler

Page 2: E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

Inhalt

OpenStage XML Application Platform

Anforderungen

Architektur

Darstellung

Fazit

Demonstration

Page 3: E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

Phone HardwarePhone Hardware

LinuxLinux

Java J2MEJava J2ME BrowserBrowser

XML midletXML midlet Java appletJava applet

XML APIXML API

LAN/LAN/ WANWAN

(HTTP/HTTPS(HTTP/HTTPS))

LAN/LAN/ WANWAN

(HTTP/HTTPS(HTTP/HTTPS))

PhonePhone ServerServer

WebserverWebserver

XMLXML

BusinessBusinessLogicLogic

XML-PlatformXML-Platform

1.GET

2.XML

Page 4: E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

XML-Plattform

Verfügbare Elemente:

Textfeld

Formular

Auswahlliste

Dialogfenster

Kommando

Page 5: E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

XML-Platform BeispielXML-Platform Beispiel

Textfeld:

Page 6: E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

XML-Platform BeispielXML-Platform Beispiel

Formular:

Page 7: E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

XML-Platform BeispielXML-Platform Beispiel

Auswahlliste: Dialogfenster:

Page 8: E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

E-Mail Client

Idee:

E-Mail-Verwaltung am Telefon

parallel zum PC

Ziel: Mehrwert für die Bürokommunikation

Filterung der Absender

Page 9: E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

Anforderungen

Auflisten

Anzeigen

Löschen

Bilder

sonstige Anhänge

Text

HTML

normaler Text

Beantworten

Weiterleiten

Konten verwalten

Erstellen mit Vorlage

ohne VorlageFilter konfig.

neues Konto

aktives Konto

Konto löschen

Page 10: E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

Architektur

Controller(Servlet)

View(Servlets)

Model

(Java-Klassen)

Datenbank

E-Mail-Server

Model-View-Controller-Pattern

Trennung von Daten, Logik, Darstellung

Page 11: E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

Klassendiagramm

UserAccount

Protocol

EmailAccount

EmailFilterAddress

Template

<<Servlet>>EmailManager

ActionRegistry

<<Interface>>

Action

UpdateMainpage

ShowEmail

DeleteEmail

ComposeEmail

Administrate

<<Servlet>>ListContent

<<Servlet>>ShowTextPlain

<<Servlet>>ShowTextHtml

<<Servlet>>Mainpage

<<Servlet>>ComposeEmail

<<Servlet>>Administrate

Controller

View

Model

Page 12: E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

Datenbankmodell

Page 13: E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

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

Page 14: E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

Benutzeroberfläche

Verteilung der Funktionalitäten auf mehrere Seiten

dadurch bessere Übersicht und Benutzerfreundlichkeit

E-Mailsauflisten

E-Mailanzeigen

E-Maillöschen

E-Mailerstellen

Einstellungen

Page 15: E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

Aufbau einer E-Mail

Header

Body

From: Max Mustermann<[email protected]>Date: Mon, 7 Apr 2008 15:51:37 +0100To: [email protected]: Max Mustermann<[email protected]>Message-ID: <[email protected]>Subject: Informationen ueber ein InformatikstudiumMIME-Version: 1.0Content-Type: text/plain; charset=iso-8859-1

Hallo Uni Freiburg,ich würde gerne Informatik studieren, darum bitteich sie mir mehr Informationen zu schicken.Danke!Max Mustermann

Header

Body

Page 16: E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

Aufbau einer mehrteiligen E-Mail

Header

Body

E-Mail

MP/M

Text

Bild1

MP/M

E-Mail

...Content-Type: multipart/mixed; boundary=unique-boundary-1

--unique-boundary-1Content-Type: text/plain; charset=iso-8859-1Content-Transfer-Encoding: quoted-printable

Das ist ein Textteil--unique-boundary-1Content-Type: image/jpegContent-Transfer-Encoding: base64

... Base64-kodierte Bilddaten ... --unique-boundary-1Content-Type: multipart/mixed; boundary=unique-boundary-2

--unique-boundary-2... beliebige Teile ...--unique-boundary-2--unique-boundary-1Content-Type: message/rfc822

komplette Nachricht (Header + Body)--unique-boundary-1

Page 17: E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

Lösungsansatz

rekursive Navigation durch die Baumstruktur einer E-Mail

Inhaltauflisten

Bildanzeigen

Anhängeauflisten

Textanzeigen

image/*

text/*

application/*Message-Body

multipart/mixed

message/rfc822getBodyPart()

multipart/mixed

message/rfc822getBodyPart()

image/*

text/*

E-Mail E-Mail

MP/M

Text

Bild1

MP/M

E-Mail

Page 18: E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

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

Page 19: E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

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

Page 20: E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

weitere Funktionen

Direktes Wählen von erkannten Nummern

Protokolle: SMTP/SMTPS, POP3/POP3S, IMAP/IMAPS

IMAP:Verwalten von OrdnernVerschieben von E-Mails zwischen Ordnern

Weiterleitung beliebiger E-Mail-Teile

Vorlagen

Adressbuch

Page 21: E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

Fazit

einfache Vorraussetzungen für Nutzung der XML-Plattform

Vorteile einer Client-Server-Architektur

XML-Plattform noch nicht ausgereift

fehlende Funktionen:Zugriff auf Telefonbuchkontextsensitive Belegung der SensortastenTextformatierungenLayoutT9 Text Input

Page 22: E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

Fazit

brauchbares Ergebnisaber: keine Alternative zum PCMehrwert?

Telefon PC

Ausblick:Verschlüsselung per STARTTLSSignierung von E-Mail (PGP)HTML-Text als Bild generierenWebschnittstelle

Page 23: E-Mail Client für XML Application Platform Siemens OpenStage Daniel Höfler

Demonstration