Home

und WAP

image

Contents

1. Ger tespezifische Datens tze Abbildung 6 drei Implementierungsans tze f r die Ger teunabh ngigkeit 2 7 Bestehende L sungen 2 7 1 Portal to Go Oracle bietet eine L sung f r mobile Portal Dienste die auf XML basiert Das Portal setzt auf der Oracle8 Datenbank und dem Oracle Application Server auf Die Dienste werden in XML definiert die durch eine DTD validiert werden Dadurch ist es m glich die mit Portal to Go entwickelten Dienste f r eine Reihe von Markup Sprachen zur Verf gung zu stellen Die von Portal to Go unterst tzten Sprachen s nd HTML WML HTML f r PDAs VoxML Diese L sung verfolgt den medienunabh ngigen Ansatz und kann eingesetzt werden um die Ger teunabh ngiskeit zu erreichen Durch die Verwendung der so genannten Device Transformer ist es m glich die Palette von unterst tzten Sprachen und Endger ten ohne nderung am Dienst zu erweitern SCNEd2000 und Areh2000 Die Dienstdefinition kann mittels HTML oder in einem anderen Format erfolgen Dies wird durch den Einsatz von Adaptern erreicht die die verschiedenen Quellformate in das Zwischenformat bersetzen Die Device Transformer k nnen als Ausgabefilter und die Adapter als Eingabefilter angesehen werden Das Zwischenformat ist eine XML Anwendung die sich eines wohldefinierten Satzes von XML Elementen bedient d e n einer DTD definiert werden Daraus resultieren sowohl Vor als auch Nachteile Die Vorteile sind e Die Dienste k nnen in ei
2. Portal e Mechanismen die abnormales Cache Verhalten kompensieren Z hler serverseitiges Verwalten der History Die Abbildung 26 zeigt die bersicht ber die Komponenten die die Ger teunabh ngigkeit realisieren Es sind zwei entkoppelte Teile erkennbar 85 Der Teil rechts beschreibt die Generierung der Templates Der Teil links enth lt Komponennten die f r d e Verwaltung der generierten Templates Erkennung des User Agents und f r das Zur ckliefern der richtigen Templates zust ndig Fama reralenenirde Ceratebeschrahimas AN irage al Handler Fenplite Templates dateien en zu brechen I IT u al b e Substitulion W MI 7 Praeeiuier f m f Template renerierung_ zurickheben F ul Ar r F Baumsichi r KTam elle L L AI fa 3 _ Optmierung Lrer le j aal k 13 l amp 3 a Fe fa STEENMINE 3 c H R D ar 7 D Gerateoptimierte Templates Kkontguratonsdatei Abbildung 26 berblick ber die Realisierung Die einzelnen Komponenten dieser Abbildung werden in folgenden Kapiteln im Detail beschreiben 5 4 1 Endger teklassifikation Die Endger te werden zu Klassen zusammengefasst Ein Endger t wird einer bestehenden Klasse zugeordnet falls es optimal den WML Code der f r diese Ger teklasse generiert wurde darstellen kann Kann ein Ger t nicht einer bestehenden Ger teklasse zugeordnet werden wird eine neue Klasse angelegt Es ist jedoch wichtig m glichst w
3. useragent siemensc351 class siemens useragent siemensc35l1 name Siemens c35i useragent siemensc35i1 pattern SIE C3I useragent siemensc351 maxbytesize 1506 useragent nokia6b210 class nokia useragent nokia6210 name Nokia 6210 useragent nokia6210 pattern Nokia6210 useragent nokia6210 maxbytesize 1372 useragent nokia l110 class nokia7110 useragent nokia l10 name Nokia 7110 useragent nokia 1l110 pattern Nokia7110 useragent nokia l10 maxbytesize 1372 Diesem Ger t werden alle zur Entwicklungszeit unbekannten WAP f higen Ger te zugeordnet useragent wml class wml useragent wml name Unknown WML Browser useragent wml pattern this will never match useragent wml maxbytesize 1300 Das Ger t repr sentiert HTML Browser useragent html class html useragent html name HTML Browser useragent html pattern Mozilla Um den Einfluss des W AP Gateways bzgl der Deckgr enbeschr nkung zu ber cksichtigen wird eine Zeichenkette mit deren Hilfe das WAP Gateway erkannt wird und eine maximale Deckgr e vorgegeben restrictions uplink4lgateway pattern UP Link 4 1 restrictions uplink4lgateway maxbytesize 1461 Die Informationen werden f r die Erkennung Verwaltung der Enger te und Generierung von ger teoptimierten WML Seiten verwendet 90 5 4 5 Redundanzfreie Speicherung und Suchstrategie Durch die Anordnung der Ger teklassen in einer hierarchischen Baumstruktur die Verwandtschaftsbezie
4. Alle Enger te d e den Up Browser von Phone com verwenden k nnen recht gut mit dem Up Simulator getestet werden Win Wap ist ein reiner Windows Browser und ist sehr gut zum Testen der Programmlogik der Wap Portale geeignet Diese Software st wesentlich fehlertoleranter und verzeiht zum Teil nicht WML konforme Konstrukte wie das Fehlen der schlie enden Tags Die Software Emulatoren und Browser werden nicht im Detail behandelt 4 2 bersicht ber verwendete Ger te 4 2 1 Nokia 7110 Das Nokia 7110 Ger t Abbildung 18 ist das erste funktionsf h ge WAP Handy auf dem Markt ooo kk AKIA Abbildung 18 Nokia 7110 57 Das Endger t unterst tzt WML 1 1 WMLscript 1 1 Bilder im WBMP Format und einige WTAI Funktionen Es kann z B eine Telefonnummer von einer WML Seite aus gew hlt werden Es verarbeitet Decks und Bilder mit einer maximalen Gr e von bis zu 1397 Bytes offizieller Wert von Nokia Die Displaygr e betr gt 96x65 Bildpunkte Die maximale Cachegr e ist 40 KByte und die maximale Gr e eines Eintrages der gepuffert werden kann ist 1536 Bytes Falls die URL eine L nge von mehr als 255 Bytes hat wird die Datei nicht gepuffert Eigenarten und besondere Merkmale von Nokia 7110 sind Die Textformatierungstags wie z B b sma11 und i Tags werden nicht unterst tzt Links Bilder und Eingabefelder werden jeweils n einer neuen Zeile dargestellt Weder vertikale noch horizontale Ausrichtung wird unter
5. lt DOCTYPE wml PUBLIC WAPFORUM DTD WML kety EN http www wapforum org DTD wnl_1 1 xmL gt lt wml gt lt card id cardl title Erste Card gt lt p gt Das ist die Erste Card lt br gt lt a href card2 gt zur Zweiten Card lt a gt lt p gt lt card gt lt card id card2 title zweite Card gt lt p gt Das ist die zweite Card lt p gt jceard gt lt wml gt Es s eht auf einem mobilen Ger t n etwa so aus hier das Nokia WAP Toolkit 2 0 mit dem Blue Print Modell Erste Card weite Card Das ist die Erste Card Das ist die zweite i 5 carg Link _ u u Abbildung 13 WML Darstellung 28 Dieses WML Deck also eine WML Datei enth lt zwei Karten Der eigentliche Inhalt des Decks ist von einem ffnenden und einem schlie enden wm Tag umgrenzt Innerhalb dieser Tags k nnen sich eine oder mehrere Karten befinden Der card Tag kann ein ia Attribut haben Das ia Attr but erm glicht das Verwenden einer Karte als Ziel eines Links So kann im obigen Beispiel die zweite Karte mit iad card2 mit Hilfe eines Links in der ersten Karte angew hlt werden Dabei ist das Ziel als href card2 Attribut hnlich zu den HTML Labels spezifiziert Die Karten verhalten sich jedoch etwas anders als die HTML Labels Eine HTML Seite wird als eine Einheit angezeigt und die Labels dienen als Sprungmarken um langes Scrollen zu vermeiden Die Karten in WML stellen da
6. Intercard Navigation des Beispiels gezeigt Die Karte Nummer drei wird ber den Softkey Card 3 erreicht Beim Anspringen der Karte Nummer drei wird ein ontimer Ereignis aktiviert und nach drei Sekunden die Karte Nummer zwei angesprungen bei der sofort ein onenterforward Ereignis aktiviert wird an das ein go Element mit der ersten Karte als Link angebunden ist 3 2 4 7 Benutzereingaben Optionslisten oder auch Auswahllisten bilden neben den Texteingabefeldern eine weitere M glichkeit von dem Benutzer Informationen zu erhalten Um dem Benutzer eine Einfach oder Mehrfach Auswahl zu erm glichen stellt WML select und option Tags zur Verf gung Hier ist ein Fragment das eine Einfach Auswahl erm glicht lt select title EU L nder name var gt lt option value fr gt Frankreich lt option gt lt option value de gt Deutschland lt option gt lt option value nl gt Niederlande lt option gt lt select gt Dabei wird der Variablen var der Wert des jeweiligen value Attribute zugewiesen Diese Variable kann dann ber svar abgefragt werden Man kann nicht nur den explizit zugewiesenen Wert der Option abfragen sondern auch die Nummer in der Liste des gew hlten Eintrages lt select title Europ ische nicht EU L nder iname var gt lt option gt Schweiz lt option gt lt opt 1on gt Ungarn lt opt1on gt lt option gt Lichtenstein lt optich gt lt select gt So enth lt die Variable var den Wert 1 falls der er
7. das Gesamtkonzept die Speicherung der ger teoptimierten Dateiens tzen in einer Baumstruktur erlaubt es sowohl die WML Seiten dynamisch zu generieren als auch einzelne Seiten manuell zu optimieren w e es am Beispiel Nokia 7110 m Kapitel 5 3 3 5 deutlich wird Der generische Ansatz wird auch verwendet Es ist ein Dateiensatz in der Wurzel des logischen Baums vorhanden der alle dem System unbekannten Ger te bedient Dies erm glicht das Bedienen auch solcher Ger te f r die es keine optimierten Seiten gibt 5 2 1 Portable WAP Anwendung Die Entwicklung eines Dateien Satzes der generisch von allen WAP f h gen Ger te verwendet wird stellt softwaretechnisch die einfachste L sung dar Es sind prinzipiell keine zus tzlichen Massnahmen notwendig da es durch die Trennung der Programmlogik von der Benutzeroberfl che s Kapitel 2 8 4 gen gt die WML Templates zu entwickeln ohne am Quellcode der Handler Klassen nderungen vornehmen zu m ssen Es m ssen jedoch Zusatzmechanismen implementiert werden die z B Session Tracking unterst tzen da der Session Tracking Mechanismus s Kapitel 5 3 3 1 sich geringf gig von dem des Web Portals unterscheidet Auch das Cache Verhalten verschiedener Ger ten muss durch entsprechende Mechanismen ber cksichtigt werden Vom Entwicklungs und Speicherungsaufwand ist dieser Ansatz am g nstigsten d h falls ein Dienst aus M Dateien besteht und N Ger te bedient werden m ssen so werden nur M Dateien
8. der erkennt in welche Richtung die Navigation stattfindet und ob es sich um einen Aufruf einer Seite mit Seiteneffekt handelt Dazu wird eine serverseitige Speicherung der URL Strings aller aufgerufenen Seiten mit Seiteneffekt implementiert Um die R ckw rtsnavigation zu detektieren wird der Wert der Z hler Variablen serverseitig mit dem Wert des Z hler Parameters aus dem URL String verglichen Im Falle der R ckw rtsnavigat on ist der Wert des Z hler Parameters kleiner als der Wert der serverseitigen Z hler Var ablen Die Abbildungen veranschaulichen die R ckw rtsnavigation und die damit verbundenen Probleme e R ckw rtsnavigation mit Pufferung von Inhalten Abbildung 32 e ohne Pufferung von Inhalten Abbildung 33 und e ohne Pufferung von Inhalten Abbildung 34 aber mit Detektierung von R ckw rtsnavigat on Client HETVEr Histo Cache Aufruf einer ___FTrats wel Unsichtbarer Handler unsichtbaren o0 m Ahio ausf hren Seite z B Werzeichnee anlegen Weiterleitung E am ite A seite 4 J o i i Seite A alt Sichibarer Handler Seite aiis darstellen Best tlgung zenden alei hite bolen 1 F ET Wl E URL auz am san e Sichtbarer Haller ara sichtbaren Seite tr m Beste senden l Seite B JE 7 u E wmd seite B Diarstellen Kiskw rtsnavizahon Keine Anlrage an den Server octe A clarstellen Abbildung 32 R ckw rtsnavigation mit Pufferung der Seiten 94 Die Abbildung 32 zeigt das Verhalten
9. entwickelt und gespeichert Der Pflegeaufwand hat die Komplexit t O M da maximal M Dateien bei einer nderung modifiziert werden m ssen 5 2 2 Ger teoptimierte Seiten Falls Ger te optimal bedient werden sollen muss f r jedes Ger temodell ein eigener Dateiensatz das f r das jeweilige Modell optimiert ist entwickelt werden Dazu werden die Erkenntnisse die im Kapitel 4 beschrieben werden verwendet Ein weiterer Schritt zum automatischen Generieren von ger tespezifischen Templates ist die Unterschiede im WML Code zwischen den f r verschiedene Endger te optimierten Dateien festzustellen Dabei sollen evtl die Endger te mit wenigen Unterschieden zu den Klassen 16 zusammengefasst werden So haben die beiden Nokia Ger te fast identischen WML Code mit Ausnahme der Seiten die das Setzen der Variablen und ein Bild enthalten w e z B anonymous wm1 Seite s Kapitel 5 3 3 5 Auch Sony und Palm Browser k nnen gemeinsam dieselben WML Seiten benutzen ohne dass die Benutzbarkeit eingeschr nkt wird Die Klassenbildung kann sinnvoll zum Bedienen von neuen Endger ten sein f r die es noch keinen eigenen Dateien Satz gibt da die Ger te eines Herstellers meist auf gleicher Software bas eren und hnliches Verhalten aufweisen Um die richtigen WML Seiten an das Ger t auszuliefern muss das Ger t erkannt werden Es wird anhand des accept Headers festgestellt der vom Client an den Server bermittelt wird und alle von ihm unterst
10. ndig eine hierarchische Struktur aus den Klassen die die Schnittstellen UserAgentcClass und UserAgent implementieren aufzubauen Sie stellt Funktionen zur Verf gung die einen User Agent Objekt anhand der vorhandenen Merkmalen wie UserAgent String der Endung des angeforderten Dateinamens oder Accept String zur ckliefern Das Klassendiagram in der Abbildung 28 veranschaulicht die Zust ndigen Klassen und Schnittstellen FE Abbildung 28 F r die Endger teverwaltung zust ndigen Klassen bzw Schnittstellen 88 Die Klasse UserAgentFactory enth lt get getUserAgent und getUserAgentClasses Funktionen mit deren Hilfe alle in der Konfigurationsdatei enthaltenen Ger te und Ger teklassen zur ckgeliefert werden Die get Funktion sucht in der hierarchischen Struktur nach einem User Agent mit der vorgegebenen Id und liefert eine UserAgent Instanz zur ck Die getUserAgent Funktion liefert ein UserAgent Objekt das am besten mit den bergebenen Parametern bereinstimmt Die GetUserAgentClasses Funktion liefert alle dem System bekannten Ger teklasse zur ck Die Schnittstelle UserAgentclass bzw die Klassen die diese Schnittstelle implementieren stellt Funktionen bereit die die in der properties txt Date definierten Eigenschaften der Ger teklasse zur ckliefern getClass 1d liefert die Id der Ger teklasse wie html wml nokia siemens zur ck getClassName liefert den Name der Ger teklasse wie nokia WAP Device Zur ck getPare
11. ten Infrastrukturanbieter f r den Mobilfunk Nokia Phone com damals Unwired Planet Ericsson und Motorola Heute repr sentieren die Mitglieder des Forums ber 90 aller Mobilfunkanbieter sowie einige Hard und Softwarehersteller wie Microsoft HP und Intel Das Ziel des Forums war es einen Standard f r den Datenverkehr in Mobilfunknetzen zu entwickeln der sowohl auf bestehenden Strukturen wie dem Internet beruht als auch den Eigenschaften der mobilen Datenkommunikation wie hohe Latenzzeiten und geringe Bandbreite der Funknetze schwache Rechenleistung der mobilen Ger te begrenzte Ein und Ausgabem sglichkeiten der Benutzerschnittstelle Rechnung tr gt In Deutschland wurde WAP sp testens Ende 1999 mit der Einf hrung der ersten WAP f higen mobilen Telefone ein Begriff WAP wurde als die Technologie der Zukunft und als ein Standard der es allen Besitzern von WAP f higen Ger ten erm glicht auf speziell aufbereitete Internetinhalte von berall zuzugreifen angepriesen Das WAP Forum versuchte die Fehler die fr her gemacht wurden zu vermeiden So wurde WML das mobile Gegenst ck zu HTML als eine XML Anwendung definiert und nutzt somit die Vorteile von XML m vollen Umfang Dazu z hlen z B flexible Erweiterbarkeit durch zus tzliche Elemente Unterst tzung von verschiedenen Zeichencodes und einfache Generierung aus XML mittels XSLT Die WAP Spezifikation 1 e der WML Teil der Spezifikation wurde so formuliert dass es d
12. tes s Kapitel 4 3 9 die Select List Implementierung der Nokia Ger te bei dem Einsatz des onpick Ereignisses s Kap tel 4 3 3 l sst die Aktivierung des ersten bzw selektierten Eintrages nicht zu Au erdem ist die Steuerung des Cache Speichers u erst unzureichend wie es am Beispiel der Cache Aktivierung im Zusammenhang mit der R ckw rtsnavigat on s Kapitel 4 3 11 deutlich wird Die Ger tehersteller verfolgen unterschiedlichste Ans tze bei der Softkey Realisierung und der Realisierung von anderen Elementen wie Select Listen Es muss f r jedes Ger t experimentell die optimale L sung bestimmt werden Durch die Vielfallt von verschiedenen Ger te ist es nicht m glich eine WML Untermenge zu finden die als kleinster gemeinsamer Nenner f r alle Ger te eingesetzt werden kann Aus diesen Punkten ergibt sich die Notwendigkeit zus tzlliche Mechanismen zu implementieren die diese Defizite kompensieren insofern es m glich st Au erdem s nd einige Anpassungen an das WMI Zustandsmodell von Vorteil die das Var iablen Konzept z B f r die S tzungsverwaltung ausnutzt Die zu implemenierenden Mechanismen sind folgende e Unterst tzung von unterschiedlichen WAP f higen Clients mit Hinblick auf Skalierbarkeit d h einfach Erweiterbarkeit mit neuen Endger ten flexible Anpassung an die Eigenschaften der Ger te wie z B die Softkey Implementierung e automatische Identifikation und Verwaltung der Ger te e serverseitig
13. 16 2 8 Architektur des infoAsset BrokerS s000000000000000000sssnssssssnnnnnnnnnnnnnssssssssssssnssssnnse 16 2 8 1 SESSION TI K I S eare NaN 18 2 9 2 SUBSTIIULION areas een 18 2 8 3 bHandlersaunssenseee aan hunde 19 2 8 4 Generelle Trennung der projektspezifischen Oberfl che von generischer SOLL WIR see een ae 20 2 89 Funktionsumfang des infoAsset Brokers 0002ssseeesnssnnnnsssenennennnnnnnnnneneeennnnnnn 21 3 WAP UND WML GRUNDLAGEN DER ARBEIT u 220 2002200n000n00nnnnnnnn 22 3 1 WAP Forum osser Ra EBERLE 22 3 2 WAP SPEAHKANON Seel ek 22 3 2 1 WAP ScChiche mode au 22 322 WAP Distibutons model Deore en ee ee 25 3 2 3 3 2 4 ANDI Elementera es ee E E T 29 524 VaDer E a EAE A A ea 29 3242 EE aoe ee eiee 31 323 TASK ss ee De ee ei 32 3244 DONKEYS ee 32 324 2 DVei a rssene kabel 33 32410 Kipa Sansa ee ne 34 IAr Benu DaB nee nee E EE 37 3248 Teora erin era ee nee ee 39 32 39 Fable iana eeesetelslsiseieishiehtinelsi lsinieieien 40 322 Bilder nennen ee 40 3 2 4 11 Mechanismen zum Steuern des internen Zustandes des UA ee 41 3223 WMES OD nenii a 42 3 2 6 WEAN A een EO 44 32 1 WMILZErweit fingen aueh 46 SO N O E ee ee 46 a2 NOS nee een ee ee ist 46 32 13 KID On neuer 47 3 3 PUSH ww EET A A S N EAT EE ET 47 3 4 WARP SIcherhelta su cne irns EEEE AEEA 48 3 5 USerAgent Prole urn E A S S 50 3 6 Diskussion des Standards aus der Sicht des Anwendungsentwicklers 51
14. AU A A S A Transport layer WDP Verbindungslos TCP IP 3 4 A A A Netz bearer GSM SMS CSD Ethernet etc 1 2 Abbildung 11 WAP vs Internet vs OSI Die Anwendunsgsschicht Application Layer ist in einem Micro Browser des User Agents implementiert und beinhaltet WML Wireless Markup Language WMLscript eine JavaScript hnliche Skriptsprache und WTA Wireless Telephony Application Diese drei Komponenten k nnen benutzt werden um eine interaktive WAP basierte Anwendung zu entwickeln Dabei werden die WMlLsSscript und WTA Funktionen aus WML heraus aufgerufen Die Datenvorverarbeitung kann mit Hilfe von WMLscript auf dem Client realisiert werden Daten Val d erung clientseitige Berechnung ohne Serveranfrage etc Mit WTA hat man einen Mechanismus geschaffen mit dessen Hilfe Anrufe von einer WML Seite bet tigt werden k nnen sehr praktisch f r ein WAP bas ertes Telefonauskunftsystem Auch die bernahme von Telefonnummern in das Telefonbuch des mobilen Endger tes ist m glich Das Wireless Session Protocol WSP bietet eine Schnittstelle f r die Anwendungsschicht die es erlaubt zwei Arten von S tzungsdiensten zu etablieren Die erste ist ein verbindungsorientierter Dienst oberhalb von WTP die zweite ist ein verbindungsloser Dienst oberhalb des ungesicherten oder gesicherten Datagramm Dienstes WDP Das Wireless Transaction Protocol WTP befindet sich ber einem Datagram Service hier WDP und ist ein light weight ve
15. Deck zugreifen k nnen e http wap tu harburg de cgi main wml e http www tu harburg de cgi wap main wml e http tu harburg de cgi test cgi Das meta Element enth lt Attribute die das Cache Verhalten des User Agents beeinflussen So kann die Zeitspanne eingestellt werden in der ein Dokument im Cache Speicher des User Agents gehalten wird Durch die ausdr ckliche Aussage der WML Spezifikation dass die meta Tags vom User Agent ignoriert werden k nnen ist die Beeinflussung des Cache Verhaltens sehr schwierig wenn nicht unm glich Folgendes Beispiel zeigt das Abschalten des Cache Speichers bei Vorw rts und R ckw rtsnavigation lt meta http equiv Cache Control content no cache forua true gt lt meta http equiv Cache Control content revalidate forua true gt Dabei wird das http equiv Attribut vom User Agent als HTTP Header interpretiert Das content Attribut gibt den Inhalt des HTTP Headers an Falls man die Lebensdauer des Dokumentes im Cache zeitlich begrenzen will soll man dem content Attribut den Wert max age xyz zuweisen wobei xyz den Wert in Sekunden darstellt Das forua Attri but weist das WAP Gateway an diesen Tag bei der Konvertierung in das Bin rformat nicht zu entfernen Ist das Attribut auf false gesetzt muss das WAP Gateway den meta Tag entfernen 41 Das newcontext Attribut ist ein Attribut des cara Tags Falls dieses Attribut auf true gesetzt ist wird der User Agent beim Vorw rtsnav
16. Language Script WSP Wireless Session Protocol WTA Wireless Telephony Application WTAI Wireless Telephony Application Interface WTLS Wireless Transport Layer Security WTP Wireless Transaction Protocol VCF Visit Card Format XML eXtendable Mark up Language XSL extendable Style Sheet Language XSLT XSL Transformation 100 Glossar Card oder Karte ist eine von WML benutzte Metapher Eine Karte bildet eine logische Einheit von zusammenh ngenden Elementen wie Text Eingabefelder oder andere Benutzerschnittstellenelemente CBS Cell Broadcast System erlaubt das Verschicken von Nachrichten an mehrere mobile Telefone deren Benutzer sich an einem bestimmten Ort aufhalten COO Cell of Origin erlaubt den Benutzer innerhalb einer GSM Zelle zu lokalisieren Die generierten Ortsangaben sind sehr ungenau erlauben aber eine Reihe von Diensten wie z B ortsabh ngige Tarife oder auch die Angabe des Standortes um standortabh ngige Informationen mittels WAP anzubieten Deck oder Stapel ist eine WML Date die eine oder mehrere Karten enth lt Event oder auch intrinsic event ist ein von WML definierter Mechanismus um auf die vom Benutzer oder vom User Agent generierte Aktionen reagieren zu k nnen Z B beim Anspringen einer Karte das Setzen von Variablen GPRS General Packet Radio Service stellt eine paketvermittelte Technik zur Verf gung die bertragungsraten von bis zu 115 KBit s realisiert GPRS kann problemlos in die bestehen
17. System das 3 Freiheitsgrade besitzt Scrollen Dr cken nach vorne nach hinten und nach rechts Abbildung 21 Sony CMD Z 5 Das Ger t hat folgende Merkmale Der Zur ck Softkey ist durch zwei vorhandene Hardware Elemente fest vordefiniert die c Taste und Jog Dial nach vorne ziehen Dieser l sst sich aber auch noch einmal definieren und erscheint dann als Softkey auf dem Display Das Selektieren einer Einfachauswahlliste erfolgt durch Bet tigen des Jog Dial R dchen nach hinten Die Softkeys erscheinen dort n der Karte wo s e definiert wurden z B ber der Karte falls die Definition vor dem Karteninhalt im Quelltext steht Die Schaltfl che des Softkeys kann aber auch mitten im Text platziert werden Die im Template definierten Softkeys erscheinen ganz unten und verhalten sich so als ob sie ganz zum Schluss einer Karte definiert wurden Der Titel wird nicht dargestellt bersch ssige pr Tags also solche die mehrfach vor einem Link oder Bild definiert sind werden ignoriert Tabellen werden unterst tzt Textformatierungstags werden unterst tzt 60 4 2 5 Palm m100 Palm m100 ist das derzeit neueste Ger t aus dem Hause 3Com Es verf gt ber ein 2 MByte gro en Arbeitsspeicher ein 160x160 Bildpunkte gro es Display und eine IR Schnittstelle die f r die Verbindung mit einem Mobiltelefon verwendet werden kann Beim Palm kann beliebige W AP Browser Software eingesetzt werden da die Software im Gegensatz zu den
18. Treffer substituiert SlisEmptys ist eine bedingte Substitution die nur f r eine leere Anzahl von Elementen ausgef hrt wird Eine Seitenlistenvorlage kann nicht in einer anderen Vorlage ConditionalTemplate ListTemplate PageListTemplate geschachtelt werden Eine Seitenlistenvorlage darf beliebig viele geschachtelte Vorlagen enthalten ConditionalTemplate ListTemplate Beim Aufruf einer Seitenlistenvorlage ber einen HTTP Request wird ein optionaler Parameter idx Seite bergeben der die Nummer der Seite angibt die anzuzeigen ist Fehlt der Parameter iax wird die erste Seite angezeigt 96 5 5 Generalisierung von Ger teunabh ngigkeit Die Aspekte die bei der Implementierung der Ger teunabh ngigkeit eingeflossen sind wie Generierung vom ger teoptimierten Quellcode und Verwaltung von Ger teklassen k nnen auf Medienunabh ngiskeit verallgemeinert werden Es muss ein medienunabh ngiges Format definiert werden mit dem Dienste allgemein beschrieben werden k nnen Die Generierung von medienspezifischen Seiten kann mittels XSLT erfolgen wobei die XSL Dateien Informationen ber die Medienformate enthalten Die Schwierigkeit besteht darin ein medienneutrales Format zu entwickeln das die Dienste med ienunabh ngig beschreibt aber auch gleichzeitig die Eigenschaften des jeweiligen Standards nicht einschr nkt Wenn man beispielhaft zwei Formate wie HTML und WML betrachtet so stellt man fest dass beide Mark Up Sprac
19. Verwendung lokaler Bilder muss immer eine Referenz auf ein alternatives Bild vorhanden sein falls ein Ger t lokale Bilder nicht zur Verf gung stellt Mit Hilfe des W AP Gateways ist es m glich andere Formate automatisch ins WBMP Format zu konvertieren Davon ist jedoch abzuraten da die automatische Reduzierung der Farbtiefe auf ein Bit die Qualit t der Bilder deutlich vermindert 40 3 2 4 11 Mechanismen zum Steuern des internen Zustandes des UA Der Header ist ein optionales Konstrukt von WML Er wird mit Hilfe des nead Elementes nach dem Prolog aber vor dem wm Tag definiert und enth lt Informationen die beispielsweise die Zugriffskontrolle oder das Cache Verhalten beeinflussen Der head Tag enth lt die Informationen die sich auf das ganze Deck beziehen Das nead Element kann access und meta Tags enthalten lt xml version 1 0 gt lt DOCTYPE wml PUBLIC WAPFORUM DTD WML 121 EN http www wapforum org DTD wml_1 1 xml gt lt head gt lt access gt lt meta gt lt head gt lt wml gt Mit dem access Element wird die Zugriffskontrolle definiert Die domain und path Attribute geben an von welchen Decks aus das aktuelle Deck erreicht werden kann Das Beispiel verdeutlicht wie diese Attribute benutzt werden k nnen lt head gt lt access domain tu harburg de path cgi gt lt head gt lt wml gt Das hei t dass die Decks die folgende oder analoge URLs haben auf das aktuelle
20. begrenzte Ausgabem sglichkeiten e Geringe Bandbreite der Netze e Begrenzte Speicher und Rechenressourcen Die Aufgaben von WML sind mit denen von HTML identisch und schlie en folgendes mit ein e Textdarstellung und Layout WML unterst tzt Bilder Textformatierungs Tags und Attribute die z B Ausrichtung Schriftart und Verhalten von Text wie Zeilenumbruch beinflussen e Aufteilung der Informationseinheiten in Decks und Karten Dabei enth lt eine WML Datei jeweils ein Deck das in Karten in kleinere logische Einheiten die jeweils einer Benutzerinteraktion entsprechen aufgeteilt werden Durch eine Reihe von Karten die zu einem Deck geh ren kann lokal auf dem User Agent ohne Serveranfragen navigiert werden e WML stellt einen Mechanismus zur Navigation zwischen Karten und Decks bereit und bedient sich der Links in Analogie zu HTML e WML Var iablen k nnen innerhalb eines Decks deklariert werden Der Variablenname wird durch den Wert der WML Variablen vor dem Anzeigen des Decks ersetzt e Kommentare in WML sind XML konform z B lt ein Kommentar gt Sie werden bei der Bin rcodierung ignoriert e XML konforme Unterst tzung von verschiedenen Zeichensatzcodierungen WMI unterst tzt UTF 8 UTF 16 UCS 4 Auch alle anderen Zeichens tze die eine Untermenge von UCS 4 sind wie US ASCII ISO 8859 1 k nnen verwendet m ssen aber im Dokumentenprolog deklariert werden Imm2000 Dagegen m ssen UTF 8 und UTF 16 nicht explizit a
21. des Mappings auftritt denn es gibt nur zwei Tasten und eine gro e Anzahl von ao Typen die auf diese zwei Tasten abgebildet werden k nnen Die Sony und Palm Browser haben Softkeys d e direkt auf dem Display gezeichnet werden hnlich dem Button von den HTML Browser Dadurch wird eine unendliche Anzahl von Softkeys erm glicht Bei solchen Browser st der Typ der ao Elemente nicht relevant denn alle Typen werden gleich behandelt Relevant ist jedoch die Reihenfolge der In tialisierung Die Elemente die zuerst definiert werden erscheinen auch zuerst in der Karte Dabei gibt es drei M glichkeiten die ao Elemente im Quellcode zu platzieren 64 e unmitellbar nach dem ffnenden card Tag e unmitellbar vor dem schlie enden cara Tag e im template Element Dabei werden die Softkeys bei den ersten beiden Optionen genau dort visualisiert wo sie definiert wurden n mlich am Anfang oder an Ende einer Karte Die im Template definierten Sofkeys erscheinen ganz unten in der Karte Die Verwendung von Softkeys auf eine f r alle Ger te uniforme Weise ist aufgrund solcher Vielfalt der Implementierungen nicht m glich Eine L sung des Problems ist es sich auf einige wenige Typen zu beschr nken da viele Ger te maximal zwei Softkeys haben 4 3 3 Linklisten Linklisten sind Links die zu einer Gruppe unter einem Oberbegriff wie z B Option zusammengefasst werden Im einfachsten Fall k nnen die Linklisten als eine Aneinanderreihung von Link
22. die f r den Aufruf der Funktion validate und f r das Zur ckliefern der Auswertung und Anzeige im Browser verantwortlich ist 67 Die Funktion validate f hrt die eigentliche berpr fung der Zeichenkette durch und bedient sich weiterer interner Funktionen die z B nach bestimmten Zeichen suchen k nnen und die Anzahl der Vorkommnisse oder die Position des letzten Vorkommnisses zur ckliefern Der Vorteil von Skripten st dass man das Verhalten der Validierung unter Kontrolle hat und nach Bedarf anpassen kann Der Nachteil ist dass eine zus tzliche Datei heruntergeladen werden muss und somit die Auswertung bei der ersten Anwendung mit h heren Zeitaufwand verbunden ist 4 3 5 Textformatierungen Die Textformatierungstags werden von keinem der Endger te vollst ndig unterst tzt da nur eine geringe Anzahl von Schriftarten im Ger tespeicher vorhanden ist Au erdem werden die Textformatierungstags teilweise willk rlich auf die Schriftarten abgebildet so dass man nur durch das Testen der Ger te diese Zuordnung feststellen kann Da eine begrenzte Anzahl von Schriftarten vorhanden ist ist die Schachtelung von Tags nicht sinnvoll Au erdem ist das Ergebnis nur nach dem Test ersichtlich So kann man nicht sagen welches Ergebnis die Kombination lt i gt lt big gt Text lt big gt lt i gt liefert Andere weniger sinnvolle Kombinationen wie lt big gt lt small gt Text lt small gt lt big gt sollen vermieden werden obwohl sie l
23. die von dem Anwendungsentwickler bestimmte berschrift label anzeigt und von ihm belegte Funktion ausf hrt e Softkeys die auf Stimmenkommandos reagieren F r den Anwendungsentwickler bedeutet es dass er nicht vorhersehen kann ob die Funktion auf die er gerade aufbaut auch tats chlich von dem Endger t richtig verarbeitet wird Die Formulierungen der Spezifikation WML2000 sagen n mlich aus Athors must not assume that a user agent implements 53 3 7 Alternativen zu WAP Dienste und Technologien 3 7 1 HDML HDML Handheld Device Markup Language ist eine von Phone com entwickelte Sprache f r die Mobilger te R sch2000 die sehr stark im US Markt vertreten ist Au erdem sind die meisten datenf higen schnurlose Telefone mit HDML Browsern ausgestattet Alle WAP f higen Ger te die mit dem Phone com Browser arbeiten k nnen auch HDML Dateien anzeigen Die HDML Syntax basiert auf HTML und wurde als Alternative f r mobile Ger te entwickelt um die geringe Bandbreite und schwache Rechenleistung der Ger te zu kompensieren Durch die starke Akzeptanz von HDML wurde es als Vorbild f r WML genommen Phone com ist auch Mitglied des WAP Forums So unterscheiden sich die beiden Sprachen nur durch die Syntax von der Semantik her beruhen sie auf einem identischen Konzept Decks und Karten Events Variablen Die Anbindung des Mobilger tes ans Internet erfolgt analog zu WAP ber ein Up Link Gateway ein Phone com eigen
24. eines Clients der sowohl die URLs als auch die Seiten puffert und die Inhalte bei der R ckw rtsnavigation aus dem Speicher l dt Dabei sind keine zus tzlichen serverseitigen Mechanismen notwendig da kein Aufruf von Handlern mit Seiteneffekt bei der R ck w rtsnavigation stattfindet Client Server History Cinch hakata n Unechibarer Hamidler unsichtbaren oreate wml Akte msiihren Seite zH Verzechnas anlegen eerlenung T epante wul Zeite A Saibi Seite A Sichbarr Handler i darstellen i Bestahgumg senden UEL fii an e B eL Hitoy holen Aufruf einer p a Sachikaner Handler i s chlib ren Seile Seite B ee Seile B dansiellen 3 Seite RB S Umzichibsaner Haneller R ickw rtenavigabion o en ne Akon melih e nl Na zB Verzeichnis anlegen Weiterleitung un Serbe A PAE sachibarer Handler Seite A daalena qa Et a Best tignng seilen Abbildung 33 R ckw rtsnavigation ohne Pufferung von Seiten Die Abbildung 33 zeigt den Fall bei dem die Pufferung von URLs stattfindet Die Inhalte werden jedoch vom Server angefordert Dies hat zur Folge das eine alte URL wiederholt einen Handler mit Seiteneffekt aufruft mit der Konsequenz dass die Aktion noch mal ausgef hrt wird Client Ver History Cache Anfnfeiner _ Unsichtbarer Handler Jermer Counter unsichtixeren cete wulrc l IjAkhon awfiiiiren History Seite zB Verzeschmaanlegen Z hler ukrensenbeten und duch Subetitation einsetze
25. entsteht falls ein Siemens Endger t eine Kombination aus Link gefolgt von einem Eingabe Element darstellen muss Durch diese Kombination ist es nicht m glich auf den Link zuzugreifen Abhilfe schafft die Verwendung von p Tags d h die beiden Elemente m ssen innerhalb von verschiedenen p Elementen definiert sein was eine problemlose Navigat on zwischen den Elementen sichert Eine weitere Problemquelle ist die fehlende Unterst tzung der post Methode bei den S emens Endger ten Die Implementierung der get Methode beschr nkt die bergabe von Parametern durch die Begrenzung der maximalen L nge von URL Strings Nokia Ger te haben einen Fehler in der Implementierung der relativen Pfadangaben Beim Vorkommen eines Zeichens in dem Parameterteil des URL Strings also nach dem Fragezeichen kann nicht mehr relativ adressiert werden D h die Verwendung eines Abfragestrings der Form root test test_1 wml a test test_x wml 71 bringt die interne Implementierung der Linkverwaltung durcheinander so dass darauf folgende Linkaufrufe falsch ausgef hrt werden ernst ernst_1 wml Die Pfadangabe muss also relativ zum Root Verzeichnis des Servers erfolgen z B eine Referenz auf die Datei http wap test de root ernst ernst_1 wml MUSS als root ernst ernst_l uml gemacht werden und zwar unabh ngig von dem Ort der referenzierenden Date 4 3 11 Cache Verhalten Alle Ger te besitzen einen Cache Speicher dessen Verhalten sich mit meta A
26. gt lt p gt Bitte w hlen Sie lt select name 1 gt lt option value de gt deutsch lt option gt lt select gt lt br gt lt a href de myPortal languageSubmit wml s 5 s gsamp autolanguage tI gamp c ScounterS S gt Senden lt a gt lt br gt lt p gt lt do label Zur ck type accept gt lt prev gt lt do gt lt card gt lt wml gt lt do type prev gt lt prev gt lt do gt lt card gt lt card id c2 title Landessprache gt lt onevent type onenterforward gt lt refresh gt lt setvar name 1l value de gt lt refresh gt lt onevent gt lt p gt Bitte w hlen Sie lt select name 1 gt lt option value de gt deutsch lt option gt lt select gt lt br gt lt a href de myPortal languageSubmit wml s s samp autolanguage 1 gamp c ScounterS gt Senden lt a gt SDr gt lt p gt lt do type prev gt lt prev gt lt do gt lt card gt lt wml gt Tabelle 15 Gegen berstellung der Siemens und Nokia spezifischen WML Templates Bei der Gegen berstellung der f r verschiedene Ger te optimierten WML Templates wird es deutlich dass dieselben Funktionen mit Hilfe von verschiedenen Tags implementiert werden Um dem Anwendungsentwickler einen Leitfaden zu geben welche Elemente und wie er diese in WML Templates verwenden darf werden Richtlinien spezifiziert Diese Richtlinien schreiben unter anderem vor welche
27. ihre Bedeutung Auf der Mobilfunkseite kommuniziert das WAP Gateway mit dem mobilen Ger t mittels des WAP Stapels der die zu den im Internet eingesetzten komplement ren Protokolle nutzt Die WAP Anwendung wird auf einem Server der auch gleichzeitig eine Web Anwendung bereitstellen kann installiert Einige Konzepte des WWW wurden in das WAP Modell bernommen Dazu geh rt auch die Verwendung der URLs um die Inhalte auf dem Origin Server zu referenzieren Es werden auch MIME Types zur Unterscheidung der verschiedenen Datei Typen eingesetzt Au erdem besitzt WAP analog zum Web die Markup Sprache WML 26 eine clientseitige Skriptsprache WML Script und unterst tzt Bilder sowie andere Formate wie VCF und VCS auf die in Kapiteln 3 2 7 1 und 3 2 7 2 eingegangen wird Das dritte Glied n der Kette st das mobile Endger t oder auch User Agent genannt Dies kann sowohl ein mobiles Telefon ein PDA als auch ein Software W AP Emulator sein Die auf dem Markt befindlichen Ger te unterst tzen die WAP Version 1 1 die WML WMIsScript und WTA beinhaltet Au erdem k nnen die Ger te verschiedene herstellerspezifische Dateiformate verarbeiten wie z B Ericssons Klingelton Dateien N here Beschreibung der Endger te und deren Funktionen erfolgt in den n chsten Kapiteln 3 2 3 WML WML wurde entwickelt um den Beschr nkungen der mobilen Ger te und der Funknetze gerecht zu werden Diese Beschr nkungen beinhalten e Kleine Displays und
28. lt eard gt lt wml gt Die Funktionen die au erhalb der WMLScript Datei sprich Bibliothek aufgerufen werden sollen m ssen als extern deklariert werden An die Beispiel Funktion werden drei Parameter vom WMIL Browser bergeben Diese k nnten auch mittels der Funktion WMLBrowser getVar ausgelesen werden mit dem Nachteil dass der Funktion der Name der WMIL Variablen zur Entwicklungszeit bekannt sein muss Da es keine M glichkeit gibt die Werte in WML Script als R ckgabewerte an WML zu bergeben muss die WML Var able mit Hilfe der Funktion wMLBrowser setVar gesetzt werden Um den generischen Charakter der Funktion zu erhalten wurde der Name der WML Variablen der der R ckgabewert der Funktion zugewiesen wird als dritter Parameter an die Funktion foobar bergeben Der Aufruf der Funktion erfolgt mit Hilfe des href Attributes dessen Wert die Referenz auf WMLsScript Datei und die Funktion selbst enth lt Die Parameter die an die Funktion bergeben werden werden durch Kommata getrennt Falls der Wert der Variablen in derselben Karte angezeigt werden soll wird die Funktion wvmLBrowser refresh aufgerufen 43 3 2 6 WTA WTAI WTA User Agent st eine Erweiterung des normalen WAE User Agents oder WAP Browsers und bietet einige Telephonie Funktionen WTA ist in der WAP 1 2 Version spezifiziert kann jedoch von Endger ten mit WAP 1 1 Implementierung teilweise verwendet werden z B einige ffentliche Funktionen wie das Abse
29. lt td gt lt tr gt lt table gt Card 1112 21122 Abbildung 15 Tabelle Im Unterschied zu den HTML Tabellen sind einige Beschr nkungen hinzunehmen So ist keine Schachtelung von Tabellen m glich und die Zellen d rfen nicht zusammengefasst werden Die Zellen der Tabellen d rfen laut WAP Spezifikation sowohl einen formatierten Text als auch Bilder enthalten Au erdem kann eine berschrift durch das tit1e Attribut des table Tags der Tabelle zugewiesen werden 3 2 4 10 Bilder In WML stellen Bilder die einzige multimediale Komponente dar WML unterst tzt Bilder im eigenen WBMP Format WBMP ist ein Format f r Bilder das nur eine Farbtiefe von einem Bit hat also schwarz wei Bilder unterst tzt Mit Hilfe des img Tags werden Bilder in eine Karte eingebettet lt img src bild wbmp alt Bild localsrc bild1 gt Die wichtigsten Attribute des img Tags sind e Das src Attribut enth lt eine URL mit dem Dateinamen des Bildes e Der Wert des a t Attributs wird angezeigt falls die Anzeige der Bilddatei nicht m glich ist Dieses Attribut muss immer spezifiziert werden e Das 1ocalsrc Attribut gibt den Namen eines lokal definierten Bildsymbols an Falls das Endger t lokale Bilder unterst tzt und das Bild gefunden wird zeigt das Ger t das Bild an Andere Parameter wie vspace hspace align height width dienen zur Ausrichtung und Skalierung des Bildes werden aber nicht von allen Endger ten unterst tzt Bei der
30. mobilen Funktelefonen installiert und deinstalliert werden kann Es gibt folgende WAP Browser e AU System e WAP Man e KBrowser Es wurde der WAP Browser von AU System verwendet da die anderen Browser aufgrund der geringen Speichergr e des Palm Ger tes nicht lauff hig waren Abbildung 22 Palm m100 mit dem AU System Browser Die Eigenschaften des eingesetzten AU System Browsers sind folgende Alle br Tags werden ber cksichtig Die Softkeys erscheinen dort n der Karte wo s e definiert wurden Softkeys s nd als Buttons realisiert und werden direkt mit dem Stift aktiviert Die Cache Gr e kann eingestellt werden Tabellen werden unterst tzt Textformatierungen werden unterst tzt Der Titel wird nicht dargestellt Die Select Listen werden nicht in einer separaten Karte dargestellt 61 4 3 Unterschiede der WAP Implementierung der Ger te Dieses Kapitel beschreibt wie man den WML Code an verschiedene Ger te anpasst um ein bestimmtes Ziel wie z B die Anzeige eines Titels oder einer Linkliste zu erreichen Dabei werden die besonderen Merkmale in Bezug auf Benutzbarkeit erl utert Es wird aber auch auf die Fehler in der Implementierung der Ger te hingewiesen 4 3 1 Titel Die WMIL Spezifikation erlaubt das Verwenden des title Attributes bei vielen Elementen card select table input option anchor optgroup fieldset Die optgroup und fieldset Elemente werden von keinem der Ger te unterst tzt und wer
31. nicht umbelegt werden kann Falls man eine Vorgabe hat dass eine Seite bestimmte Softkeys mit einer Funktion und einem Label enthalten soll dann ist es nicht trivial dies auf verschiedenen Endger ten zu realisieren Der eine Grund daf r ist dass die Endger te verschiedene Anzahl von Softkeys mit unterschiedlichen Restriktionen n Bezug auf Label Vorgabe Funktion Belegung und Mehrfach Belegung von Softkeys mit dem gleichen Typ haben Der andere Grund ist eine sehr gro e Anzahl von Endger ten deren Verhalten erst nach dem Testen festgestellt werden kann Es ist in der WAP Spezifikation Version 1 1 kein Mechanismus vorgesehen der dem Entwickler eine M glichkeit gibt die Eigenschaften der Benutzerschnittstelle festzustellen Die Nokia Endger te haben zwei Softkeys die auf rechte und linke Tasten abgebildet werden Der Nokia 7110 hat zus tzlich ein Navigationsr dchen mit dem man durch das Drehen die Eintr ge aus einer Liste selektieren oder durch den Inhalt scrollen kann Durch das Dr cken auf das R dchen kann ein entsprechender Eintrag aktiviert werden Das Nokia 6210 hat eine entsprechende Einrichtung zum Navigieren die Auf und Ab Tasten Das Aktivieren der Eintr ge erfolgt bei beiden Ger ten ber die linke Taste ado Blemente vom Typ options werden in die Liste von ger teeigenen Optionseintr gen wie Cache leeren Lesezeichen etc eingereiht Diese Liste kann ber die linke Taste erreicht werden Es k nnen mehrere ao Eleme
32. s erm glicht Dies wird durch das Einsetzen neuer Modulationsverfahren erreicht was einen theoretisch dreifachen Kapazit tsgewinn gegen ber den konventionellen Verfahren mit sich bringt EDGE erlaubt 10 adapt ves Umschalten zwischen der neuen und alten Modulationsart da das neue schnellere Verfahren st rungsanf lliger ist 2 4 6 UMTS F r UMTS wird eine vollst ndig neue Infrastruktur ben tigt Diese Technologie wird die bertragungsraten von bis zu 2000 KBit s f r sich nicht bewegende und 384 KBit s f r sich bewegende Teilnehmer bieten 2 5 Mobiles Portal In diesem Kapitel werden die Anforderungen an die mobilen interaktiven Dienste sowie beschr nkenden Faktoren und Benutzbarkeitsaspekte beschrieben Die mobilen interaktiven Dienste sind von den vorhandenen Mobilfunknetzen Endger ten und von der Situation in der diese benutzt werden abh ngig Die heute blichen Netze haben eine typische Bandbreite von 9 6 KBit Sekunde und eine gro e Latenzzeit Die mobilen Ger te haben eine sehr geringe Rechenleistung minimale Speicherausstattung einen numerischen Tastatur und ein kleines Display mit einer geringen Farbtiefe Diese Beschr nkungen setzen den Rahmen f r den Entwurf eines Standards f r mobile Kommunikation wie WAP aber auch f r die Dienstentwickler Dar ber hinaus liegt es in der Verantwortung des Anwendungsentwicklers welche Inhalte bertragen und dargestellt werden Die Inhalte m ssen an die Situation in
33. tzten MIME Types enth lt ob es sich um einen W AP f h igen Client handelt Zum Festellen des genauen Ger temodells wird der useragent Header abgefragt und ausgewertet Leider ist das Format des useragent Header nicht genau spezifiziert so dass man kein allgemeing ltiges Verfahren zum Auffinden des Herstellernamens des Models und der Version verwenden kann um z B ein neues Ger t einer m glichst passenden Ger teklasse zuzuordnen Man kann jedoch mit Hilfe eines Mustwers die bekannten Herstellernamen und Modellbezeichnungen erkennen und die Ger te den Ger teklassen zuordnen s Kapitel 5 4 2 Um bei der Speicherung Redundanz zu vermeiden wird vom Server eine Fall Back L sung realisiert Auf die Implementierung dieses Mechanismus wird im Kapitel 5 4 5 eingegangen Die Unterschiede im ger tespezifischen WML Quellcode werden durch eine Gegen ber berstellung deutlich Das Beispiel zeigt den Unterschied zwischen zwei WML Dateien die an Nokia und S emens Ger te angepasst sind wobei die Bereiche mit einer bereinstimmung des Quellcodes durch den wei en Hintergrund und solche die den f r das jeweilige Ger t optimierten Quellcode enthalten durch den grauen Hintergrund hervorgehoben sind Siemens lt wml gt lt wml gt lt head gt lt head gt lt meta forua true content no cache lt meta forua true content no cache http equiv Cache control gt hetp egquive Cache control gt lt head gt lt head gt lt card
34. wMLBrowser refresh function validate strEmail var postionOfAt var BoOsLOL LONDTDOE if checkForcthar strEmail 1 return Nein DNIcht gerau ein Meichan if checkForChar strEmail lt 1 return Nein keine gefunden LESER IENOsT end serkmas tz Mer gt FirdhaselInd x Ortserkmait 22 return Nein vor dem Zeichen EF KELRdLAasL Index OF strema 9 93 2 String TenischtstrEnall 1 return Nein nach weniger als zwei Zeichen 1TA E1NdHasL Tndsx rtstrEna d Teyta lt SELInG lensth strEnarE return Nein nach mehr als drei Zeichen Tee IndLase lndexorftserkmail 2 93 8 Ser ing zaindi strkEman er return Nein zwischen und weniger als zwei Zeichen PEISCEPLNG TENdKSErEN a1 TEI 2 return Nein vor weniger als zwei Zeichen ret rn Ja die Email Adresse entspricht dem Format XIXON EI T function checkForChar str char var numberOfElements var numberOfDelimiters numberOfElements String elements str char numberOfDelimiters numberOfElements 1 return numberOfDelimiters function findLastIndexOf str char var i var tmp var length String length str tor 1 205 I lt length LFF ir ser1ngscharaAr etry achar tmp i return tmp Der Aufruf des Skriptes erfolgt ber einen Link Die Variable wird als nicht URL codierter Wert an die externe Funktion sena bergeben
35. wenn z B eine Karte auf einem fremden Server aus dem aktuellen Kontext heraus d h mittels eines Links angesprungen wird Die Variablennamen gen gen folgender Syntax o Svarname S varname o S varname modus Der Var ablenname wird an der Stelle wo sie vorkommen durch den Wert der Variablen ersetzt Die Variablen werden durch Benutzer ber WML Formulare Kapitel 3 2 4 7 oder mit Hilfe des setvar Tags zugewiesen lt setvar name varname value string gt Die Variablen k nnen innerhalb von go prev oder refresn Tags definiert werden Das Setzen erfolgt jedoch da es sich bei diesen Tags um die Tasks handelt Kapitel 3 2 4 3 erst beim Auftreten des entsprechenden Ereignisses 29 So beispielsweise wird die Variable die innerhalb der go Tags spezifiziert wurde erst dann mit dem neuen Wert belegt wenn der Link des go Tags aktiviert wurde Hier sind einige Beispiele die das Setzen der Variablen mit verschiedenen Methoden zeigen a Beim Aktivieren eines Links lt go href link gt lt setvar name varname value string gt lt go gt b Bei R ckw rtsnavigation lt prev gt lt setvar name varname value string gt lt prev gt d Beim Neuinitialisieren aller interner Zust nde inklusive der Benutzerschnittstelle lt refresh gt lt setvar name varname value string gt lt refresh gt Andere M glichkeit einer Variablen einen Wert zuzuweisen ist die Verwendung von verschiedenen Ei
36. zu bekommen bestimmte Dienste zu nutzen Die Verwaltung von Inhalten die von einem Content Management System zur Verf gung gestellt werden geh rt auch zum Funktionsumfang eines Portals Dabe soll es den autorisierten Nutzern erm glicht werden die Inhalte zu bearbeiten frei zugeben und zu sperren 4 Konfigurierbarkeit Das Portal soll ohne gro e nderungen am Kernsystem an die kundenspezifische Projektanforderungen angepasst werden Dazu geh rt sowohl die Anpassung und Erweiterung des Funktionsumfangs als auch die Anpassung der Benutzerschnittstelle also Design der grafischen Oberflache sowie der Anmelderestriktionen z B n Bezug auf Passwortl nge und Klein Gro schreibung von Anmeldenahmen 2 4 Technische Voraussetzungen f r mobile interaktive Dienste Die Entwicklung der Kommunikationsnetze befindet sich heute im Umbruch Es werden immer wieder neue bertragungsverfahren entwickelt und eingesetzt Diese Verfahren bauen teilweise auf bestehenden Technologien auf manche von denen erfordern jedoch eine vollst ndig neue Infrastruktur Dieses Kapitel befasst sich mit den technischen Hintergr nden die bei der Entwicklung von Standards f r mobile Kommunikation wie WAP ber cksichtigt werden m ssen Hier werden auch die neuen leistungsf higeren Standards vorgestellt 2 4 1 Grundkonzept der Mobilfunknetze Das Grundkonzept der mobilen Kommunikationsnetze Risch2000 beruht auf Zellen Metapher Das ganze Gebiet das ab
37. 3 6 1 MO nee esse eos 51 3 6 2 N CREIO oere E ee TE ee ee 52 3 6 3 Die Formulierung der WAP Spezifikation und hr Einfluss auf die kaple menueron sanieren 53 3 7 Alternativen zu WAP Dienste und Technologien ssseecoossssssceceoossssscceoossssssee 54 HONI ern a A A 54 3 1 2 Mod ee ee 54 ITS Channie oasian E E E EA 55 3 7 4 WEeDEhppins Architecl r 2a ee im 55 4 ENDGER TEBESCHREIBUNG ununansennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnannnn 56 4 1 Allgemeine Beschreibung der verwendeten Ger te eeeescssssceccocssssccceecssssseeeoo 56 4 2 bersicht ber verwendete Ger te scssesesssnsnsnenensnnenenenenenensonennnenenennenennnnnenensnnenne 57 4 2 1 Nokia 7 Ve ee ee 31 4 2 2 NOKT OZI O ee een 58 4 2 3 SIEH LE E E EA A A E EEE EAE E A A AE ER EAEE A E 59 4 2 4 OMC MD A nee are 60 4 2 5 Pam m WW anne 61 4 3 Unterschiede der WAP Implementierung der Ger te 0 0 ssssssssssuuuu000000000000 62 4 3 1 A In NIEREN EIERN NR EEE BEER EN E IR NE OI EE E A E ICE URN TS 62 4 3 2 S E r same ee ee E E A T 63 4 3 3 Emkhste niren Ea E OE EEO E OIO 65 4 3 4 Texteinsabe 9213 Paramele due en 65 4 3 5 Lextlormatierunsenssat eek 68 4 3 6 ZEIENUNDEICH ee a E N TA 68 4 3 7 Aus wani e Messe a esse 69 4 3 8 Tabell Deere a 69 4 3 9 Bilder u 0er Lee 70 43 10 LINKS nee aaa 71 23511 Cache Vernie Misgi 72 4 12 Deckstobenbeschrankunsssse nenne ae ae 12 4 4 Ergebnisse der Problemanalyse ssssssseccc
38. Bilder werden nur von einigen Ger ten angezeigt und es wird teilweise auf den alternativen Text ausgewichen oder der img Tag wird ignoriert 4 3 9 Bilder Alle hier behandelten Ger te unterst tzen Bilder im WBMP Format Die Bilder k nnen sowohl im Text als auch mit einigen Einschr nkungen in Tabellen Links und sogar theoretisch als Softkey Labels verwendet werden Die Unterst tzung der Bilder n Tabellen wird m Kapitel 4 3 8 behandelt Auf die Verwendung der Bilder n Links w rd m Kapitel 4 3 10 eingegangen Das Nokia 6210 erm glicht das benutzerdefinierte Abschalten der Bildunterst tzung d h anstelle des Bildes wird der alternative Text angezeigt Es g bt einige Beschr nkungen bzgl der Bildgr e n Bildpunkten Das Nokia 7110 kann die Bilder nur bis zur Gr e von 96x44 richtig verarbeiten Die Breite der Bilder darf beim Nokia 6210 nicht mehr als 96 Bildpunkte betragen und falls das Bild die Bildschirmh he berschreitet kann gescrollt werden Bei Sony Ger ten k nnen die Bilder die Bildschirmgr e bersteigen nicht dargestellt werden Au erdem gelten f r die Ger te die Dateigr enbeschr nkungen die beachtet werden m ssen Das Nokia 7110 hat abh ngig von der Software Version beim Auftreten der Kombination von setvar und img Tags n einer Karte folgendes Verhalten s auch Kapitel 5 3 3 5 70 e Die Karte wird richtig verarbeitet e Es wird eine Fehlermeldung ausgegeben e Das Endger t st rzt ab
39. Clients verwendet wird und den alten Z hlerstand hat Man kann durch den Vergleich des serverinternen Wertes mit dem Wert aus dem Anfrage String feststellen ob die Anfrage aus dem History Speicher des Clients kommt oder mittels eines Links erfolgt Der Sachverhalt ist ist im Kapitel 5 4 8 verdeutlicht 93 Der Z hler wird bei dem ersten Aufruf der Startseite vom Server neu initialisiert und bei jedem weiteren Aufruf einer Seite inkrementiert und mittels Substitution als Parameter in jede URL dieser Seite eingesetzt 5 4 8 Detektieren der R ckw rtsnavigation nach dem Aufruf einer Seite mit Seiteneffekt Alle Endger te verf gen ber einen Seiten Cache in dem WMIL Seiten gespeichert werden und eine URL History die die aufgerufene URL Eintr ge speichert Dies erm glicht das clientseitige Speichern von WMIL Seiten und einen schnellen Zugriff auf diese Seiten ohne dabei die Anfrage an den Server zu senden Doch einige Ger te z B Nokia 7110 und 6210 unterst tzen zwar den clientseitigen Cache jedoch wird die Seite bei R ckw rtsnavigation vom Server angefordert Dies hat Auswirkungen falls die WML Seite die vorher aufgerufen wurde seiteneffektbehaftet st Die Seite w rd nochmals aufgerufen und die Aktion wird wiederholt Die Auswirkungen reichen vom wiederholten Anlegen eines Verzeichnisses bis zu einem Versuch des Entfernen eines bereits gel schten Verzeichnisses Deswegen wird vom nfoAsset Broker ein Mechanismus implementiert
40. Die URL Parameter wie Id des Unterverzeichnisses werden eingelesen Alle Dokumente des Unterverzeichnisses werden eingelesen 4 Die Listensubstitution wird durchgef hrt d h der Platzhalter wird durch die Liste ersetzt gt 19 5 Alle anderen Substitutionen werden durchgef hrt unter anderem auch die Session Id und andere Statusinformationen eingef gt 6 Die fertige Seite wird an den Client gesendet Im Falle einer unsichtbaren Seite wird kein Template substituiert sondern es wird eine Aktion ausgef hrt Diese Akt on kann z B das Anlegen eines neuen Benutzers oder L schen eines Dokumentes sein Nach einer Aktion wird eine Weiterleitung aktiviert Dies ist gleichzusetzen mit dem internen Aufruf einer sichtbaren Seite Die Abbildung 10 zeigt den Unterschied zwischen dem Aufruf einer sichtbaren und einer unsichtbaren Seite Client Server Aufruf einer Seite Unsichtbare Seite Ha ndler Aufruf und Parameter bergabe l Parameter Extraktion 2 Akt on z B Anlegen eines Verzeichnisses 3 Optionale Parameter setzen 4 Weiterleitung durch internen Handler Aufruf S chtbare Seite Handler Aufruf sichtbar NS RE te l Parameter Extraktion u 2 Template laden Empfang und ER Darstell ner Seit 3 Substitution arstellung einer Seite i amp 4 Fertige Seite an den Client senden Abbildung 10 Handler Die Programmlogik entsteht dadurch das der Benutzer auf der Seite die er vor sich hat eine Auswa
41. Elemente und Attribute f r welche Endger te verwendet werden und wie Session Tracking realisiert wird Eine Beschreibung der Richlinien wird im Kapitel 5 4 9 vorgenommen Der Entwicklungsaufwand ist im Vergleich zum generischen Ansatz sehr hoch Bei einem aus M Dateien bestehenden Dienst und N Ger ten f r d e jedes der M Dateien optimiert wird entsteht der Aufwand O M N Genauso gro ist der Speicherungs und Pflegeaufwand 5 2 3 Automatische Generierung Nach dem die Ger te zu Klassen zusammengefasst und die signifikanten Unterschiede im Quellcode festgestellt worden sind soll eine Strategie zur automatischen Generierung von WMIL Seiten entwickelt werden Der infoAsset Broker unterst tzt inc1ude Substitution d h man kann die Platzhalter die eine URL s urrs enthalten durch WML Code Fragmente die in einer externen Datei vorliegen ersetzen Diese Datei kann auch alle vom Broker unterst tzten Substitutionsarten Kapitel 2 8 2 enthalten Diese M glichkeit erm glicht d e Code Fragmente die bei vielen Seiten gleich sind in eine externe Datei auszulagern Dadurch wird der Pflegeaufwand reduziert da die inc1ude Datei nur einmal modifiziert werden muss Eine weitere weitaus flexiblere M glichkeit die ger teoptimierten WML Seiten zu generieren ist XSLT Da WML eine XML Applikation ist liegt die Wahl dieser Methode nahe Es muss eine ger teneutrale WML Seitenbeschreibung spezifiziert werden die mittels XSL und XSLT in die ger
42. Endger teunabh ngige Realisierung von interaktiven Client Server Anwendungen am Beispiel eines integrierten Web und WAP Portaldienstes Diplomarbeit von Rudolf Bartel Technische Universit t Hamburg Harburg Elektrotechnik Technische Informatik Gutachter Prof Dr Florian Matthes Zweitgutachter Prof Dr Ing Rolf Rainer Grigat Betreuer Dipl Inform Holm Wegner Technische Universit t Hamburg Harburg Arbeitsbereich Softwaresysteme Inhaltsverzeichnis 1 SEINEEITUNG ea ae ee 1 1 1 Hintergr nde und Motivation 1 1 2 Zuel der ArDeit een eek 1 1 3 GlEdErFUNP zu A R 2 2 ARCHITEKTUR MODELL UND FUNKTIONSUMFANG EINES PORTALS 3 2 1 Bestehende Internet Technologien sssseessssssssssssssssssssssnnnnnnnnnnnnssssssssssssssssnnnse 3 2 2 Architektur eines Web PortaB ae ns ar aka 6 2 3 Anforderungen an den Funktionsumfang eines Web Portals 0s000000000 8 2 4 Technische Voraussetzungen f r mobile interaktive Dienste ssssssssssssesssess 9 2 4 1 Gr ndkonzept der Mobulfunknetzea a na n 9 2 4 2 GSM 2 ee en ee Ne 10 2 4 3 HSC Diesen euere 10 2 4 4 GERISSEN a EIERN 10 2 4 5 EDGE ee ee un een ee 10 2 4 6 UMTS en nenne 11 2 5 Mopiles Portales seiis a aba u 11 2 6 Ger teunabh ngigkeit am Beispiel von WAP ssseecsoossseceeocccsssscceeoccossssceceoossoe 11 2 7 Bestehende L 05ungen ar 14 2 7 1 Portal GG eine essen saugen 14 2 1 2 Prism VON SPY lass een een 15 2 TRANS WA Pera ee ae ee
43. Mark Up Sprache die keine Mechanismen enth lt um die sichtbaren Elemente genau auf dem Display zu platzieren Au erdem w rden die kleinen Displaygr en keine gew nschten Ergebnisse zulassen da die grafischen Elemente wie z B lange Texte oder gro e Bilder gr enm ig der Displaygr e nahe kommen oder diese sogar bersteigen e Alle Ger te haben unterschiedliche Benutzerschnittstellenelemente deswegen ist es nicht m glich bei dem Entwurf einer Anwendung vorherzusehen wie sie auf einem neuen Ger t aussehen bzw bedient werden e Fine gute Benutzbarkeit ist schwer zu erreichen da der WAP Standard keine Implementierungsdetails vorschreibt an die sich d e Ger tehersteller halten m ssen bzw es gibt kein Mechanismus der die Eigenschaften der Benutzerschnittstellen implementierung und anderen Ger teeigenschaften beschreibt die f r die Anwendungsentwicklung notwendig sind 32 e Der Standard definiert sehr oft Elemente und verweist den Anwendungsentwickler darauf dass die Endger te diese Elemente nicht unterst tzen m ssen e Viele Hersteller implementieren die Minimall sung also nur die Elemente die in der WAP Spezifikation als Pflicht definiert sind e Man wei nicht genau ob und wie bestimmte Elemente implementiert sind Die dadurch entstandene Situation ist der Situation hnlich die zwischen Netscape und IE herrscht doch sie st viel komplizierter da sehr viele Ger te auf dem Markt vorhanden sind e Da
44. PE10n gt lt select gt lt select name name2 value value2 multiple true gt lt pt1on values choicel gt Titel I lt optish gt lt OptE on valtes choice2 gt Titel 2 lt 8 0pPL101 gt lt select gt lt p gt Tabelle 23 Definition der Auswahllisten Soll eine Mehrfachauswahlliste definiert werden wird der Wert des multiple Attributes auf true gesetzt Andernfalls wird das multipie Attribute ausgelassen 5 3 3 5 Bilder Bilder werden WML konform verwendet Es soll immer ein alternativer Text vorhanden sein falls z B die Bildanzeige vom Benutzer ausgeschaltet wird WMI lt img src de skin images documentl wbmp alt text gt Endger te Tabelle 24 Einbetten eines Bildes Will man das gleiche Erscheinen der Bilder auf allen Endger ten erzielen so werden zus tzliche br Tags eingef gt In diesem Fall ignorieren die Nokia Ger te die berfl ssigen pr Tags und erzeugen keine Leerzeilen WML Zeile 1 End lt br gt lt img src de skin images documentl wbmp alt text gt n gerate lt br gt Zeile 3 Tabelle 25 Uniforme Darstellung der Bilder auf verschiedenen Ger ten Nokia 7110 darf die Elemente zum Setzen einer Variablen und das Anzeigen eines Bildes auf der gleichen Karte nicht enthalten s Kapitel 5 3 3 5 wie das folgende Beispiel zeigt lt card id c1 title Willkommen gt lt onevent type onenterforward gt lt refresh gt lt setvar name s value SsessionId S gt lt refre
45. Passw rter und andere Informationen ausspioniert werden Hier ist ein Beispiel das die Abfrage der gleichnamigen Variablen passwort vom Fremdserver verdeutlicht lt card id deckl_cardl1 gt lt input name passwort gt lt card id deck2_card2 gt lt a href http fremdserver main wml gt Fremder Server lt a gt Die main wm Datei auf dem Fremdserver lt card onenterforward lese_password wml Spasswort gt lt card gt Deswegen sollten alle s cherheitsrelevanten Variablen vor dem Aktivieren der Links zum fremden Server entweder berschrieben oder gel scht werden Die beiden Beispiele verdeutlichen die L sungen des Problems 1 Entfernen aller Variablen aus dem Speicher lt card newcontext true gt lt a href http fremdserver main wml gt Fremder Server lt a gt 2 Setzen bestimmter Variablen auf nicht relevante Werte lt go href http fremdserver main wml gt lt setvar name passwort value gt lt go gt 49 3 5 User Agent Profile Die WAP Version 1 2 verwendet RDF UAPROF und RDF2000 das Resource Definition Format zum Beschreiben der Ger teeigenschaften RDF ist eine XML Anwendung und dient zur Beschreibung von verschiedenen Internet Ressourcen Das WAP Forum hat RDF adoptiert und an WAP angepasst Es wird als UAProf bezeichnet Eine WML Date kann beim Herunterladen eine Referenz auf die UAProf Datei liefern Der WAP Server kann UAProf vom Hersteller Server herunterladen Die UAPro
46. Protokolle Nicht gesichert verbindungsorientiert WSP WTP WDP Gesichert verbindungsorientiert WSP WTP WTLS WDP Gesichert verbindungslos WSP WDP Nicht gesichert verbindungslos WSP WTLS WDP Tabelle 2 Verschieden Arten von Verbindungen in WAP Durch das Schichtenmodell des WAP ist es m glich eigene Anwendungen zu entwickeln die au erhalb von WAP Spezifikationen liegen und dort auf einer der Schichten aufsetzen die am besten f r die Anwendung geeignet ist Die Transportschicht beinhaltet die Schnittstelle zwischen WDP und dem Mobilfunknetz Als Tr gernetz kann jedes der heute vorhandenen digitalen Mobilfunknetze eingesetzt werden Somit ist WAP auch f r zuk nftige Netztechnologien ger stet da nur die Transportschicht an die neuen Netze angepasst werden muss WAP unterst tzt folgende Tr gernetztechnologien wie GSM GPRS HSCSD SMS CSD CDPD etc Der User Agent beinhaltet in der Anwendungsschicht beschriebene Komponenten wie WTA WML und WMLScript und andere ger teherstellerspezifische Funktionen User Agent implementiert eine Zustandsmaschine History Cache und verwaltet Variablen auf WML Ebene Die Verwendung von History und Cache wurde von HTML bernommen Dar ber hinaus bieten die Variablen einen zus tzlichen Mechanismus um den Client Status zu verwalten Mit WML Script und WTA wird das Spektrum der m glichen Anwendungen stark erweitert Diese bieten die M glichkeit die Daten cl entseitig zu verarbeiten und die Telefon
47. Servers der als Vermittler zwischen dem Client und dem Applikationsserver dient oder aber auch als integraler Bestandteil des Applikationsservers realisiert werden Die n chste Schicht ist f r die Anwendungslogik und dynamische Generierung von Inhalten zust ndig Die dynamische Generierung von Inhalten kann z B als XSLT oder auch als Substitution von Platzhaltern in vorgenerierten Seiten implementiert werden In einer Web basierten Anwendung wird die Anwendungslogik auf der Cleint Seite durch Links realisiert Die Links enthalten Parameter die in dieser Schicht ausgewertet werden wodurch verschiedene Aktionen ausgef hrt werden k nnen Als Reaktion auf Anfragen die als Parameter die internen Zust nde des Cl ents enthalten kann eine serverseitige Verarbeitung stattfinden und eine Seite mit bestimmten dynamisch generierten Inhalten an den Client gesendet werden Die Session Verwaltung ist die Schicht die f r die Authentifizierung der Benutzer gegen ber dem System Identifizierung der Clients w hrend einer Sitzung Verwaltung und Synchronisation der Clientzust nde sowie Feststellen und Verwalten des Cl ent Typs zust ndig ist Die Authentifizierung des Benutzers kann durch die Anmeldung im System mittels Eingabe des Passwortes und des Benutzernamen oder auch durch andere Mechanismen wie Fingerabdruck Scan Chipkarte etc erfolgen Die Identifizierung der Clients wird f r die Dauer einer Sitzung bei jeder neuen Anfrage auch als Sess
48. Substitution Datei mit zwei Platzhaltern die substituiert werden Dass ist eine einfache Substitution Ssimple Und das ist eine Bedingte Substitution S ceond If Zweig cond S Else Zweig Scond Dabei wird der Platzhalter simp1es durch den vom Server vorgegebenen Inhalt ersetzt Die Anweisungen der letzten Zeile enthalten die Platzhalter der bedingten Substitution bei der je nach Erf llung einer Bedingung die serverseitig ausgewertet wird der If Zzweig oder der Else Zweig eingeblendet werden wobei innerhalb eines der Zweige andere Arten von Templates enthalten sein d rfen 2 8 3 Handler Die Handler bilden zusammen mit den Templates die Anwendunsgslogik Beim Aufruf einer Seite k nnen folgende drei F lle eintreten e Es wird eine unsichtbare Seite aufgerufen e Es wird eine sichtbare Seite aufgerufen e Es wird eine statische Seite aufgerufen Bei Aufruf einer Seite ob sichtbar oder unsichtbar wird ein Handler aufgerufen Der Handler wertet die Parameter aus die mit der Anfrage von dem Client gesendet werden und f r die Verarbeitung notwendig sind l dt das Template und f hrt die Substitution aus mit den Werten die sich aus der Verarbeitung ergeben haben Zum Beispiel kann der Handler bei der Anfrage einer Seite die eine Liste der Dokumente in einem Unterverzeichnis zeigen soll folgende Schritte durchlaufen 1 Das Template das f r die Darstellung der Listen von Dokumenten zust ndig ist wird geladen 2
49. Telecommunications System ist die 3 Generation des GSM Standards und erlaubt eine breitbandige Mobilkommunikat on bis zu 2 MBit Sekunde MTR2000 User Agent UA ist ein Endger t der einen WAP f higen Browser implementiert Ein UA kann auch ein Programm sein das auf einem PC l uft wie z B ein Emulator User Agent Pofile UAProf ist ein im WAP Standard spezifiziertes Schema das die Charakteristika der mobilen Ger te beschreibt WAP Wireless Application Protocol ist ein offener hersteller bergreifender Standard f r die Entwicklung drahtloser IP Dienste und erm glicht eine Kommunikation zwischen mobilen Kommunikationsger ten Mobiltelefon PDA Pager und Internet Anwendungen WAP ist unabh ngig von der zur bertragung verwendeten Netztechnologie GSM GPRS UMTS und somit sehr gut skalierbar und zukunftssicher MTR2000 WAP Gateway ist ein Server der das Internet und das Funknetz verbindet Das WAP Gateway kann auch zus tzliche Funktionen bernehmen wie z B das Umwandeln von HTML Seiten in WML Herausfiltern oder Konvertieren von Grafiken etc WBXML WAP Binary XML ist ein Format der zur bertragung von XML Dokumenten ber die Mobilfunkstrecke eingesetzt wird Durch die Umwandlung wird die Dateigr e und dadurch die Wartezeit beim Download reduziert WML Wireless Markup Language ist eine im W AP Standard spezifizierte Markup Sprache hnlich HTML die auf XML basiert Sie wird zur Darstellung von Inhalten a
50. Visitenkarten Date lt a href termin vcs gt Ihr Termin lt a gt F r die Verwendung dieses Dateityps soll sowohl der MIME Type text x vCalender auf dem Server eingerichtet als auch vom User Agent unterst tzt werden Es wird von dem User Agent accept Header gesendet der die Zeichenkette text x vCalenader enth lt falls er die Kalender Dateien unterst tzt Hier ist eine Beispiel Datei die einen Termin definiert BEGIN VCALENDAR VERSTON S TU BEGIN VEVENT CATEGORIES MEETING STIATUS2TENTATIVE DTSTART ZO010404T183000Z 46 DTEND 20010404T2330002 SUMMARY my birthday party DESCRIPTION this is the day I m getting older CLASS PRIVATE END VEVENT END VCALENDAR 3 2 7 3 Klingelt ne Klingelt ne k nnen von einigen Endger ten z B Ericsson heruntergeladen werden Die Vorgehensweise beim Einbetten von den Klingeltondateien in WML ist die gleiche wie bei Visitenkarten und Kalender Dateien lt a href klingelton mel gt Klingelton laden lt a gt Der MIME Typ ist text x vmel Endger te anderer Hersteller unterst tzen diese Methode nicht Es besteht aber die M glichkeit Klingelt ne per SMS oder spezielle WML Script Funktionen zu laden 3 3 Push Die Push Technologie wurde in der WAP Version 1 2 PUSH99 und Areh2000 spezifiziert Push erm glicht die Daten auf den Client zu laden ohne eine Anfrage an den Server zu senden Das Push Framework beinhaltet Protokolle die notwendig sind um die Daten vom Init
51. WMLPLUS lt do type prev gt Ignoriert lt do gt Tabelle 26 R cksprung Implementierung 5 3 4 2 Option Softkey Kartenorientierte Navigationsunterst tzung Ein weiteres dao element vom Typ options enth lt die Referenz auf eine Karte die eine Reihe von weiterf hrenden Links also ein Navigationsmen enth lt Es sind typischerweise Standardoptionen z B Home Landessprache Abmelden Registrieren etc Wird ein Navigationsmen mehrfach verwendet so kann es auf ein separates Deck ausgelagert werden Im Falle dass nur ein Teil des Navigationsmen s gleich bleibt und ein anderer von der referenzierenden Karte abh ngt also kontextabh ngig ist k nnen die include Platzhalter eingesetzt werden um einen WML Fragment der in einer Textdatei vorliegt in eine WML Seite textuell einzubinden Die inciude Date kann ihrerseits alle vorhandenen Substitutionsarten enthalten Die Tabelle zeigt die Definition eines opt ion Softkeys 84 Nokia lt do type options label 0ption gt lt go href ZielURL gt lt do gt Alle sonstigen Endger te und lt q0 type options label Option gt lt go href ZielURL gt lt do gt WMLPLUS Tabelle 27 Implementierung des Option Softkeys Das Plus Zeichen bei Nokia Ger ten dient dazu den Eintrag optisch von den ger teeigenen Eintr gen hervorzuheben Aufgrund der Begrenzung der Sofkey Anzahl bei den meisten Ger ten auf zwei wird auf die Unterst tzung von weiteren type A
52. WXML Format konvertiert und k nnen zum Cache Zweck auf dem WAP Gateway gespeichert werden 3 6 Diskussion des Standards aus der Sicht des Anwendungsentwicklers 3 6 1 Vorteile Das WAP Forum hat sich bei der Entwicklung des Standards bem ht auf den bestehenden Strukturen und Standards des Internets aufzubauen So wurden viele Elemente von HTML insbesondere die Verwendung des URI Konzepts um WML Seiten oder andere Ressourcen wie Bilder WML Script Dateien oder andere Dateien zu referenzieren in WML bernommen Durch das URI Konzept ist eine einfache Anbindung der ger tespezifischen Funktionen sowohl in WML als auch in WML Script z B Kalender Visitenkarten etc m glich D h der Anwendunssentwickler referenziert die entsprechende Datei und der User Agent bernimmt nach der Aktivierung des Links die weitere Verarbeitung des Inhaltes dieser Dateien Es wird z B beim Abrufen einer Kalenderdatei ein entsprechender Eintrag im Terminplaner des mobilen Telefons vorgenommen Von der Semantik her ist WML auch sehr stark an HTML angelehnt d h es gibt viele Elemente in WML die auch in HTML vorhanden sind Links Bilder Tabellen Eingabefelder und Auswahllisten etc Durch neue Elemente die nur in WML vorhanden sind wie Ereignisse Variablen und Softkeys wird eine Anpassung an die spezifischen Eigenschaften von mobiler Kommunikation wie knappe Netz Rechenkapazit ten und beschr nkte Benutzerschnittstellen durchgef hrt So sind durch die
53. Web Servers nicht braucht weil z B die zu entwickelnde Web Anwendung nur wenige HTTP Methoden wie get und post nutzt kann der Web Server in die Anwendung integriert und in derselben Programmiersprache wie die Anwendung selbst entwickelt werden 2 2 Architektur eines Web Portals In diesem Kapitel wird das Modell eines interaktiven Dienstes beschrieben der in Form eines Portals realisiert wird also einer Web Anwendung die verschiedene Web Dienste unter einer Oberfl che vereint Das Modell eines interaktiven Dienstes baut auf bestehenden Technologien wie Internet Client Server und Mehrschicht Architektur auf Eine Portal Anwendung kann zudem ein Bestandteil eines gr eren verteilten Systems sein in dem Datenbanken Kontenmanagementsysteme Shopping und Billing Systeme Unified Messaging Systeme integriert sind Mit steigender Komplexit t der Anwendung ist es wichtig diese in logische Bestandteile zu gliedern und zu beschreiben Genauso wie das Internet sich in einem Schichtenmodell beschreiben l sst kann auch die Architektur einer Web basierte Anwendung als Schichtenmodell dargestellt werden Dabei h ngt die Anzahl der Schichten davon ab wie komplex die Anwendung ist Durch die Verwendung der n tier Architektur kann man ohne zus tzlichen Mehraufwand die jeweilige Schicht der Anwendung anpassen um z B die Benutzerschnittstelle zu gestalten ohne die darunter liegende Anwendunsslogik zu ver ndern oder die verschiedenen Speicherun
54. altung wird eine clientseitige Variable verwendet die bei dem Aufruf der ersten Seite vom Server in tial siert wird WMIL Endger te lt onevent type onenterforward gt lt refresh gt lt setvar name s value Ssessionid gt lt refresh gt lt onevent gt und WMLPLUS Tabelle 18 Sitzungsverwaltung Setzen der Session Id Dieser Code Fragment wird als erster direkt nach dem ffnenden cara Tag platziert Alle Links m ssen einen s s s String enthalten der die Session Id mittels des URL Parameters an den Server bergibt WML Endger te lt a href lt ZielUr1 s s gt und WMLPLUS Tabelle 19 Sitzungsverwaltung bergabe der Session Id an den Server Dabei wird die WML Variable ss als sss in einem infoAsset Broker WML oder WMLPLUS Template verwendet s wird bei der Substitution durch ersetzt Die Links die eine Karte innerhalb eines Decks oder au erhalb des eigenen Servers aufgerufen werden bed rfen des Parameters s nicht da keine Kommunikation mit dem infoAsset Broker stattfindet 5 3 3 2 Links Der nfoAsset Broker unterscheidet zwischen den Einzelllinks und den logisch zusammengefassten Links den Linklisten Die Linklisten werden verwendet wenn eine Seite wie z B anonymous wm1 eine konstante Konstellation von Links enth lt Einzellinks werden dann verwendet wenn die Anzahl der Links n einer Liste zur Entwicklungszeit nicht bekannt ist d h wenn die Links dynamisch verwaltet werden wie
55. apitel 3 2 4 7 behandelt 3 2 4 6 Templates Templates bieten die M glichkeit Sofkeys oder Ereignisse global f r alle Karten eines Decks zu definieren Es k nnen innerhalb einer Karte zus tzliche Softkeys und Ereignisse definiert oder die im Template definierten Elemente berschrieben werden So kann z B der noop Task dazu verwendet werden die im Template definierten Tasks auf der Kartenebene auszublenden Template wird am Anfang des WML Decks au erhalb der cara Elemente definiert Das folgende Beispiel zeigt einen Softkey der f r das ganze Deck also f r beide Karten im template Element initialisiert wird lt wml gt 34 lt template gt lt do type prev label Zur ck gt lt prey gt lt 40 gt lt template gt scard LO eardal ZIEISSIEBFEtE Card T gt rss lt card id card2 title Zweite Card gt aan lt wml gt Ein wichtiger Aspekt ist das Ausblenden oder berschreiben der im Template definierten Elemente Dieses wird auch als Shadowing bezeichnet Man unterscheidet zwischen dem Card Level und dem Deck Level Das Card Level hat eine h here Priorit t Ein Element das innerhalb einer Karte definiert wurde berschreibt die Deck Level Definition Ein Card Level onevent Element berschreibt ein Deck Level onevent Element falls beide dasselbe type Attribut haben Ein Card Level ao Element berschreibt ein Deck Level ao Element falls sie den gleichen name Attribute haben N chstes Beispiel z
56. ationen vom System gespeichert werden Nach der Registrierung wird die Seite welcome wm aufgerufen und der Benutzer kann die WAP Dienste als angemeldeter User nutzen Die von Web nach WAP portierten Dienste sind Sammelmappen Verzeichnis und Dokumenten Verwaltung Dabei k nnen die im Web Portal angelegten Dokumente im WAP Portal zu den Sammelmappen ber den Linkaufruf auf der Karte Verzeichnisoptionen hinzugef gt und aus den Sammelmappen ber den Aufruf der Seite Personalisieren in personalize wml entfernt werden Es k nnen au erdem auf Personalisieren Seite neue Sammelmappen generiert und vorhandene umbenannt werden directory wml stellt die Verzeichnisstruktur mit den s ch darin befindlichen Dokumenten dar Dabei kann durch die Verzeichnisbaumstruktur navigiert werden Die in Verzeichnissen gespeicherten Dokumenten k nnen abgerufen und dargestellt werden sofern es sich um die WML oder andere von den WAP Ger ten unterst tzten Inhalte handelt Die Abbildung 25 enth lt die WMIL Seiten die einen Teil der WAP Portalerweiterung darstellen LOG ne Benutzer anonymous wml anonymous wml c2 d registration wml g Tapi a Sarmmenlichyen iE welcome wml Vorname Nachname EMail lA Options gt 8 gt 3 Sammelmappe portfolio wml Seite 1 von 3 pub j Pfad ais Keine Dokumente directory wml Neue Sammelmann Options oo 8 Harma 2 Verzeichnisoptionen_ Lini au
57. ationsseite zu bergeben Verwendung des tit1e Attributs bei a und anchor Tags hat folgende Auswirkungen Bei Siemens wird Titel als Label des Softkeys angezeigt wenn der Link selektiert wird ohne title Attribut wird der Text Link angezeigt Nokia Sony und Palm ignorieren das title Attribut Au erdem unterst tzt Siemens das title Attribut im option Tag Der Titel erscheint dann hnlich wie bei Links als rechter Softkey wenn die Zeile mit den opt ion Tag Definition selektiert wird 62 Nokia zeigt den Titel des select Tags n der Titelzeile an w hrend die Eintr ge Select Liste berarbeitet werden Die Unterst tzung von title Attributen anderer Tags erscheint f r die Implementierung von interaktiven Anwendungen irrelevant und kann durch Text vor dem entsprechenden Element ersetzt werden 4 3 2 Softkeys Die Softkeys werden von den Endger ten auf verschiedene Art und Weisen realisiert e als Schaltfl chen auf einem Touchscreen e als Schaltfl chen auf einem Bildschirm die durch unterschiedlich realisierte Steuereinrichtungen wie z B jog dial R dchen selektiert und aktiviert werden k nnen oder e als physikalisch vorhandene Kn pfe mit Label der auf dem Bildschirm ber dem Knopf selbst erscheint Die Funktion die mit Hilfe der Softkeys ausgel st werden kann kann normalerweise auch frei vorgegeben werden Es gibt aber Ausnahmen wie z B Tasten die einen aufgedruckten Label haben oder Softkeys deren Funktion
58. auf ben tigte Informationen ist berall und stets gegeben sofortige Reaktion auf Ereignisse s tuationsbezogene Dienste w e Staumeldungen s nd stets aktuell zur Hand Mit der Entwicklung ortsbezogener Dienste kann man auch die Informationen an den Ort binden an dem sich gerade derjenige befindet der die ben tigte Information abfragt Unified Messaging erlaubt z B das Umleiten der Informationen aus einer E Mail auf ein Faxger t Die Nachteile des Standards liegen zu einem in der Natur der mobilen Ger te selbst zum anderen in technologischen Schranken s Kapitel 2 4 Die GSM Netze haben sehr geringe Bandbreite von 9 6 KBit s Au erdem verursacht der lange Verbindungsaufbau nach l ngeren Benutzungspausen Time out sehr hohe Latenzzeiten Mit neuen paketvermittelnden Verfahren ist man immer online so dass die Einwahlprozedur entf llt Dabei erh hen sich auch die Durchsatzraten und bandbreitenintensive Anwendungen werden erm glicht Ein weiterer Faktor der sich bei den mobilen Telefonen negativ auswirkt ist die begrenzte M glichkeit der Benutzerschnittstelle Die Tastatur besteht nur aus Ziffern was zwar durch die intelligente Eingabeprogramme wie T9 kompensiert wird jedoch bei Login und Passworteingaben oder anderen Anmeldeprozeduren st man auf das mehrfache Bet tigen einer und derselben Taste angewiesen T9 vermeidet das Mehrfachbet tigen der Nummerntasten die dreifach bis v erfach mit Buchstaben beleget sind durch den Vergl
59. auf ger teoptimierte Weise realisiert werden k nnen 19 Die Tabelle 16 bis Tabelle 28 enthalten Strukturen die f r jeweilige Ger te oder Formate unterschiedlich definiert sind So kann eine Tabelle eine WML Definition einer Struktur enthalten falls diese Struktur f r alle Ger te gleich ist oder verschiedene Definitionen f r verschieden Ger tegruppen falls es da Unterschiede g bt Es g bt auch F lle bei denen das WMIL Format mit dem WMLPLUS Format bereinstimmt dann ist nur eine Definition der Struktur vorhanden Die WML und WNLPLUS Templates haben folgende Struktur WML Endger te lt xml version 1 0 encoding i1s0o 8859 1 7 gt lt DOCTYPE wml PUBLIC WAPFORUM DTD WMO 1 1 EN http www wapforum org DTD wml_1 1 xml gt lt wml gt lt head gt lt meta http equiv Cache Control content no cache forua true gt lt head gt Kartendefinitionen lt wml gt WMLPLUS lt xml version 1 0 encoding is0o 8859 1 gt lt wmlplus gt Kartendefinitionen lt wmlplus gt Tabelle 16 Struktur der WML und WMLPLUS Templates Die Kartendefinition beinhaltet die Dienstoberfl che die die Benutzerschnittstelle bildet Sie enth lt im Falle von WML Templates die WML Elemente und infoAsset Platzhalter und im Falle der WMLPLUS Templates zus tzliche WMLPLUS Elemente die bei der automatischen Generierung mittels XSLT in WML Elemente umgewandelt werden 5 3 2 Kartendefinitionen Eine Kartendefinition kann
60. aut DTD zugelassen s nd Folgende Tabelle spiegelt die Abbildung der Tags auf die Schriftarten wider ale LUS lt em gt Lor rong comall lt big gt Ger t a Italic unterstrichen Emphasis Nokia normal normal normal normal normal normal normal L D 10 6210 fett normal unterstrichen normal normal normal gro ee Tabelle 12 Unterst tzung der Textformatierungstags Wie man sieht ist der Tag am besten daf r geeignet einen Text hervorzuheben da dieser Tag fast von allen Endger ten unterst tzt wird Der Tag sma wird von keinem dieser Ger te unterst tzt und ist nur f r zuk nftige Ger te mit besserer Unterst tzung sinnvoll Obwohl die Unterst tzung der Formatierungstags sehr beschr nkt ist ist es jedoch sinnvoll sie einzusetzen da bei neuen Endger ten mit der Verbesserung der Unterst tzung zu rechnen Ist 4 3 6 Zeilenumbruch Das mode Attribute des p Tags bietet die M glichkeit die Anzeige von langen Textzeilen zu beeinflussen Die Standardeinstellung ist mode wrap was bedeutet dass der Browser den Umbruch der Zeilen automatisch vornimmt Bei Verwendung von mode nowrap wird die Zeile nicht umgebrochen was bei verschiedenen Browser zu unterschiedlichen Ergebnissen f hren kann Nokia 7110 6210 und Sony ignorieren das Attribut Das Nokia 6210 erlaubt das 68 benutzerdefinierte Aktivieren des Zeilenumbruches f r lange Zeilen Die S emens Ger te blenden die Teile der Zeile zeitlich nacheinander ein s
61. cccssssseceocsssseceecocossssseccocoossssscceecssssssssee 72 5 ENTWURF UND REALISIERUNG EINES GER TEUNABH NGIGEN WAP PORTALS nenne 74 5 1 Funktionsumfang des WAP Portals 000000000000000000000000000000snnnnnnnnnnnnsssnsssnnnnsnse 74 5 2 Techniken zur Realisierung der Endger teunabh ngikeit sssssssssssesssssssee 76 5 2 Portable WAP Anwendun t au a ee 76 J22 GErdreop ierte SE O en E E E 76 323 Autom lische Generet ne sans 18 5 3 Richtlinien f r Aufbau von WML und WMLPLU S Seiten 20000000000s00000000 79 5 3 1 Aufbau der WML und WMLPLU S Seiten uussssssssssseeeeesnnnnnnnnneeneeeenennnn 79 9 3 2 Karende MONO een a ee 80 3923 Riten nalen n 8l Joel SZNS S Ver WAUN een Sl 3 92 LOE ee en eeseeaetemetgen 81 3 99 9 extemsab sense eier 82 Js IE SAUSWAHISten anne a 83 33353 Bilder eee a 83 5 3 4 DOE CEE ern ee ee 84 3 3 4 1 R cksprung zur zuletzt angezeigten Karte un nn ea 84 5 3 4 2 Option Softkey Kartenorientierte Navigationsunterst tzung 84 5 3 5 empake Kar ia 85 5 4 Softwaretechnische Umsetzung sssssssseeeeecccssssccececoossssecccecoossssseceeocosssssseceesssssss 85 5 4 1 Endserateklassikikalion une rn 86 5 4 2 Automatische Identifikation der Ger te 0022220eseesnnnnnnsseeeenennnnnnnnnnnnnnnnnn 87 5 4 3 Epdecrtteve rwa UNS a 88 5 4 4 Konor Oes ee ee 89 5 4 5 Redundanzfreie Speicherung und Suchstrategie uussssssssssseseeeeennnnnnn
62. cklungsaufwand die Palette der unterst tzten Ger te jede Zeit zu erweitern 98 Der n chste Schritt bei der Entwicklung des nfoAsset Brokers in Bezug auf Unterst tzung von verschiedenen Clients kann die Entwicklung der automatischen Generierung von medienspezifischen Formate sein wie in Kapitel 5 5 beschrieben 99 Abk rzungen ASP Active Server Pages BXML Binary eXtendable Mark up Language CDF Cannel Definition Format cHIML compact HIML DTD Document Type Definition EDGE Enhanced Data Service for GSM Evolution GPRS General Packet Radio Service GSM Global System for Mobile Communications HSCD High Speed Circuit Switched Data HTML Hypertext Mark Up Language HTTP Hypertext Transfer Protocol JSP Java Server Pages MIME Multipurpose Internet Mail Extension MSC Mobile Switching Center OS Operating System OSI ISO Open System Interconnection International Standard Organisation OTA Over The A r Protocol PAP Push Access Protocol PDA Personal Digital Ass stent PI Push Initiator PPG Push Proxy Gateway TCP IP Transmission Control Protocol Internet Protocol TLS SSL Transport Layer Security Secure Socket Layer UMTS Universal Mobile Telecommunications System URI Uniform Resource Indicator URL Uniform Resource Locator WAE Wireless Application Environment WAP Wireless Application Protocol WBMP Wirless Bitmap WBXML WAP Binary XML WDP Wireless Datagram Protocol WML Wireless Mark Up Language WMLscript Wireless Mark Up
63. das der Fall bei den Sammelmappen und Verzeichnissen ist Die Einzelllinks werden wie folgt definiert 8l WML Karteninhaltl ee lt a href de myPortal welcome wml s S s amp amp c counter gt Endger te Linktext lt a gt Karteninhalt2 WMLPLUS Karteninhaltl lt a href de myPortal welcome wml s S s gt Linktext lt a gt Karteninhalt2 Tabelle 20 Definition von Einzellinks Die Pfadangabe erfolgt relativ zum Wurzelverzeichnis und der Parameter s ist obligatorisch mit Ausnahme der F lle die im Kapitel 5 3 3 1 erl utert wurden Die Definition von Linklisten ist folgende Siemens lt select gt lt option Onpick ZTeLdRL I gt Titel 1X optLion gt lt option onpick ZielURL2 gt Titel 2 lt option gt lt select gt Alle sonstigen Endger te lt br gt lt a href ZielURL1 gt Titel 1 lt a gt lt br gt lt a href ZielURL2 gt Titel 2 lt a gt WMLPLUS lt linklist gt lt link href ZielURL1 gt Titel 1 lt link gt lt link href ZielURL2 gt Titel 2 lt link gt lt link1l3se gt Tabelle 21 Linklistendefinition Linklisten erlauben bei S emens Ger ten die Aktivierung der Links mittels der Zifferntasten Die entsprechenden Ziffern werden vor den Links angezeigt 5 3 3 3 Texteingabe Texteingabefelder dienen dazu die Benutzereingaben an den Server zu bermitteln Die URL Parameternamen sind serverseitig definiert und sollten m glichst kurz gew hlt werden Ebenso m ssen die WML Var
64. den Netze integriert werden MTR2O00 GSM Global System for Mobile Communications ist der Standard f r digitale mobile Funknetze GPS Global Positioning System ist ein Sateliten basiertes System das sehr genaue Bestimmung der Position erlaubt HSCSD High Speed Circuit Switched Data erh ht die bestehende bertragungsrate von 9 6 KBiv s auf bis zu 14 4 KBit s pro Kanal durch eine neue Modulationsart Ebenfalls ist eine Kanal B ndelung theoretisch von bis zu acht Kan len m glich C4 2000 Location Based Services sind solche Dienste die die aus den COO Angaben oder mit Hilfe von GPS gewonnenen Ortsangaben verwenden um die ortsabh ngigen Informationen anzubieten Origin Server ist ein Web Server auf dem die WAP oder Web Anwendung gespeichert ist SMS Short Message Service erlaubt das Empfangen und Senden von maximal 160 alphanumerischen Zeichen pro Sendung MTR2000 Softkey st ein Benutzerschnittstellenelement dessen Funktion und Beschriftung frei programmiert werden kann Tasks sind die in WML definierten Elemente die das W hlen eines Links Aktualisieren des internen Zustandes des User Agents und Navigieren zur vorhergehenden Seite erm glichen 101 Template ist eine vom infoAsset Broker verwendete Datei die eine vorgenerierte Datei im jeweiligen Format darstellt z B HTML oder WML und infoAsset Platzhalter enth lt die mit dynamischen Inhalten zur Laufzeit ersetzt werden k nnen UMTS Universal Mobile
65. den nicht behandelt Die Elemente select table input option anchor werden n der Regel ohne das tit1le Attr but verwendet Die Titelanzeige auf einer Karte ist eine wichtige Funktion des tit1e Attributes und wird folgenderma en aktiviert lt card title Titel der Card gt lt card gt Die Nokia Ger te unterst tzen das tit1e Attribut Der Titel erscheint dann in der Titelzeile oberhalb des Karten Inhalts Beim Scrollen wird diese Titelzeile nicht mitgescrollt und ist somit immer sichtbar Sony und Palm Browser unterst tzen die Anzeige des Titels nicht d h das tit1e Attribut wird ignoriert Um den Titel dennoch anzeigen zu k nnen wird der Titel einfach als Text in den Karteninhalt eingesetzt lt card gt lt p align center gt lt b gt Titel der Card lt b gt lt p gt lt card gt Um den Titel grafisch von dem brigen Text hervorzuheben wird es zentriert und mit dem Tag formatiert Durch diese Vorgehensweise geht die Eigenschaft eines echten Titels nicht mitzuscrollen verloren Eine Sonderstellung haben die Siemens Ger te da die Titelzeile vom Benutzer abgeschaltet werden kann ohne dass es eine M glichkeit besteht dies serverseitig zu detektieren Als L sung des Problems kann die Titelzeile als aktiviert oder deaktiviert angenommen werden oder es kann dem Benutzer die M glichkeit gegeben werden die Information dar ber ob Titelleiste ein oder ausgeschaltet ist an den Server mittels einer Konfigur
66. den einer SMS an den Anrufer e Voice Mail Funktionen z B Benachrichtigung ber neu eingegangene Nachrichten Anzeige einer Liste von Nachrichten mit den Informationen wie die Rufnummer des Absenders Zeit eventuelle Textbemerkungen Selektieren und Abh ren der Nachricht oder Anrufen des Absenders e Anzeige einer Liste von eingegangenen Nachrichten w e Fax Email SMS oder Voice Mail und ihre Weiterverarbeitung Die WTAI Bibliotheken geh ren zu einem dieser drei Typen e Netzwerkunabh ngigse WTAI Bibliotheken k nnen in allen Mobilfunknetzen bereitgestellt werden Auf die Bibliotheken kann nur vom WTA User Agent zugegriffen werden d h dass d e Dienste d e diese Bibliotheken nutzen nur von den Netzwerkanbietern bereitgestellt werden k nnen e Netzwerkspezifische Bibliotheken stellen die Funktionen die nur von bestimmten Netzen unterst tzt werden bereit e ffentliche Bibliotheken erlauben den Zugriff ber WAE User Agent und k nnen somit von allen Dienstanbietern verwendet werden Es g bt folgende WTAI Bibliotheken Bibliothek Beschreibung Public WTAI gt ffentlich verf gbaren ffentlich Funktionen Voice Call Control Y Steuert das Absetzen und Netzwerkunabh ngig Annehmen der Anrufe n cht ffentlich 44 Network Text Dr Versenden und Empfangen von Netzwerkunabh ngig Textnachrichten n cht ffentlich Phonebook Telefonbuch Funktionen wie Netzwerkunabh ngig einen Eintrag vornehmen n c
67. der sie m glicherweise verwendet werden angepasst sein Der mobile Anwender kann einen Dienst beim Gehen oder w hrend einer Konferenzpause um z B seinen Flug zu verlegen nutzen D h die Information muss sofort ohne langes Suchen und Warten abgerufen werden k nnen sie muss klar und unmissverst ndlich sein Es gilt also grunds tzliche berlegungen ber den Funktionsumfang und die Inhalte zu machen die von einem mobilen Portal zur Verf gung gestellt werden Die geringe Bandbreite der Verbindung beschr nkt den Einsatz von Multimediakomponenten auf einfache meist Schwarz Wei Bilder Die geringe Gr e der Displays erschwert das Lesen und die numerische Tastatur der Mobiltelefone das Eingeben von l ngeren Texten Vor diesem Hintergrund ist ein mobiles Portal nur in der Verbindung mit einem Web Portal sinnvoll vor allem wenn es sich um einen personalisierbaren Dienst handelt bei dem umfangreiche Einstellungen und Eingaben n tig sind So kann man komfortabel l ngere Eingaben und Konfigurationseinstellungen mit Hilfe des Web Clients durchf hren und kurze Informationspakete mit Hilfe eines mobilen Ger tes abrufen falls man diese unterwegs ben tigt Grunds tzlich kann jede Funktion die in einem Web Portal vorhanden ist auch in einem mobilen Portal implementiert werden Allerdings wird der Informationsgehalt einer mobilen Anwendung durch die oben beschriebenen Eigenschaften stark reduziert Es gibt aber auch solche Funktionen wie Voll
68. e Kontrolle des Cache Verhaltens bei Vorw rts und R ckw rtsnavigation und e an WML angepasste S tzungsverwaltung e Kontrolle der Deckgr e 73 5 Entwurf und Realisierung eines ger teunabh ngigen WAP Portals Dieses Kapitel geht auf den Funktionsumfang eines WAP Portals und die Aspekte ein die bei der Wahl der aus dem Web Portal portierten Dienste ber cksichtigt werden m ssen Au erdem werden die f r die Realiserung der Ger teunabh ngiskeit notwendigen Techniken beschrieben Es werden zwei Standbeine der L sung erl utert Ein Teil der L sung ist softwaretechnischer Natur und implementiert alle Mechanismen die die Ger teunabh ngigskeit unterst tzen Der andere Teil stellt eine Richtlinie dar die f r den Anwendungsentwickler als eine Vorschrift dient und beschreibt wie er die WML Templates gestalten soll damit die Templates mit dem infoAsset Broker ordnungsgem funktionieren Diese zwei Standbeine werden durch drei Ans tze miteinander verbunden Diese Ans tze bestimmen die Art wie die Ger teunabh ngisket erreicht wird und zwar e durch die Entwicklung generischer WML Seiten e durch die Entwicklung ger teoptimierter WML Seiten e durch automatische Generierung ger teoptimierter WML Seiten Diese drei Ans tze kommen gleichzeitig je nach Bedarf zum Einsatz 5 1 Funktionsumfang des WAP Portals Das WAP Portal soll einige Dienste des Web Portals s Kapitel 2 8 5 enthalten und besteht aus folgenden vier Ber
69. e weisen eine Deckgr enbeschr nkung auf Das Attribut im properties txt File enth lt f r jedes Ger t den Wert maxbytesize der nicht berschritten werden darf Die Deckgr enbeschr nkung bringt mit sich ein Problem bei den Seiten die dynamisch generiert werden Vor allem der Einsatz von Listen mit einer gro en Anzahl von Eintr gen kann dazu f hren dass die maximale Deckgr e berschritten wird und von den Ger ten nicht verarbeitet werden kann F r diese Zwecke wird die Substitution die mit Seitenlistenvorlagen arbeitet eingesetzt Dabei wird die zu substituierende Liste so auf mehrere Listen aufgeteilt dass die Einzellisten die maximale Deckgr e nicht bersteigen Die Einzellisten werden auf mehrere Seiten aufgeteilt zwischen denen navigiert werden kann In der Seitenlistenvorlage werden folgende Platzhalter definiert ScurrentPages wird durch die Nummer der aktuell angezeigten Seite ersetzt beginnend mit 1 SnumberofPpages Wird durch die Anzahl der insgesamt angezeigten Seiten ersetzt numberofPages gt 0 SlisFirsts ist eine bedingte Substitution die nur f r die Seite 1 ausgef hrt wird SlisLast Ist eine bedingte Substitution die nur f r die letzte Seite ausgef hrt wird SpreviousPpages wird durch die Nummer der Vorg ngerseite ersetzt falls isFirst SnextPages wird durch die Nummer der Folgeseite ersetzt falls isLast SnumberOfElements wird durch die Anzahl der Elemente
70. echnologien und das Modell eines interaktiven Web Portals erl utert In diesem Kapitel werden auch die Voraussetzungen f r ein mobiles Portal wie Mobilfunknetze ihre Eigenschaften und Einfluss auf die mobile Datenkommunikation geschildert Des weiteren wird m Kapitel 2 6 der Begriff der Endger teunabh ngigkeit erl utert Es werden auch die Ans tze zur Realisierung der Ger teunabh ngigkeit beschrieben Im Kapitel 2 8 werden der nfoAsset Broker seine Architektur und die Grundfunktionen wie Session Tracking und Substitution behandelt Da WAP die Grundlage dieser Arbeit bildet wird der WAP Standard beschrieben und dessen St rken und Schw chen verdeutlicht Kapitel 3 beschreibt den WAP Standard in seinen Einzelheiten WAP Modell WML WMLscript und die Auswirkung der in WAP Spezifikation verwendeten Formulierungen Ein kurzer Ausblick auf die zu WAP vorhandenen Alternativen wird am Ende des Kapitels gemacht Im Kapitel 4 werden die Ger te und ihre Besonderheiten in bezug auf W AP Implementierung auf die die WML Seiten optimiert wurden behandelt Die Auswirkung der Ger teoptimierung wird beispielhaft an einigen WML Code Fragmenten gezeigt Kapitel 5 besch ftigt sich mit der Vorgehensweise bei der Realisierung und mit den Technologien die bei der L sung eingesetzt wurden Au erdem wird in diesem Kapitel das L sungskonzept m Detail aufgezeigt Kapitel 6 wird mit der Zusammenfassung der Erkenntnisse sowie Bewertung und Ausblic
71. eich der schon bet tigten Tasten mit allen m glichen dem Zahlenmuster entsprechenden W rtern im W rterbuch Ebenso ist die Displayanzeige auf maximal 5 Zeilen begrenzt was zur Folge hat dass die geringe Gr e des Displays keine vern nftige Formatierung der Texte zul sst Eine weitere Beschr nkung ist die Farbtiefe der Bilder die meistens auf ein Bit limitiert ist so dass nur schwarz wei Bilder angezeigt werden k nnen 3 2 WAP Spezifikation 3 2 1 WAP Schichtenmodell WAP Standard besteht aus einer Reihe von Spezifikationen und basiert auf einem Schichtenmodell Die f nf Schichten Imm2000 s nd folgende Schichtname WAP Protkoll Anwendungsschicht Application Layer WAE Wireless Application Environment S tzungsschicht Session Layer WSP Wireless Session Protocol bertragungsschicht Transaction Layer WTP Wireless Transact on Protocol 22 Sicherheitsschicht Security Layer WTLS Wireless Transport Layer Security Transportschicht Transport Layer WDP Wireless Datagram Protocol Tabelle 1 WAP Schichtenmodell Folgendes Bild zeigt das W AP Schichtenmodell SCNEd2000 im Vergleich zu Internet und OSI Schichtenmodell EEE AGENT A WAP Schichtenmodell Internet OSI AU A A A AN Application layer WAE WML WML Script WTA HTML Script AU A AT A Session layer WSP S tzungsschicht A A A HTTE 5 7 Transact on layer WTP Verbindungsor entiert AU A A A Security layer WTLS S cherheit TLS SSL
72. eichen Abbildung 25 l Zugangsdienst besteht aus Anmeldung Registrierung und Gastzugang Verzeichnisdienst stellt die Verzeichnisbaumstruktur bereit die sowohl Verzeichnisse als auch die darin gespeicherte Dokumente anzeigt 3 Sammelmappen erm glichen die Speicherung und das Ablegen von Links Dokumenten Verzeichnissen und anderen Assets 4 Dokumente nicht in der Abbildung 25 erlauben das Anzeigen von Zusatzinformationen und erlauben das Sichten von Dokumenten Diese Dienste sind an die des Web Portals angelehnt und stellen einen f r die mobilen Ger te angepassten Funktionsumfang dar Abbildung 25 anonymous wm1 ist die Startseite und bietet Links die es einem Benutzer erm glicht e sich durch die Aktivierung von anonymous wml c2 anzumelden e sich durch die Aktivierung von registration wml ZU registrieren e durch die Aktivierung von welcome wml den Gastzugang zu nutzen ohne ein registrierter Benutzer zu sein Die Karte c2 des Decks anonymous wm enth lt Benutzername und Passwort Eingabefelder sowie einen Senden Link bei dessen Aktivierung die Anmeldung des Benutzers mit den in die Eingabefelder eingetragenen Daten durchgef hrt und anschlie end auf die Seite welcome wml umgeleitet wird 74 Das Deck registration wm enth lt die Eingabefelder f r die Benutzerinformationen wie Vor und Nachname Anrede Telefonnummer Email Adresse etc sowie einen Senden Link bei dessen Aktivierung die Registrierungsinform
73. eigt Shadowing bei dem die im Template initialisierten Elemente ausgeblendet oder berschrieben werden lt wml gt lt template gt lt do type prev label Zur ck name sk1 gt lt prev gt lt do gt lt onevent type onenterforward gt lt go href card1 gt lt onevent gt lt template gt Im Template werden ein Zur ck Softkey und ein onenterforward Breignis das beim Anspringen der Karte einen Sprung zur ersten Karte ausl st definiert lt card 219 card l t tlee Erste Card lt onevent type onenterforward gt lt noop gt lt onevent gt Durch den gleichen Wert des type Attributes wird das im Template definierte Ereignis mit dem noop Iask berschrieben Da der noop Task keine Funktion ausf hrt bewirkt man das Ausblenden des Ereignisses lt do type prev name sk1 label Card 3 gt lt go href card3 gt lt do gt Dieses ao Element berschreibt durch den gleichen Wert des name Attributes das im Template definierte ao Element mit einem Softkey der sowohl eine andere Beschriftung als auch einen anderen Task hat lt p align center gt lt big gt lt b gt Erste Card lt b gt lt big gt lt p gt lt card gt 35 lt card id card2 title Zweite Card gt lt p align center gt lt big gt lt b gt Zweite Card lt b gt lt big gt lt p gt lt card gt Die zweite Karte hat keine eigenen Softkey und Ereignisdefinitionen und bernimmt diese aus dem Temp
74. eine Reihe von spezifischen Elementen erg nzt wie linklist und link um den Anforderungen die f r die Ger teunabh ngigkeit notwendig sind gerecht zu werden Au erdem weicht die Verwendung von do Elementen vom Typ prev in WMLPLUS von WML ab Auf eine DTD wird dabei bewusst verzichtet damit die Erweiterung mit neuen Elementen einfach ist Es m ssen jedoch trotzdem bei der Verwendung des WMLPLUS Formates Regeln beachtet werden damit bei der Konvertierung mittels XSLT Dateien im g ltigen WMIL Format generiert werden k nnen Auf die Restriktionen die das WML Format betreffen und auf das WMLPLUS Format wird m Kapitel 5 3 eingegangen Abbildung 31 Generierung von WML Templates mittels XSLT WMLPLUS Date ensatz i p XSLT B Others l ML Dateiensatz W Siemens WML Date ensatz Nokia S IML Dateiensatz W 5 4 7 Cache Verhalten und Z hler Der infoAsset Broker verwaltet einen zus tzlichen Parameter in der Session Schicht der bei jedem neuen Aufruf einer Seite inkrementiert und als URL Parameter n jeden Link eingesetzt wird Der Z hler hat zwei Aufgaben e Er verhindert dass die Seiten aus dem Cache geladen werden Durch die Inkrementierung des Z hlers werden die gleichen URL Referenzen vom WML Browser als neue URLs behandelt und somit bei jedem Aufruf aktualisiert e Er wird zum Detektieren der R ckw rtsnavigation verwendet da bei der R ckw rtsnavigat on die URL aus dem History Speicher des
75. en Ger teherstellern erlaubte die WML Elemente unterschiedlich zu implementieren Dadurch wurde die Situation geschaffen die an den Krieg zwischen Internet Explorer und Netscape erinnert mit dem Unterschied dass es auf dem Markt ber 27 WAP f hige Ger te von 10 Herstellern gibt Zu Beginn der Arbeit waren es gerade 5 Ger te Es reicht also nicht jeweils zwei Versionen zu entwickeln sondern man muss praktisch f r jedes Ger t Optimierung am WML Code vornehmen Dadurch entsteht der Bedarf den Optimierungsaufwand durch geeignete Mechanismen z B durch automatische Generierung von ger teoptimierten Seiten zu reduzieren 1 2 Ziel der Arbeit Vor diesem Hintergrund entstand die Aufgabenstellung dieser Arbeit Es soll ein bestehendes Web Portal um einen WAP Portal erweitert werden Dabei soll die Ausgabe der WML Seiten ger teoptimiert erfolgen Als Web Portal das zu erweitern gilt kommt der infoAsset Broker der Firma infoAsset zum Einsatz In dieser Arbeit werden die Anforderungen die an ein Portal gestellt werden l dargestellt und spezifiziert Weiterhin werden die spezifischen Eigenschaften eines mobilen Portals erl utert Die Beschreibung des WAP Standards und seiner Implementierungen in verschiedenen Ger ten bilden die Grundlage f r die W AP Portal Erweiterung 1 3 Gliederung Kapitel 2 befasst sich mit den technischen Voraussetzungen die einem Portal zugrunde liegen Insbesondere werden die im Internet eingesetzten T
76. en integrierten Funktionen des Endger tes w e z B WTAI Kalender und Telefonbuch Die Vorz ge beider Ger tegruppen vereinen die mobilen Telefone mit Organ zer Funktion Au erdem bieten sie eine bessere Benutzerschnittstelle Die Browser f r PCs und Emulatoren sind im eigentlichen Sinne keine Ger te aber weisen alle Eigenschaften eines WAP f higen Ger tes auf und werden vor allem zum Testen eingesetzt Da sie ber eine Internetverbindung direkt auf die WAP Inhalte zugreifen und somit den Flaschenhals der Funkstrecke umgehen k nnen erm glichen sie geringere turnaround Zeiten bei der Entwicklung Au erdem kann der Einfluss des WAP Gateways ausgeschaltet werden indem man die Zugangsoption ber HTTP aktiviert Dies vereinfacht beschleunigt und verbillist den Debugging Prozess Der Vorteil der software basierten Browser ist auch die M glichkeit sich den Quellcode der erhaltenen WML Seite Variablen und interne Zust nde wie History oder Timer Werte anschauen zu k nnen was bei der Entwicklung dynamischer Inhalte sehr hilfreich ist 4 1 Allgemeine Beschreibung der verwendeten Ger te In der Arbeit werden folgende Ger te behandelt Siemens C35 Nokia 7110 Nokia 6210 Sony CMD Z5 Palm m100 Die Auswahl bildet einen Querschnitt der auf dem Markt befindlichen Ger te Nokia 7110 ist das meistverbreitete Ger t wobei Nokia 6210 einen hnlichen aber technisch weiterentwickelten WAP Browser hat Mit Siemens C35 werden alle Ger te d
77. ender Adressbuch GPS Modul Blue Tooth etc Der Unterschied zu den Skriptsprachen wie JavaScript besteht darin dass WMLscript vom WAP Gateway in ein Bytecode das dem Java Bytecode hnlich ist kompiliert wird Dieser Prozess ist mit dem der Kompilierung eines Quellcodes einer Programmiersprache vergleichbar in dem dieselben Phasen wie Syntax Semantik berpr fung und Codegenerierung vorhanden sind Areh2000 WMLsScript bietet alle Konstrukte die eine Skriptsprache zu bieten hat e Variablen mit Variablen Scope verschiedenen Typen wie integer float boolean string und Sondertyp invalid Die Typen werden automatisch umgewandelt und m ssen nicht explizit angegeben werden e Programmablauf wird durch Anweisungen wie if for while Und return gesteuert Es werden folgende Operatoren unterst tzt e DBoolesche Werte true und false unterst tzen UND Verkn pfung ss und ODER Verkn pfung e Die numerischen Datentypen k nnen die Operatoren und verwenden Dar ber hinaus kann eine Ganzzahldivision aiv und Modulo Berechnung mod ausgef hrt werden Die Priorit t der Operatoren entspricht der normalen algebraischen Reihenfolge und kann durch Klammerung ver ndert werden 42 WML script enth lt mehrere Bibliotheken die verschiedene Bereiche abdecken e Die Bibliothek Lang enth lt Funktionen wie Variablentypumwandlung einen Zufallszahlengenerator und Funktionen f r Integer Zahlen e Die Float Bibl
78. eneennnn 91 5 4 6 Generierung Von Templatessan u ee e e Raai 92 5 4 7 C che Verhalten Und Z hler asus me Aarau 93 5 4 8 Detektieren der R ckw rtsnavigation nach dem Aufruf einer Seite mit S a E E A AE A A E N E A E E A 94 5 4 9 Deckgr enbeschr nkung und Seitenlistenvorlagen 00ss essen 96 5 5 Generalisierung von Ger teunabh ngigkeit sssssssssssssssssssssssnnsssssssssssunnnnnese 97 6 ZUSAMMENFASSUNG BEWERTUNG amp AUSBLICK uumuununsnnnnnennnnnnnnnnn 98 ABK RZUNGEN u2u000000000000000000nnnnnnnnnnnnnnn GLOSSAR ee LITERATUR UND QUELLENVERZEICHNIS 1 Einleitung 1 1 Hintergr nde und Motivation In the beginning Berners Lee created HTML and the Web And the Web was without form and void and darkness was upon the face of the deep And the Spirit of Tim moved upon the face of the routers And Tim said Let there be tags and there were tags And Tim said Let there be design in the midst of the content and let it divide the content from the content And in the beginning there was universality and everyone could parse the HTML read the web pages and Berners Lee saw everything was good And the night followed the day and the years passed Josh Smith ber das Netz der Netze in The WAP Vision Artikel So oder so hnlich haben sich die Gr nder des WAP Forums im Jahre 1997 gef hlt als das WAP Forum von ihnen ins Leben gerufen wurde Es waren die vier gr
79. enige Ger teklassen anzustreben um den Entwicklungsaufwand gering zu halten So werden bei einigen Ger ten Kompromisse eingegangen um trotz der suboptimalen L sung in Bezug auf Darstellung und Benutzbarkeit die Ger te zu einer Klasse zuzuordnen Hier ist eine bersicht ber die Ger teklassen und denen zugeordneten Ger te Endger teklasse Name der Klasse Getestet mit folgenden Endger ten der im infoAsset Endger teklasse Broker 1 1 HMTL Endger te HTML Internet Explorer WMIL Endger te Unbekannte W AP f hige Ger te S emens Endger te Siemens C351 Siemens S351 Siemens M351 Nokia Endger te Nokia Nokia 6210 Nokia 7110 Yospace com D D Sonstige Endger te Other Sony CMD Z5 Windows Up Browser u OMOT Emetor mit Motorola Timmport Skr Tabelle 29 Ger te und Klassenzuordnung 86 So erlaubt der Verzicht auf die Anpassung der Darstellung auf Palm spezifische Eigenschaften wie die Gr e des Displays die Zuordnung der Palm Endger te zu der Klasse Other und Reduzierung der Anzahl von Endger teklassen Die Ger te werden mit Hilfe einer hierarchischen Baumstruktur klassifiziert wml html semens nokia ther y nokia 110 palm Abbildung 27 Anordnung der Ger te in einem logischen Baum Dies erm glicht die Einordnung der neuen Ger te an die Stelle im logischen Baum deren umgebende Knoten die gr te hnlichkeit des angepassten Quellcodes aufweisen F r das Endger t hei t es dass nur die abweichenden Se
80. entclass wml performsCaching false useragentclass nokia parent wml useragentclass nokia name Nokia WAP Device useragentclass nokia performsCaching false useragentclass nokia 7 110 parent nokia useragentclass nokia7 l110 name Nokia 7110 WAP Device useragentclass nokia l110 performsCaching false 89 Der obere Ausschnitt beschreibt die Endger teklassen und ordnet sie in eine logische Baumstruktur ein Dabei wird die Verzeichnisstruktur in der die HTML und WML Templates liegen auf die Baumstruktur abgebildet wie die Abbildung 27 im Kapitel 5 4 1 verdeutlicht Dabei liegen die Verzeichnisse html wml siemens nokia nokia7110 plam other in demselben Unterverzeichnis in einer Ebene d h die logische Baumstruktur wird nicht durch die Verzeichnisstruktur sondern durch die parent Werte in der properties txt Datei widergespiegelt Das performscaching Attribut gibt an ob das Endger t das im Kapitel 5 4 8 beschriebene Verhalten aufweist D h falls dieses Attribut den Wert false hat wird der Mechanismus aktiviert der wiederholtes Ausf hren einer Aktion verhindert Der n chste Abschnitt der properties txt Datei enth lt die Informationen ber die Ger te e den Namen der Ger teklasse der das Ger t angeh rt e den Namen des Ger tes unter dem es dem System bekannt ist e den Suchstring der zur Identifizierung des Ger tes anhand des User Agent Strings herangezogen wird und e untrst tzte maximale Deckgr e
81. er 35er Serie also M35 und S35 abgedeckt da alle Ger te den gleichen Browser haben und die Softkeys gleich implementiert sind Das Sony Ger t ist nicht sehr stark verbreitet ist aber durch die Verwendung des Microsoft Browsers und durch seine Implementierung von Softkeys ein typischer Browser mit Display bas erten Softkeys also solcher Sofkeys die ausschlie lich auf dem Display dargestellt werden und keine entsprechenden physikalischen Taste haben 56 Das Palm Ger t ist ein Vertreter der Handheld Ger te und hat eine f r solche Ger te typische gro e Display Oberfl che Alle Ger te s nd laut Herstellerangaben WAP 1 1 f hig und implementieren zum Teil solche Funktionen wie WTAI Kalender und Telefonbuch Das Hauptaugenmerk wird der Unterst tzung von WML geschenkt insbesondere der Vollst ndigkeit der Implementierung von WML Elementen der Realisierung von Sofkeys dem Cache Verhalten und den Elemente Kombinationen die kritisch s nd d h den Elemente Kombinationen die in einer WML Seite nicht richtig dargestellt werden oder bestimmte Endger te abst rzen lassen obwohl laut WML Spezifikation diese Kombination erlaubt ist Au erdem wurden folgende Software basierte Browser und Emulatoren verwendet e Nokia WAP Toolkit 2 0 e Up SDK 4 0 mit Up Simulator e Win Wap Die Emulatoren spiegeln die Eigenschaften der Ger te wider So verhalten sich die Nokia Ger te ann hrend wie das Nokia Toolkit 2 0 mit eingestelltem Nokia 7110
82. ergonomischen Gr nden zehn nicht bersteigen 4 3 8 Tabellen Tabellen stellen eine erweiterte M glichkeit dar die Daten zu formatieren Aufgrund der geringen Bildschirmgr e ist es sehr schwierig ein funktionierendes Konzept f r die Darstellung der Daten die die Gr e des Bildschirms bersteigen zu finden Dem entsprechend ist die Unterst tzung der Darstellung verschiedener Inhalte wie langer Texte Links und Bilder in einer Tabelle mangelhaft 69 Folgende Tabelle gibt einen berblick ber die Unterst tzung der in einer Tabelle verwendeten Elemente kurzer Text Langer Text Bilder Links Ger t a OK OK Sony ja Zellen werden zeilenweise dargestellt Siemens ja kein Lange Zeilen werden auf keine Bilder und OK Rahmen Folgezellen fortgesetzt Spalten kein alt Text verschoben mode nowrap Teile der Zeile werden zeitlich nacheinander eingeblendet mode wrap Nok1a6210 ja mit Abgek rzt nach einer alternativer Text Rahmen Auswahl der Zelle voll mode Attribut wird ignoriert Nokia7110 Zellen Zellen werden werden zeilenweise zeilenweise dargestellt dargestellt Bild zentriert AU Browser ja mit Rahmen Tabelle 13 Tabellenunterst tzung Aus der Tabelle ist es ersichtlich dass man bei der Entscheidung Tabellen zu benutzen sich auf sehr kurze Texte beschr nken sollte Lange Texte sind entweder erst nach dem Aktivieren der Zelle lesbar oder die Tabelle ist nicht mehr als eine Tabelle zu erkennen
83. ert dient zum L schen eines Formulars oder zum Zur cksetzen des internen Zustandes des User Agents e Der unkown Wert ist herstellerabh ngig und entspricht einem ao Element ohne type Attribut e Es gibt weitere herstellerspezifische Werte des type Attributes die die Form vna hat wobei den Hersteller und den Typ des Benutzerschnittstellenelementes beschreibt Da die meisten Endger te maximal zwei bis drei Softkeys haben werden die verschiedenen do Types auf diese Benutzerschnittstellenelemente mehrfach abgebildet so dass es durchaus vorkommen kann dass z B heilp und accept Type sich identisch verhalten 3 2 4 5 Events Die Tasks k nnen auch an Ereignisse so genannte Events gebunden werden Es gibt vier Ereignisse die ausgel st werden wenn der Browser eine bestimmte Funktion ausf hrt l Das onenterforward Ereignis wird ausgel st wenn ein Benutzer einen Link oder einen Softkey aktiviert der auf diese Karte bzw auf das Deck zeigt 2 Das onenterbackward Ereignis wird dann ausgel st wenn die Karte bzw das Deck mittels prev Tasks angesprungen wird 3 Das onpick Ereignis wird ausgel st wenn ein Benutzer ein Element ausw hlt bzw dessen Auswahl aufhebit 4 Das ontimer Ereignis wird nach einer vordefinierter Zeitspanne ausgel st Innerhalb eines Ereignisses k nnen genauso w e innerhalb des ao Elements die oben beschriebenen Tasks eingesetzt werden Diese Tasks werden ausgef hrt sobald das betreffende Ere
84. es HDML Gateway das auch als WAP Gateway fungieren kann Der Unterschied liegt darin dass HDML keine clientseitige Scriptsprache wie WMLsscript kennt und ausschlie lich auf serverseitige Verarbeitung angewiesen ist Der Vorteil den HDML mit sich bringt ist f r den Entwickler eines HDML basierten Dienstes gegen ber einem W AP Dienst folgender die HDML Ger te weisen eine h here hnlichkeit zueinander auf als die WAP f higen Ger te so dass der Dienste Entwickler sich weniger um die Ger teunabh ngigkeit k mmern muss 3 7 2 iMode Mode von DoCoMo ist mit ber 15 Mio Teilnehmer in Japan ein gro er Erfolg 1 Mode2000 Mode stellt einen Dienst dar dabei ist der Schwerpunkt des Dienstes nicht die Technologie an s ch sondern der Inhalt Auf der technischen Seite w rd eine abgespeckte Version von HTML cHTML verwendet So m ssen die Teilnehmer nicht auf die animierte Farbgrafiken und andere Vorteile von HTML verzichten Die bertragungsrate des verwendeten paketorientierten bertragungsstandards 2G Mobilfunksystem PDC betr gt 9 6 KBit s im Fr hjahr 2001 wird sie auf bis zu 284KBit s Downstream und 64 KBit s Upstream ausgebaut Dadurch dass die Teilnehmer immer online sind entf llt das l stige Einw hlen Die niedrigen Geb hren ein Micropayment System via Telefonrechnung und konsequente Auswahl von Partnern die die Inhalte bereitstellen tragen dazu bei eine hohe Akzeptanz und somit hohe Teilnehmerzahlen zu erzielen
85. f Datei liefert Informationen ber die Eigenschaften des Endger tes wie Hersteller Art des Ger tes Modell Hardware und Betriebssystemversion Micro Browser Version unterst tzte WAP Version und Dateiformate Grafikf higkeit etc Es k nnen aber auch die aktuellen Einstellungen des Ger tes wie Sound ein oder aus Bilder ein oder aus Skriptunterst tzung ein oder aus die z B w hrend einer Sitzung ge ndert werden k nnen enthalten sein Die WML Spezifikation von UAProf ist noch nicht vollst ndig abgeschlossen und kann sich bei der n chsten Version des Standards ndern Das UAProf Format sieht vier Abschnitte vor die jeweils folgende Eigenschaften des Clients beschreiben HardwarePlattform enth lt alle Hardware relevanten Charakteristika des Endger tes Dazu geh ren die Informationen ber Typ Model Displaygr e Ein und Ausgabe Methoden der Benutzerschnittstelle etc SoftwarePlattform beschreibt die Eigenschaften der eingesetzten OS Umgebung wie Betriebssystem Video und Audio Unterst tzung benutzte Sprache NetworkCharacteristics enth lt Informationen ber das eingesetzte Netzwerk wie Bearer Typ und Bandbreite wWAPCharacteristics stellt die Informationen ber WAP Unterst tzung wie WML WMIL script WTA etc Hier ist ein Beispiel des Abschnitts einer UAProf Date die die WAP Eigenschaften eines imagin ren Ger tes enth lt UAPROF lt rdf Description gt lt prf WAPVersion gt 1 1 l
86. f ME um l I _Ordneroptionen_ Personalisieren ome Options Abbildung 25 WAP Portal Funktionalit t Die Auswahl der nach WAP portierten Dienste unterliegt Kriterien und Beschr nkungen eines mobilen Portals D h es werden die Dienste des WAP Portals portiert die keine langwierigen und wiederholten Texteingaben bed rfen und deren Ausgaben kurz sind Es wird also auf Textbearbeitungsfunktionen Volltextbetrachtung etc verzichtet da diese Funktionen auf einem mobilen Endger t nicht komfortabel durchgef hrt werden k nnen Es wird auch auf 75 Funktionen verzichtet d e keinen echten Nutzen f r mobile Anwendungen wie z B Personaldaten Editieren bringen oder einfach nicht m glich s nd Die portierten Teile des Portals bilden eine Grundlage auf der ein vollwertiges mobiles Portal mit zus tzlichen projektspezifischen Funktionen entwickelt werden kann 5 2 Techniken zur Realisierung der Endger teunabh ngikeit Um die Ger eunabh ngigkeit zu implementieren k nnen drei verschiedene Ans tze verfolgt werden und zwar 1 Entwicklung von generischen WML Seiten 2 Entwicklung von f r jedes einzelne Ger t optimierten Seiten 3 automatische Generierung von ger teoptimierten Seiten Die folgenden Kapitel beschreiben die Vorgehensweise bei diesen Ans tzen und gehen auf die Vor und Nachteile dieser Ans tze ein Es wird sp ter auch deutlich das die drei Ans tze parallel verwendet werden k nnen denn
87. ferenzmodell abgewichen in dem der Zugriff nicht nur auf die Nachbarschichten sondern auch auf die weiter gelegenen m glich ist Die oberste Schicht des Internet Schichtenmodells besteht aus den Komponenten die die Daten verarbeiten welche von den darunter liegenden Schichten geliefert werden Diese Schicht kann in Form eines HTML Browsers mit oder ohne Skript Java Applet oder ActiveX Unterst tzung sowie in Form eines in einer h heren Programm ersprache realisierten Clients vorhanden sein HTTP bildet eine Schicht mit deren Hilfe der Client die HTML Seiten von dem Server erh lt Die TLS SSL Schicht ist die S cherheitsschicht nicht zu verwechseln mit der S cherungsschicht des ISO Referenzmodells die zum Aufbau einer sicheren Verbindung mit Hilfe von Verschl sselungsoperationen verwendet wird D h s e stellt sicher dass die Unbefugten die Daten weder abh ren noch diese unbemerkt manipulieren k nnen Die S cherheitsschicht ist optional und wird nur dann eingesetzt wenn vertrauliche Daten ausgetauscht werden Die oben beschriebenen Schichten des Internetschichtenmodells lassen sich den Schichten 5 bis 7 zuordnen wobei keine klare Eins Zu Eins Zuordnung m glich ist Da z B das OSI Referenzmodell keine Sicherheitsschicht vorsieht und die oberste Schicht des Internetmodells eigentlich nicht zur Anwendungsschicht geh rt Die darunter liegende Schicht st die TCP IP Schicht S e st f r das sichere Erreichen der Daten zust ndi
88. folgende Elemente enthalten e card Elemente e do Elemente o template Tag Bei den WML Templates werden zwei F lle unterschieden e Die Ger te mit Titel Unterst tzung e Die Ger te ohne Titel Unterst tzung Die Tabelle 17 zeigt die Definitionen der Karten dabei stimmen die Definitionen f r Nokia Ger te und im WMLPLUS Format berein da in beiden F llen der Titel nicht explizit im Text definiert wird wie das bei sonstigen Endger ten der Fall ist Nokia und lt eard Ld 2 title titelx gt lt p gt Karteninh lt lt p gt WMLPLUS a DoElemente lt card gt Sonstige Endger te lt card id x title titelx gt lt p align center gt lt b gt titelx lt b gt lt p gt lt p gt Karteninhalt lt p gt DoElemente lt card gt Tabelle 17 WML Template Kartendefinition 80 Auf der WMLPLUS Ebene wird der Titel nicht im Text angegeben da bei der Generierung das Verhalten der Endger te in Bezug auf Titel Unterst tzung ber cksichtigt wird Der Wert des ia Attributes x wird wie folgt definiert c gefolgt von der Kartennummer wie z B c1 c2 cn wobei n die Anzahl der Karten in einem Deck ist Dies erm glicht eine m glichst ressourcenschonende und eindeutige Identifizierung und Referenzierung der Karten innerhalb eines Decks Die Zusammensetzung von Karteninhalt und DoElemente wird in Kapiteln 5 3 3 und 5 3 4 beschrieben 5 3 3 Karteninhalt 5 3 3 1 Sitzungsverwaltung F r die Sitzungsverw
89. g Diese Internet Schicht wird im OSI Referenzmodell durch Schichten 3 und 4 repr sentiert Dabe entspricht TCP der Transport und IP der Vermittlungsschicht Unter TCP IP Schicht liegt das physikalisch verwendete Netz w e Ethernet Fast Ethernet Token Ring Sie entspricht im OSI Schichtenmodell der Verbindungssicherungs und der Bit bertragungsschicht Das Bild veranschaulicht das Internet Schichtenmodell aus Client Sicht Internet OSI HTML JavaScript Java OOOO g HTTP 5 7 A TLS SSL A zu TCP IP UDP IP 3 4 O O TG Pysikalisches Netzwerk wie Ethernet Token Ring etc 1 2 Abbildung 2 Internet Schichtenmodell Zur Kommunikation zwischen Client und Server wird bei Web basierten Anwendungen in der Regel das zustandslose HTTP eingesetzt HTTP spezifiziert die Datenstrukturen die sowohl die Nutzdaten als auch zus tzliche Steuerungsinformationen d e Header enthalten Die Header liefern die Informationen ber die F higkeiten der Kommunikationspartner Das Protokoll ist dabei zustandslos d h es baut einen Kanal nur f r eine Anfrage auf und schlie t die Verbindung nach einer erfolgreichen bertragung Die Zustandslosigkeit von HTTP zwingt zum Verwenden zus tzlicher Mechanismen um die Verbindung ber die mehreren Anfragen w hrend einer Sitzung zu erhalten s Kapitel 2 8 1 Als Client einer Web basierten Anwendung dient normalerweise ein HTML Browser Moderne Browser unterst tzen au erdem eine oder mehrere Skriptsprachen
90. gedeckt werden soll wird in Zellen aufgeteilt Die Ecken der Zellen bilden die Sendestationen Befindet sich ein Teilnehmer innerhalb einer Zelle so kann er von mehreren Sendestationen gleichzeitig erreicht werden Um die Arbeit von Zellen zu koordinieren sind die Sendestationen mit einer Mobilvermittlungsstelle MSC Mobile Switching Center verbunden Die Gr e der Zellen ist f r die Kapazit t des Gesamtnetzes ausschlaggebend D h je kleiner die Zellen sind desto mehr Teilnehmer kann das Netz insgesamt aufnehmen Das liegt an der begrenzten Anzahl der zur Verf gung stehenden Funkkan le Deswegen versucht man die Gr e der Zellen klein zu halten um mit einer geringerer Leistung senden zu k nnen Dies bedeutet dass die Kan le sich bei einer geringeren Entfernung w ederverwenden lassen was effektiv zu einem Kapaz t tsgewinn f hrt Der andere Vorteil liegt im geringeren Energieverbrauch des Mobilfunkger tes und besseren Signalqualit t durch gleichm igere Ausleuchtung der Fl chen Die Mobilfunkvermittlungsstelle ist daf r zust ndig die Informationen aller in der zust ndigen Zelle aktiven Benutzer zu verwalten und zu bestimmen welche der Stationen mit dem Benutzer kommuniziert Die Vermittlungsstelle st auch daf r zust ndig bei dem Zellenwechsel des Benutzers die Kontrolle an eine andere Stelle zu bergeben Alle digitalen Mobilfunknetze sind paketvermittelnd und eignen sich sowohl f r die Sprach als auch Daten bertra
91. gegen eine eigenst ndige grafische Einheit dar d h es wird nur eine Karte auf einmal angezeigt Es gibt eine Limitierung bei der Auswahl der Attributwerte f r das iq Attribut Sie m ssen innerhalb eines Decks eindeutig sein und mit einem Buchstaben anfangen Das zweite Attribut ist das tit1e Attribut das dazu dient den Titel der Karte zuzuweisen Der Titel erf llt keine logische Funktion und kann beliebige Zeichen enthalten Dollarzeichen muss als s angegeben werden Der Titel wird je nach Browser entweder in einer Titelzeile angezeigt oder ignoriert Das p Element ist obligatorisch es umschlie t alle Inhalte einer Karte Die Inhalte k nnen auch auf mehrere p Elemente verteilt werden Die ao und onevent Elemente geh ren nicht zu den Inhalten und m ssen deshalb au erhalb der p Elemente definiert werden Die Benutzung und die Attribute des p Tags werden m Kapitel 3 2 4 8 beschrieben 3 2 4 WML Elemente 3 2 4 1 Variablen WML erlaubt die Verwendung von Variablen Der Lebenszyklus der Variablen beschr nkt s ch auf den aktuellen Browser Kontext Unter Kontext versteht man den User Agent Zustand inklusive Variablen Navigationsverlauf und andere browser spezifische Informationen die den Bezug zum Browserzustand haben Wird eine Seite mittels Bookmarks oder manueller URL Eingabe angesprungen wechselt der Browser Kontext Bei einem Kontextwechsel muss der Browser den alten Kontext terminieren Ein Kontextwechsel findet nicht statt
92. griff auf nicht verschl sselte Daten was ein Sicherheitsrisiko darstellt Verschl sselte Verschl sselte Daten Daten WAP Gateway Pa N Server Internet Konvertierung Cach ng WTLS TLS SSL Client Unverschl sselte Daten Abbildung 17 Das WAP Gateway als Sicherheitsrisiko 48 Deswegen m ssen viele Unternehmen die s cherheitssensitive Transaktionen via WAP durchf hren hr eigenes W AP Gateway aufsetzen und den Server entsprechend vom Internet abgrenzen Alternativ dazu k nnen die vertraulichen Inhalte auf Serverseite verschl sselt n den setvar Tag als Wert des value Attributes substituiert und von einem WMlL Script auf dem Client entschl sselt werden so dass d e Verschl sselung f r das WAP Gateway transparent bleibt Die Verschl sselung von Benutzereingaben oder anderen auf dem Client generierten vertraulichen Informationen ist ebenfals m glich Die Informationen k nnen mit einem WML Script auf dem Client verschl sselt und auf dem Server entschl sselt werden Ein anderes Sicherheitsrisiko besteht darin dass auf die Variablen einer WML Seite durch die gleichnamigen Variablen einer anderen WML Seite zugegriffen werden kann Das passiert dann wenn eine WMIL Seite Links enth lt die auf die Seiten eines fremden Servers zeigen Bei dem Aktivieren des Links erfolgt kein Kontextwechsel d h die Variablen werden nicht aus dem Speicher entfernt Durch die Verwendung von gleichnamigen Variablen k nnen z B
93. gs und Suchstrategie Diese Vorgehensweise kann man auch auf Mehrsprachigkeit eines Projektes und auf verschiedene Projekte die von einem Basisprojekt abgeleitet werden anwenden Dadurch k nnen Redundanzen vermieden werden und beim Verwenden von verschiedenen Sprachen wird immer auf eine voreingestellte Standardsprache ausgewichen falls die Seiten in der angeforderten Sprache nicht vorhanden sind 91 Die Abbildung 30 zeigt wie eine Projekt Sprachen und Ger teverwaltung in einer Baumstruktur organisiert werden kann Abbildung 30 Projekt Mehrsprachigkeit Medien und Ger teunabh ngigkeit 5 4 6 Generierung von Templates F r die Generierung von WML Templates wird XSLT verwendet Als XSLT Prozessor wird Xalan Implementierung Kay2000 eingesetzt Die WML Templates k nnen vom Administrator im Web Portal neu generiert werden Xalan ist ber die xsLTProzessor Klasse im uti1 Package eingebunden und enth lt Methoden die Transformation einer einzelnen XML Date erlauben Die Generierung der Datens tze bernimmt die GeneratewMLHandler Klasse Dieser Handler kann im Web Portal von einem autorisierten Benutzer aufgerufen werden um aus den WMLPLUS Templates die ger teoptimierten WML Templates automatisch zu erstellen Die Abbildung 31 beschreibt welche Dateien und Dateiformate f r d e Generierung von ger tespezifischen Dateien notwendig sind 92 Eine WMLPLUS Date enth lt alle in WML blichen Elemente und ist durch
94. gsm glichkeiten z B wie Filesystem Datenbank oder Content Management Systeme zu ber cksichtigen Die vordefinierten Dienste die in den mittleren Schichten implementiert sind sollten eine Reihe von Grundfunktionen bieten Diese Dienste sollen erweiterbar sein ohne die vorhandenen Funktionen zu ndern Die Abbildung 4 gibt eine Aufteilung eines m glichen Web basierten Dienstes in Schichten an Abbildung 4 Architektur eines Web Portals Der Client bernimmt die Rolle der Benutzerschnittstelle und kann die Daten vorverarbeiten bevor der Datenaustausch mit dem Server stattfindet Au erdem muss die Konsistenz der Daten und des Client Zustandes mit dem Server Zustand gew hrleistet sein Der Datenaustausch zwischen Client und Server kann mit Hilfe von HTTP oder direkt ber TCP IP erfolgen Diese Protokolle sind statuslos und m ssen um Session Tracking zu realisieren durch geeignete Mechanismen w e zus tzliche HTTP Parameter oder Cookies erweitert werden Diese Erweiterung kann in der Schicht der Session Verwaltung implementiert werden Auf der Server Seite muss eine f r die Kommunikation mit dem Client zust ndige Schicht vorhanden sein Die Aufgabe dieser Schicht ist es z B die HTTP Anfragen entgegen zu nehmen und die Antworten an den Client zu senden Dabei kann s e die Extraktion der Parameter aus der HTTP Anfragen oder der User Agent Informationen aus den HTTP Header vornehmen Diese Schicht kann mit Hilfe eines separaten Web
95. gung Die Hauptcharakteristika der Netze sind die Latenzzeit und bertragungsrate Die Latenzzeit dr ckt die Zeit aus die seit der Anfrage bis zum Empfang des ersten Bits vergeht also wie lange es dauert bis die Daten empfangen werden k nnen Die Latenzzeit in Mobilfunknetzen ist typischer Weise h her als die Latenzzeit der Festnetze Die 9 bertragungsrate gibt an wie schnell die Daten bei einer bestehenden Verbindung bertragen werden Weitere Eigenschaften der Netze sind z B die Verbindungsaufbauzeit d h die Zeit die f r die Einwahl in das Netz ben tigt wird oder auch die Verbindungsstabilit t die bei den Mobilfunknetzen generell niedriger als bei den Festnetzen st da das S gnal durch unvorhersehbare Ursachen wie atmosph rische St rungen geographische und architektonische Strukturen etc sehr stark ged mpft werden kann 2 4 2 GSM In Europa werden GSM Mobilfunknetze verwendet Die bertragungsrate ist auf 9 6 KBit s begrenzt Die Einwahl bei einem Provider oder WAP Gateway dauert ber eine Minute Die Benutzung von Internetdiensten die f r das Internet konzipiert wurden ist nicht m glich da die Inhalte auf Datenraten ab 40 KBiv s ausgelegt sind Die WAP Anwendungen k nnen dagegen mit einer Datenrate von 9 6 KBit s gut benutzt werden Der gro e Nachteil der beim Verwenden von WAP Anwendungen ist ist die lange Einwahlzeit die sich auch beim Wi edereinw hlen bemerkbar macht Das Wi ederein w hlen ist notwend
96. hen sind die die gleichen Sprachstrukturen aufweisen Die wesentlichen Mark Up Elemente die die Funktionalit t eines Dienstes ausmachen stimmen m Wesentlichen berein Doch n Bezug auf Layout und Design gibt es berhaupt keine bereinstimmungen Dies bedeutet dass die Funktionen und das Aussehen des Dienstes separat behandelt werden sollen So muss die Gestaltung der Oberfl che unabh ngig von der Benutzerlogik durchgef rt werden und durch XSLT oder andere Mechanismen wie z B Dream Weaver Templates eingebunden werden Ein weiterer Aspekt ist der Einsatz von Skriptsprachen Diese m ssen auf jedem Fall medienspezifisch entwickelt werden da die Clients sehr unterschiedlich sind und keine automatische Konvertierung bzw Generierung zulassen Insgesammt erscheint das Problem der Medienunabh ngigkeit komplexer als die Ger teunabh ngiskeit l sst sich aber durch die Erweiterung der bestehenden Konzepte realisieren 97 6 Zusammenfassung Bewertung amp Ausblick In dieser Arbeit wurde gezeigt w e man bei einem Problem vorgeht das so unscharfe Rahmenbedingungen mit sich bringt wie einerseits der WAP Standard mit WML Elementen Definitionen die laut WML Spezifikation von Ger teherstellern implementiert werden k nnen aber nicht m ssen und andererseits die Ger tehersteller die eine Minimall sung implementiert haben so dass ein WAP Anwendungsentwickler gar nicht absehen kann ob die von ihm entwickelte Anwendung auch auf eine
97. hl von Links hat Durch das Aktivieren eines der Links wird eine serverseitige Verarbeitung ausgel st die durch die Handler vorgegeben ist Durch die Realisierung der Benutzerschnittstelle durch Handler und Templates entsteht die M glichkeit die Gestaltung der Seiten getrennt von der Anwendungslogik durchzuf hren Die Vorteile dieser Vorgehensweise werden im n chsten Kapitel behandelt 2 8 4 Generelle Trennung der projektspezifischen Oberfl che von generischer Software Im Kapitel 2 2 wurde die Schichtenarchitektur beschrieben Durch die Trennung der Anwendungslogik von den darunter liegenden Schichten die die Grundfunktionen bereitstellen st es m glich die verschiedenen Projekte auf der Bas s einer generischen Anwendung zu entwickeln Dazu geh rt auch dass eine Anwendung die auf Mehrschichtarchitektur basiert sehr einfach um eine neue Client Klasse erweitert werden kann da im Idealfall nur neue Templates etnwickelt werden m ssen die Handler aber weiterverwendet werden k nnen 20 Durch die Trennung der Benutzeroberfl che die in den Templates realisiert wird ist es von der Anwendungslogik m glich dieselben Handler f r verschiedene Projekte zu verwenden So kann man den Funktionsumfang z B durch das Entfernen von Links oder Schaltfl chen aus dem Template reduzieren ohne am Programmcode etwas zu ndern und neu zu kompilieren Auch die Erweiterung ist einfach durch Hinzuf gen von neuen Links und entsprechender Handler u
98. ht ffentlich l schen von der Seite bernehmen Call Logs G Anruf Logging Zugriff auf Netzwerkunabh ngig ee verschiedene Informationen zu nicht ffentlich den get tigten Anrufen nicht ffentlich Tabelle 8 WTA Bibliotheken Der Aufruf einer WTAI Funktion aus einer WML Seite erfolgt wie folgt lt go href wtai library function parameters gt Dabei ist library der Name der Bibliothek die die Funktion function enth lt parameters sind durch Semikolon getrennte Werte die an die Funktion bergeben werden Die WTAI Funktionen k nnen genauso innerhalb von WMLScript aufgerufen werden wie z B diese Funktion aus der Public WTAI Bibliothek Library functionNane Parameter Die ffentliche WTAI Bibliothek wp enth lt Funktionen zum Behandeln von Anrufen Senden von DTMF Tonfolgen und zum Manipulieren von Telefonbucheintr gen So kann das Absetzen eines Anrufs aus einer WML Datei erfolgen lt go href wtai wp mc 766321002 gt Derselbe Funktionsaufruf aus WML Script WTAIPublic makeCall 766321002 Der Anruf kann mit Hilfe der blichen Benutzerschnittstelle Gespr ch Beenden Taste terminiert werden Die Funktion zum Senden von DTMF T nen hei t sa in WML und senaptmr in WMLScript und wird analog zur Funktion makecal verwendet Die letzte Funktion erlaubt das Hinzuf gen von Telefonbucheintr gen Als Parameter werden die Telefonnummern und der Name der Person bergeben lt go href w
99. hungen der Ger te und insbesondere die hnlichkeit des WML Codes zum Ausdruck bringt ist es m glich nur die Seiten zu spezifizieren die auch ger teoptimiert werden m ssen Die identischen Seiten werden in den Eltern Knoten gespeichert wobei der Spezialisierungsgrad zu den Bl ttern hin steigt Um die am besten angepasste Datei zu finden ist es erforderlich den logischen Baum von den Bl ttern aus zur Wurzel hin zu durchsuchen z B im Falle von Nokia 7110 werden laut der Konfigurationsdatei folgende Unterverzeichnisse nacheinander durchsucht bis die angeforderte Date gefunden wird e das nokia7110 Unterverzeichnis das nur die an Nokia 7110 angepasste Datei anonymous wml enth lt e das nokia Unterverzeichnis das den vollen Satz von WML Templates enth lt d e f r Nokia Ger te optimiert sind e das wm1 Unterverzeichnis das den vollen Satz von WML Templates enth lt die generisch sind Sie werden aufgerufen wenn z B der f r Nokia optimi erter Datensatz nicht vollst ndig ist weil eine Optimierung nicht n tig ist oder keine optimierten Dateien z B m Falle eines neuen Ger tes generiert wurden Der logische Baum der das repr sentiert sieht folgenderma en aus vollst ndiger Oslensilz BRENNER La Hicht optimieri l Hecht vollzandpet istensalz hoclsplemaen Clen Sucht Er wird immer cme am besten angepnerte Dalei Fir das Geri gefimlen Abbildung 29 Logischer Baum Speicherun
100. iablennamen kurz gew hlt werden um die Bytegr e der WMIL Seiten m glichst gering zu halten Die input Tags m ssen sich innerhalb eines eigenen p Elementes befinden da es sonst Probleme bei S emens Ger ten gibt falls ein Link vor einem input Tag definiert ist WML lt p gt Endger te und lt input type typel name namel value valuel size sizel format format1l gt WMLPLUS lt input type type2 name name2 value value2 size size2 format format2 gt lt br gt lt a href ZielURL s s gsamp parameter1 S S namel amp amp parameter2 name2 gt Senden lt a gt lt p gt Tabelle 22 Eingabefeld Definition Falls der Wert eines Eingabefeldes servergesteuert vorbelegt werden soll wird es mit Hilfe der serverseitigen Substitution initialisiert indem man value substitutions setzt 82 Das format Attribut soll verwendet werden obwohl es mangelhaft unterst tzt wird da es zumindest das Umschalten zwischen Buchstaben und Ziffern sichert Dabei ist das Sony Ger t eine Ausnahme es ignoriert das format Attribut 5 3 3 4 Auswahllisten Die Auswahllisten dienen dazu aus einer vordefinierten Liste einen oder mehrere Eintr ge auszuw hlen Die Auswahllisten werden aufgrund derselben Probleme w e Texteingabefelder in eigenem p Element definiert WML 7 5 lt select name namel value valuel gt Endger te und lt option value choicel gt Titel 1 lt option gt WMLPLUS lt opL 1on value cheicez gt Titel 2 lt 0p
101. iator Server zum Client zu senden Diese Protokolle sind unabh ngig vom WAP Stapel Der Server der das Mobilfunknetz und das Internet verbindet hei t Push Proxy Gateway PPG Der Server der die Daten an den Client sendet hei t Push Initiator PI F r die Verbindungstrecke ber das Internet wird das Push Access Protocol PAP verwendet F r die Mobilfunkstrecke wird Push Over the Air OTA verwendet das auf dem WSP aufsetzt Die Abbildung 16 verdeutlicht das Distributionsmodell des Push Mechanismus Mobiles Push Proxy Push Ger t N Gateway N Initiator Mobilfunk Internet netzwerk Push Over the Air Push Acces Protokoll OTA Protokoll PAP Abbildung 16 Push Mechanismus Die Push Nachrichten die auf einen Client geladen werden werden als Nachrichten mit dem MIME Type multipart related gesendet Eine Push Nachricht enth lt eine Kontroll Entit t die in XML Format definiert ist und eine Entit t mit dem Inhalt der vom Client angezeigt 47 oder verarbeitet werden kann Die Inhalte k nnen vom beliebigen Typ sein m ssen aber vom Client unterst tzt werden Dazu z hlen in erster Linie die W AP Dateiformate wie WML und WMILsScript Als Best tigung w rd vom Client eine Push Antwort gesendet die dem PI den Status der Lieferung bermittelt d h ob die Push Nachricht vom UA akzeptiert oder abgelehnt worden oder ein Fehler w hrend der behrtragung aufgetretten ist Mit Hilfe des Push Mechan smus sind eine Reihe vo
102. id c1l title Portaloptionen gt lt card id c1l title Portaloptionen gt lt p align center gt o Porsaloptionen 70 lt p gt lt p gt zp lt select gt OPEO Dr onpick c2 gt Landessprache lt option gt lt a href c2 gt Landessprache lt a gt LOPE LON Loro onpick de myPortal welcome wml s S s lt a href de myPortal welcome wml s S s g amp amp c Scounter gt Home gamp c ScounterS gt Home OLO lt a gt S anonymous S anonymous lt epr 1on or onpiek Wide nyPort el Treg S rac ronn wm lt a href de myPortal registration wml Ss 2 emere come Leon Bern See come Er a er Em op on lt a gt S lanonymous S S S lanonymous S S OpcLon ber onpiek de myPortal logofzf wml s S s lt a href de myPortal logoff wml s S S s gamp c Scounter gt Abmelden lt option gt gamp c Scounter gt Abmelden lt a gt Sanonymous S Sanonymous S LOPE ON be onpick de help info wml s S s lt a href de help info wml s S s gamp c ScounterS gt Info lt option gt gamp c Scounter gt Info lt a gt lt select gt lt br gt lt br gt lt p gt lt p gt 71 lt do label Zur ck type accept gt lt prev gt lt do gt lt card gt lt card id c2 title Landessprache gt lt onevent type onenterforward gt lt refresh gt lt setvar name 1 value de gt lt refresh gt lt onevent gt lt p align center gt lt b gt Landessprache lt b gt lt p
103. ie Eigenschaften des Endger tes nicht ber cksichtigen Kann werden zus tzliche Mechanismen ben tigt die diese Funktion erf llen Es stellt sich die Frage warum man auf die Ger teunabh ngiskeit berhaupt eingehen muss da der WAP Standard eindeutig beschreiben soll wie die WML Tags interpretiert werden sollen Das grundlegende Problem ist aus der Erfahrung mit den HTML Browser bekannt unterschiedliche HTML Browser stellen den gleichen HTML Code verschieden dar und interpretieren die Skripte auf verschiedene Weise so dass verschiedene Browser gesondert behandelt werden m ssen Die WAP Spezifikation wurde bewusst vom WAP Forum so formuliert dass die Ger tehersteller nicht alle Elemente zu implementieren brauchen Es wird sp ter im Kapitel 3 6 3 anhand der WAP Spezifikation gezeigt welche Formulierungen den Ger teherstellern die Freiheit geben die gleichen WML Elemente auf verschiedene Art und Weise zu implementieren E n weiterer Aspekt der eng mit der Ger teunabh ngigkeit zusammenh ngt ist die Benutzbarkeit Der Begriff Benutzbarkeit oder Usability umfasst alles was sich auf 12 die Optimierung des Quellcodes n Bezug auf Ergonomie Lesbarkeit Minimierung der Anzahl der f r eine Eingabe oder Navigat on erforderlichen Tastenbet tigungen bezieht also mit der Anpassung des Quellcodes an die spezielle Benutzerschnittstelle eines Endger tes zu tun hat Da viele Ger te Zusatzfunktionen bieten die im WAP Standard nicht vo
104. ie Funktionen aus WML oder WMIL Script zu aktivieren 24 3 2 2 WAP Distributionsmodell Um WAP zu verstehen ist es wichtig sich zu veranschaulichen wie die Daten vom Server zum mobilen Ger t kommen Die WAP Anwendungen werden von normalen Internetservern auch Origin Server genannt zur Verf gung gestellt Dabei kann eine Web und eine WAP Anwendung auf demselben Server installiert sein Imm2000 WAP Client WAP Gateway n o HTTP Server Anfrage Weiterleitung Aufruf einer Dekodierung der WML Seite Bin ranfrage Bereitstellung N von Dateien Mobilfunknetz Internet WML WMLScript Anzeige der WBMP angeforderten etc WMIL Seite Konvertierung Weiterleitung Antwort Abbildung 12 WAP Distributionsmodell Die jeweiligen MIME Types m ssen eingetragen sein Die MIME Types und die entsprechenden Dateitypen sind folgende Imm2000 und Areh2000 MIME Types Datei Typen text vnd wap wml wml test vnd wap wmlscript wmls WMLsScript t image vnd wap wbmp wbmp Tabelle 3 WAP MIME Types In der Mitte des bertragungsweges befindet sich das WAP Gateway ein Proxy Server der das mobile Netz mit dem Web verbindet Das WAP Gateway wird meistens von den Netzanbietern zur Verf gung gestellt und leistet eine Reihe von Diensten n erster Linie die Umsetzung der in Textform vorliegenden WML und WMLscript Dateien in das platzsparende bin re Format WBXML WAP Binary XML Dabei wird die Information mit Ausnahmen von redundanden I
105. ig falls die Verbindung l nger nicht aktiv benutzt und ein Time Out Wert berschritten wird Ein weiterer Nachteil der GSM Netze ist die Abrechnung nach der Verbindungsdauer und nicht nach dem Datenvolumen 2 4 3 HSCD Die n chste Ausbaustufe die auf GSM Netzen basiert ist HSCD und erlaubt die Transferraten von bis zu 76 8 KBit s c t2000 HSCD ist seit einem Jahr im Einsatz allerdings wird die maximale Datenrate auf 28 8 KBitl s begrenzt HSCD arbeitet mit B ndelung von 2 bis 8 Kan len und einer Bandbreite von 14 4 KBit s pro Kanal Die h here Datenrate gegen ber einem blichen GSM Kanal ist aufgrund der verminderten Fehlerkorrektur m glich HSCD hat aber folgenden Nachteil von GSM vererbt um eine Verbindung zu etablieren muss man sich Einw hlen dadurch bleibt man w hrend der ganzen S tzung online und blockiert so die knappen Netzressourcen Au erdem erfolgt die Abrechnung nach Online Zeit 2 4 4 GPRS Ein weiteres Verfahren namens GPRS das auch auf GSM Netzen basiert hat eine noch h here bertragungsrate von bis zu 160 KBit s erfordert aber weitgehende Eingriffe in die GSM Infrastruktur Das Verfahren arbeitet vollst ndig paketorientiert d h das Endger t bleibt die ganze Zeit aktiv und belegt die Funkkan le nur dann wenn auch tats chlich die Daten bertragen werden Die Abrechnung erfolgt nach dem tats chlich bertragenen Datenvolumen 2 4 5 EDGE Mit EDGE werden noch h here Datenraten von bis zu 473 6 KBit
106. igieren zu dieser Karte also infolge der Aktivierung eines Links reinitialisiert Die Reinitialisierung des User Agents beinhaltet folgende Schritte e Entfernen aller Variablen des aktuellen Browser Kontextes aus dem Speicher e Entfernen aller Eintr ge aus dem Navigationsverlauf in dem die zuletzt besuchten Adressen gespeichert wurden und e Zur cksetzen des internen Zustandes auf einen wohldefinierten Wert 3 2 5 WMLScript WML script wurde auf Basis von ECMAScript Areh2000 entwickelt und ist das Gegenst ck zu den in der HTML Welt verwendeten cl entseitigen Skriptsprachen wie JavaScript oder VBScript WMLsScript kann f r Berechnungen Datenauswertungen und Generierung von dynamischen und interaktiven Inhalten ohne die Serveranfragen verwendet werden WMLsScript wurde wie auch WML als ein Teil der Anwendungsschicht entwickelt um auf den Clients mit begrenzten Ressourcen wie Rechenleistung Speicher Datendurchsatz und Batterielebensdauer zu laufen Die vom WMLsScript zur Verf gung gestellten Arithmetik und String Bibliotheken k nnen eingesetzt werden um die Benutzereingaben zu berpr fen und dann an den Server zu senden oder ggf zu korrigieren bzw den Benutzer zur Eingabe von korrekten Daten aufzufordern Dadurch dass WMLsScript modular aufgebaut ist k nnen die Ger tehersteller eigene Bibliotheken entwickeln d e den nativen Zugriff auf ger teeigene Funktionen erm glichen Diese Funktionen k nnen folgende sein Kal
107. ignis ausgel st wird 33 Generelle Vorgehensweise ist folgende lt card id card1i title Erste Card gt lt onevent type Type gt lt task gt lt onevent gt lt card gt Dabei kann Type durch die Werte ontimer onenterforward onenterbackward ersetzt werden Das onpick Ereignis wird in Auswahllisten verwendet und kann hier nicht eingesetzt werden Der task Tag kann eines von den oben beschrieben Elementen sein Hier ist ein Beispiel das die Verwendung des onenterforward Ereignisses verdeutlicht lt card id card1 title Erste Card gt lt onevent type onenterforward gt lt go href card2 gt lt onevent gt lt card gt lt card id card2 title Zweite Card gt lt card gt Beim Anw hlen eines Links der auf das Deck oder die erste Karte zeigt wird sofort die zweite Karte angesprungen Dieses Beispiel kann f r den Fall des go Tasks folgenderma en vereinfacht werden lt card id card1 title Erste Card onenterforward card2 gt lt card gt lt card id card2 title Zweite Card gt lt card gt Diese Vereinfachung funktioniert auch mit dem ontimer und dem onenterbackward Ereignis in Verbindung mit dem go Task Das onpick Ereignis nimmt eine Sonderstellung ein da es sich nicht auf die Ereignisse von Karten und Decks sondern auf die Auswahllisten bezieht die durch den option Tag definiert werden Das onpick Ereignis wird also sp ter im Zusammenhang mit den Auswahllisten im K
108. ion Tracking bezeichnet daf r eingesetzt um die Zuordnung von verschiedenen Clients die gleichzeitig mit dem System kommunizieren zu erm glichen Die serverseitige Verwaltung von den Clientzust nden st deswegen notwendig weil die Benutzerschnittstelle Elemente enth lt wie Radio Buttons Auswahlboxen etc mit denen das Verhalten des Systems beeinflusst werden kann Deswegen besteht der Bedarf die Einstellungen die vom Benutzer durchgef hrt wurden an den Server zu bermitteln Dabei kann die Synchronisation unmittelbar nach der nderung des Clientzustandes oder erst bei der n chsten Anfrage durchgef hrt werden Das Detektieren und Verwalten des Client Types st f r die Implementierung der Ger teunabh ngiskeit von Bedeutung Um z B eine an ein bestimmtes Ger t optimierte Seite zu senden muss das Ger t erkannt und einer Ger teklasse zugeordnet werden Die darunter liegende Schicht soll alle Dienste bereitstellen die den Funktionsumfang eines Portals darstellen Diese Dienste m ssen m glichst modular aufgebaut sein und ber eine standardisierte Schnittstelle verf gen Sie k nnen die Operationen auf Benutzerdaten wie neuen Benutzer Anlegen Benutzer L schen oder auch z B SMS Senden Dokument L schen etc bereitstellen Um die Daten persistent zu speichern ist eine weitere Schicht vorhanden Nach oben hin bietet diese Schicht eine Schnittstelle die von der eigentlichen Speicherungsmethode abstrahiert Das hat den V
109. iothek enth lt Funktionen f r Flie kommaoperationen wie Exponenten und Wurzelberechnung Es gibt jedoch keine tr gonometrischen Funktionen e Die Bibliothek String enth lt Funktionen mit denen sich Stringmanipulationen durchf hren lassen e Die URL Bibliothek stellt Funktionen zum Extrahieren von verschiedenen Elementen einer URL zur Verf gung wie Host Name Port Protokoll Pfad etc e Die Dialog Bibliothek erlaubt dem Entwickler aus dem WMlL Script Meldungen in Form von Dialogboxen anzuzeigen e Mit Hilfe der WMLBrowser Bibliothek ist es m glich Zugriff auf die WML Var ablen zu erhalten und andere WML Browser Tasks wie refresh oder prev auszuf hren Hier ist ein Beispiel das zeigt wie ein Aufruf aus einem WML Deck erfolgt und wie die Variablen an eine Funktion in einer WMLScript Datei bergeben werden WMIL Script Date mit dem Namen script wmls extern function foobar varl var2 var3 var result varl var2 wMLBrowser setVar var3 result wMLBrowser refresh Die entsprechende WML Date aus der die WMLScript Funktion aufgerufen wird muss folgende Elemente enthalten lt wml gt lt card gt lt onevent type onenterforward gt lt rerresn gt lt setvar name paraml value 2 gt lt setvar name param2 value 5 gt lt refresh gt lt onevent gt lt p gt paraml param2 x lt br gt lt a href script wmls foobar Sparaml param2 x gt Berechnen lt a gt lt p gt
110. iten implementiert werden m ssen Ein Beispiel daf r sind das Ger t Nokia 7110 und die Ger teklasse Nokia deren WML Seiten weitgehend identisch sind au er dass die anonymous wm1 Datei des Nokia 7110 Ger tes sich durch die Verwendung von Bildern s Kapitel 4 3 9 unterscheidet und als einzige Seite speziell f r Nokia 7110 implementiert wird Alle anderen Seiten werden von der Nokia Ger teklasse vererbt Die logische Baumstruktur wird in der properties txt Datei gespeichert deren Aufbau im Kapitel 5 4 4 beschreiben wird 5 4 2 Automatische Identifikation der Ger te Die Identifikation der Ger te erfolgt mit Hilfe des Useragent Strings der vom Client an den Server IM UserAgentString Header gesendet wird und serverseitig ausgewertet werden kann Die einzelnen Ger te haben folgende User Agent Strings SIE C31 3 0 UP 4 1 16m Gatewaystring SIE S35 1 0 UP 4 1 8c Gatewaystring Yospace com HTML Nokia 7110 v1 3 compatible YOSPACE SmartPhone Emulator 1 2 Emulator Sony CMD Z5 Mozilla 1 22 compatible MMEF20 Sony CMD Z5 Gatewaystring Palm Pilot 100 mit AUR PALM WAPPER WAP 1 1 Gatewaystring AUSystem Browser Windows Up Browser MOT CB 0 0 18 UP 4 0 10 UP Browser 4 0 10 XXXX A UP Link 4 1 HTTP DIRECT Emulator mit Motorola Timeport Skin Kein Browser Gatewaystring UP Link 4 1 0 6 UP Link Gateway Tabelle 30 User Agent Strings Dabei sind die User Agent Strings verschiedener Ger te nicht standardisiert d h ma
111. k abschlie en 2 Architektur Modell und Funktionsumfang eines Portals 2 1 Bestehende Internet Technologien Um auf die Architektur eines Web Portals einzugehen ist es wichtig einen berblick ber die bestehenden Technologien zu verschaffen Diese k nnen auf verschiedenen Abstraktionsebenen betrachtet werden Eine davon ist das Schichtenmodell das in diesem Kapitel verwendet wird Das Internet basiert auf einem Stapel von Protokollen d e die Schichten bilden so dass die oben anges edelten Protokolle ein h heres Abstraktionslevel haben als die Schichten darunter liegenden Schichten Das Internet l sst sich in Anlehnung an das ISO OSI Schichtenmodell IKAU 94 beschreiben Das OSI Referenzmodell enth lt folgende sieben Schichten 7 Anwendungsschicht Application Layer Zu 6 Datendarstellungsschicht Presentation Layer S 5 Kommunikationssteuerungsschicht Session Layer a 4 Transportschicht Transport Layer 3 Vermittlungsschicht Network Layer S 2 Verbindungssicherungsschicht Link Layer A 1 Bit bertragungsschicht Physical Layer Abbildung 1 ISO OSI Referrenzmodell Jede Schicht bildet einen Service der nur von den Nachbarschichten benutzt werden kann Dabei kann die Implementierung der jeweiligen Schichten sich in Abh ngigkeit vom eingesetzten System unterscheiden Die Schnittstellen zwischen den Schichten sind wohldefiniert und erlauben dadurch den Austausch der Schichten Implemen
112. late lt card id card3 title Dritte Card gt lt onevent type onenterforward gt lt noop gt lt onevent gt lt onevent type ontimer gt lt go href card2 gt lt onevent gt lt timer value 30 gt Die dritte Karte berschreibt das Template Ereignis und definiert ein zus tzliches Timer Ereignis Der Wert des Timers ist auf 3 Sekunden eingestellt Die Sofkey Defnition wird vom Template bernommen lt p align center gt lt big gt lt b gt Dritte Card lt b gt lt big gt lt p gt lt card gt lt wml gt Zugegebenerma en w rde man in diesem Falle das Ereignis nur in der zweiten Karte definieren und nicht im Template Das Beispiel ist aber zum Veranschaulichen der berschreibmechanismen gut geeignet Die Abbildung 14 zeigt die Navigationsm glichkeiten die im obigen Beispiel implementiert sind f f f Erste GEH Erste Card me en Dritte Card onenterforw N un C Zweite Orp Zweite Card 8 Zur ck i ee 8 Abbildung 14 Template und Shadowing 36 WML bietet etwas verschiedene Maskierungsmechanismen f r Softkeys und Ereignisse Die Softkeys werden nicht durch das gleiche type Attribut w e Ereignisse maskiert sondern durch das bereinstimmen der name Attribute So wird der im Template definierte Softkey vom Typ prev durch den Softkey vom Typ accept maski ert da die beiden das gleiche name Attribut haben Auf der Abbildung 14 ist die
113. liebig gro jedoch auf Zeichen Ziffer klein umschaltbar erster Buchstabe Zwei Paar Ziffern nur Kleinbuchstaben beliebig gro jedoch auf durch getrennt der Wert wird der erster Buchstabe Vier Zeichen durch nur Kleinbuchstaben beliebig gro jedoch auf _ getrennt _ wird nicht klein umschaltbar Variablen nicht zugewiesen erster Buchstabe max 3 Ziffern Ziffernfolge beliebiger beliebig gro jedoch auf L nge klein umschaltbar Tabelle 11 Unterst tzung des ormat Attributes Es gibt keine M glichkeit das richtige Verhalten auf der WML Ebene zu erzwingen d h das format Attribut kann nicht als Maske f r die Daten verwendet werden um z B korrektes Datenformat sicherzustellen Mit der Hilfe eines WMLscript kann eine bessere Datenvalidierung implementiert werden Hier ist ein Beispiel das die Validierung eines Email Formates durchf hrt Das Email Format soll dem Format xx x xx x xxx also der Kombination von min 2 Zeichen Zeichen min 2 Zeichen 2 oder 3 Zeichen entsprechen Hier ist ein Beispiel Fragment aus der WML Date in der die WMlLscript Funktion aufgerufen wird lt input name email emptyok false gt lt a href email wmls validate email unescape gt Email senden lt a gt G ltige Email valid Hier ist der Inhalt der Datei email wmls 66 extern function send strEmail validate strEmail wMLBrowser setVar val id validate strEmail
114. m glich die Menge der Daten die in einem WML Deck dargestellt werden vorher zu bestimmen Es muss also einen serverseitigen Mechanismus geben der die dynamischen Inhalte auf mehrere Decks aufteilt Die Deckgr enbeschr nkung h ngt aber nicht nur von den Endger ten selbst sondern auch von dem eingesetzten WAP Gateways ab Das UP Link Gateway hat eine Beschr nkung der Deckgr e auf 2000 Bytes 4 4 Ergebnisse der Problemanalyse Die Analyse der WAP Implementierung und der WML Implementierung im Speziellen zeigt dass es viele Defizite sowohl in der Spezifikation als auch in der Implementierung dieses 12 Standards gibt Zum Teil verursacht die Spezifikation die M ngel in der Implementierung der Elemente dadurch dass die Elemente als optional spezifiziert werden s Kapitel 3 6 3 Als Folge davon haben viele Ger te eine unvollst ndige WML Implementierung Textformatierungstags und Tabellen werden nicht von allen Ger te unterst tzt das title Attr but wird von vielen Ger ten ignoriert Die WML Spezifikation erlaubt das Aussehen des Textes durch wenige Elemente wie Textformatierungstags und mode Attribut mit dem sich das Zeilenumbruchverhalten steuern l sst zu beeinflussen Es bietet jedoch keine Mechanismen das Layout genau zu gestallten Bei einigen Ger ten ist der WAP Standard sogar fehlerhaft implementiert so f hrt die Kombination aus setvar und img Tags bei dem Nokia 7110 in einigen F llen sogar zum Absturz des Ger
115. m ssen bei jedem neu hinzukommenden Ger t N Dateien neu generiert bzw angepasst werden e Bei der dritten M glichkeit ist der Speicherungsaufwand genauso gro wie bei der zweiten jedoch m ssen nur N Dateien entwickelt werden die den Dienst in einer ger teneutralen Form beschreiben und weitere M Dateien die die Information ber die Ger teeigenschaften enthalten und zum Transformieren der ger teneutralen in die ger tespezifischen Dateien verwendet werden Daraus ergibt s ch der Entwicklungs und Pflegeaufwand von N M und liegt somit deutlich niedriger als bei der zweiten Alternative Die Abbildung 6 verdeutlicht die drei M glichkeiten die Ger teunabh ngiskeit zu erreichen Da davon ausgegangen werden kann dass die Ger te in Klassen aufgeteilt werden k nnen und einige Dateien verschiedener Ger te gleich sein k nnen kann man diese Redundanzen eliminieren und somit den Speicherungsaufwand vermindern Die Aufteilung der Ger te in Klassen ist deswegen m glich weil verschiedene Ger te vom gleichen Hersteller beinahe identische Software benutzen und hnliche Bedienungselemente haben Es gibt auch Browser Hersteller deren Browser von verschiedenen Ger teherstellern eingesetzt werden so dass verschiedene Ger te hnliches Verhalten aufweisen k nnen obwohl s e von verschiedenen Herstellern kommen 13 Ger teneutraler Ger tebeschreibungs Datensatz dateien J Generischer Datensatz Ger tespezifische Datens tze
116. m Endger t funktioniert Die Schwierigkeit bei der Ger teoptimierung liegt nicht nur in der unterschiedlichen Unterst tzung von WML Elementen sondern auch darin dass die meisten Informationen ob und wie die WML Elemente und deren Attribute unterst tzt werden nicht von den Ger teherstellern selbst stammen sondern erst durch Tests ermittelt werden mussten Die Ger tehersteller lieferten mit hren eigenen Style Guides zwar eine gewisse Anregung geben aber keinen Anhaltspunkt f r die Implementierung der Ger teunabh ngiskeit Auch verschiedene Fehler in der Implementierung erforderten mehr serverseitige Verarbeitung Es bleibt zu w nschen dass sowohl der Wortlaut der zuk nftigen WAP Spezifikationen als auch die Qualit t der Implementierung sich zum Positiven entwickelt Auch genereller Umfang an WML Elementen vor allem Layout Funktionen und Multimedia Unterst tzung soll an die steigende Leistungsf higkeit der modernen Mobilfunknetze angepasst werden damit WAP zu HTML konkurrenzf hig wird Doch der wirkliche Vorteil der mobilen Dienste kann nur dann ausgereizt werden wenn die Schnittstelle zu den Lokalisierungsdiensten spezifiziert und in WAP integriert ist und die damit zusammenh ngenden datenschutzrechtlichen Fragen gekl rt sind Technisch gesehen gibt es schon seit langem solche Mechanismen die das Lokalisieren eines Mobilfunkteilnehmers erm glichen Unter dem Strich berzeugt der WAP Standard durch seinen soliden Grundkon
117. n Die statischen Inhalte bilden die so genannte Web Clipping Applikation Die dynamischen Inhalte werden als Clippings bezeichnet Falls man eine Web Seite speziell f r Web Clipping entwickelt hat kann man die Seite als Palm tauglich mit Hilfe von meta Tags definieren 55 4 Endger tebeschreibung Dieses Kapitel stellt den Kern dieser Arbeit dar und beschreibt die Unterschiede in der WAP Implementierung von f nf mobilen Endger ten Dabei wird auf die ger tespezifischen Eigenschaften und Anomalien der Implementierungen des WAP Standards eingegangen Es gibt eine Reihe von verschiedenen WAP f higen Ger tetypen Dazu z hlen mobile Telefone PDAs mobile Telefone mit Organ zer Funktionen Browser f r PCs und Software Emulatoren Diese Ger te sind f r verschiedene Zielgruppen entwickelt worden und haben verschiede Software und Hardware Ausstattungen Einige Endger te vorwiegend PDAs k nnen verschiedene WAP Browser verwenden da diese als installierbare Software implementiert sind und sich jederzeit aktualisieren oder durch einen anderen Browser ersetzen lassen Anders sieht es bei den mobilen Telefonen aus deren WAP Browser ein integrierter Bestandteil des Betriebssystems ist der sich nicht ohne weiteres auf den neuesten Stand bringen l sst So k nnen einige Implementierungsfehler durch den Endanwender nicht beseitigt werden Daf r gl nzen die mobilen Endger te durch die perfekte Zusammenarbeit zwischen dem WAP Browser und d
118. n orata ine History Eintrag vornehmen k Seite 4yWeserleiiung caate sallcml Sn Feite A darstellen prier K Sschibarer Handler en P Best tigung senden BE Anut emer Blicz EB mery hian m zichibaren Seite oichiharer Harlber Sate B selre g Selle Senden E wml saite pa darstellen ai a 0 SEES SER Unsschtbarer Handler a Falk Emra nicht vormden Fkikw atana sche zu 2 smiat gehe zu 3 1 Akt c Weering 5 y a gm 3 7 create wal a E Seile A deite A S chibarer Handller men darstelben Best ligunge serilen Abbildung 34 Serverseitige Mechanismen zur Detektierung der R ckw rtsnavigation 95 Die Abbildung 34 zeigt die Implementierung der R ckw rtsnavigation Detektierung Es wird serverseitig eine History gef hrt in der die URLs der aufgerufenen Seiten mit Seiteneffekt gespeichert werden Dadurch dass die URLs einen Counter HTTP Parameter enthalten kann man durch den Vergleich des aktuellen Z hlerstandes mit dem in der URL enthaltenen feststellen ob es sich um eine URL aus der History des Clients oder um eine aus dem direkten Linkaufruf handelt Um die Ger te die den Seitencache erwartungsgem verwalten von den Ger ten die eine gepufferte Seite jedoch vom Server anfordern zu unterscheiden wird in der Konfigurationsdatei properties txt ein entsprechender Eintrag gemacht s Kapitel 5 4 4 5 4 9 Deckgr enbeschr nkung und Seitenlistenvorlagen Alle verwendeten Ger t
119. n die mobile Telefone als Clients verwenden kann die Erkennung der Clients anhand der m Ger t oder auf SIM Karte gespeicherten Identifikationsnummer erfolgen Den Zugang zu dieser Nummer haben aber nur die Funknetzbetreiber so dass f r die Dritt Dienstanbieter diese Information nicht zur Verf gung steht Authentifizierung Es soll vom System sichergestellt werden dass es sich bei der Person die mit dem System arbeitet um die dazu berechtigte Person handelt Zu diesen Zwecken k nnen passwort bas erte Anmeldeverfahren und persistente serverseitige Speicherung von Nutzerdaten eingesetzt werden Au er den passwort bas erten Verfahren k nnen andere wie verschiedene biometrische Verfahren die jedoch zus tzliche Hardware Anforderungen stellen eingesetzt werden Personalisierung Der Benutzer soll seine eigenen Einstellungen und Eintragungen durchf hren und speichern k nnen Es soll f r den Benutzer die M glichkeit bestehen die von ihm ben tigten Portal Dienste aktivieren und deaktivieren seine Links zu verwalten Inhalte zu abonnieren oder auch den mobilen Zugang komfortabel ber den Web Interface zu konfigurieren Zur Personalisierung geh rt auch die Veraltung von Benutzern die im System registriert sind Au erdem soll jeder Benutzer seine eigenen Anmeldeinformationen editieren k nnen Die Gruppenverwaltung soll erm glichen die Benutzer 8 verschiedenen Gruppen zuzuweisen und so eine Autorisierung auf Gruppenebene
120. n Tracking Client Identifizierung und Verwaltung sowie Substitution verantwortlich sind e Die dar ber liegende Handler Schicht bedient sich der Klassen in den unteren Schichten Im hnana er Package ist die Anwendunsgslogik des Systems gekapselt e Eine weitere Schicht die jedoch nicht mehr durch Java Packages reflektiert wird bilden die HTML Templates Es sind vorgenerierte HTML Seiten die mit Hilfe der Handler dynamisch mit dem Inhalt gef llt werden e Die oberste Schicht bildet die server Schicht die Anfragen vom Client entgegennimmt und die Parameter sowie HTTP Header aus den Anfragen extrahiert Die Abbildung 8 stellt die Software Architektur des infoAsset Broker dar customization Es u handler txt properties txt server handler HTTP F 3 eTa session BIES EA Sessions Session Handi Template p interfaces Abbildung 8 infoAsset Broker Architektur Quelle infoAsset AG Jedes Package kann mit zus tzlichen Klassen erweitert werden ohne dass dabei die bestehenden Klassen ge ndert werden m ssen Falls z B eine neue Funktionalit t hinzugef gt werden soll wird eine neue Klasse dem services Package hinzugef gt und neue Handler und Templates geschrieben um die Funktionalit t dem Benutzer verf gbar zu machen Die grundlegende Mechanismen wie Session Tracking Substitution und Handler die zum Verst ndnis der Funktionsweise des Brokers beitragen und f r die Realisierung der WAP Erweiterung no
121. n WAP Diensten m glich wie z B folgende Benachrichtigungsdienste e Benachrichtigung ber Aktienkurse falls eine Aktie einen bestimmten Wert erreicht hat e Benachrichtigung ber eingegangene Meldungen wie Emails Voice Nachrichten etc e Empfang einer elektronischen Zeitung e seb hrenabrechnung oder Telefonrechnung etc Bei der Verwendung der Push Technologie entsteht jedoch ein Problem denn es k nnen einige PIs an die Endger te die Inhalte hoch laden die vom Benutzer gar nicht erw nscht sind Es ist durchaus m glich die Authentisierungsmechanismen und Filterfunktion zu aktivieren doch je strenger die Restriktionen werden desto st rker leidet die Benutzbarkeit darunter Anderseits ist es theoretisch m glich die Sicherheitsmechanismen umzugehen und z B Werbeinhalte zu versenden wie es heute schon per Email der Fall ist 3 4 WAP Sicherheit WAP bietet einen Mechanismus der hnlich der Internet Sicherungsschicht ist WTLS basiert auf TLS und gilt bei entsprechend starker Verschl sselung als sicher Doch die Problematik ist folgende Dadurch dass WTLS die Funk bertragungsstrecke und TLS die Internet bertragungstrecke unabh ngig von einander sichern liegen die Inhalte auf dem WAP Gateway praktisch auch f r l ngere Zeit zu Cache Zwecken unverschl sselt Au erdem m ssen die Daten dem WAP Gateway unverschl sselt vorliegen um die notwendigen Konvertierungen durchzuf hren Als Drittpartei hat das WAP Gateway zu
122. n definierter aber nicht unmittelbar sichtbarer Softkey muss durch mehrmaliges Bet tigen der rechten Display Taste rechts sichtbar gemacht werden Das ao Element vom Typ options Kann ber die rechte Display Taste erreicht werden falls auf dem Display der Label Men angezeigt w rd Danach wird eine Liste von allen ado Elementen vom Typ options angezeigt Das ao Element vom Typ prev st mit einer Taste festverdrahtet worden d h weder die Funktion die nach dem Bet tigen dieser Taste ausgef hrt wird noch die Beschriftung lassen sich ndern Ein Versuch dieses Verhalten zu berschreiben wird einfach ignoriert Falls man dennoch einen Softkey mit Zur ck Funktion definieren m chte muss man auf andere daf r geeignete Typen ausweichen So ein Typ ist z B accept Es sind aber auch viele anderen Typen wie z B help dazu geeignet Der Nachteil dieser Vorgehensweise ist dass der lokale Kontext d h die Abh ngiskeit der Softkey Belegung von den auf der Karte befindlichen Elementen wie Links Auswahlmen s etc entscheidet ob der Softkey sofort zu sehen st oder ob er erst durch das mehrfache Bet tigen der rechten Display Taste links sichtbar gemacht werden kann Man kann den Softkey auch durch das Bewegen des Cursors auf einer Stelle die frei von fokussierbaren Elementen ist sichtbar machen Es wird die Problematik deutlich dass bei den Endger ten die die Sofkeys mit physikalisch vorhandenen Tasten realisieren das Problem
123. n kann bei einem unbekannten Ger t nicht ohne weiteres die Informationen wie den Herstellernamen die Software die Software und Hardware Vers on sicher extrahieren Au erdem wird bei Verwendung eines UP Link Browsers n Kombination mit einem UP Browser bas erten Endger t und einigen anderen wie AU System Browser ein vom WAP Gateway stammender String angeh ngt s untere Zeile in der Tabelle 30 Das Gateway hat einen zus tzlichen Einfluss auf die maximale zul ssige Deckgr e Die Deckgr enbeschr nkung wird im Kapitel 5 4 9 behandelt Um einem Endger t ger teoptimierte WML Seiten anbieten zu k nnen muss das erkannte Ger t dem Server bekannt sein Durch den Vergleich des AuserAgent Strings mit den aus dem properties txt File eingelesenen pattern Attribute im UserAgent String versucht der Server das Endger t zu erkennen Schl gt der Versuch fehl weil z B ein neues nicht in der Konfigurationsdatei enthaltenes Ger t benutzt wird versucht der Server anhand des Accept Headers festzustellen ob der Client W AP f hig ist oder ob es sich um einen HTML Client handelt 5 4 3 Endger teverwaltung Die Schnittstellen und Klassen die f r die Client Erkennung und Verwaltung zust ndig sind sind die userAgent Schnitstelle userAgentclass Schnittstelle und userAgentFactory Klasse UserAgentFactory Klasse liest die useragentclass useragent und restrictions Eintr ge aus dem properties txt File s Kapitel 5 4 4 und ist daf r zust
124. n mit bis zu vier Spalten werden unterst tzt Bildanzeige ist benutzerdefiniert abschaltbar Zeilenumbruchfunktion ist benutzerdefiniert abschaltbar 4 2 3 Siemens C35i Abbildung 20 Siemens C35i Die Modelle aus der 35er Reihe verf gen ber identische Software und unterscheiden sich nur in der Displaygr e Das Display der Modelle C351 und M351 sind 101x54 Pixel mit bis zu 5 Zeilen und S351 101x80 Pixel mit bis zu 7 Zeilen gro Die Ger te arbeiten mit dem Up Browser 4 x von Phone com und unterst tzen WML 1 1 WML Script 1 1 und das WBMP Format Als zus tzliche Features unterst tzen s e eine Reihe von zus tzlichen Formaten und Funktonen wie Visitenkarten und WTAI Besondere Merkmale sind e Die maximale Deckgr e betr gt 2000 Bytes e Lokale Bilder werden unterscht tzt e Die vordefinierte Zur ck Taste rote Gespr ch Beenden Taste kann nicht umdefiniert werden e Titel Leiste kann abgeschaltet werden e Verschiedene Textformatierungen werden unterst tzt 59 4 2 4 Eintr ge in einer Select Liste k nnen mit den Zifferntasten direkt aktiviert werden ohne vorher selektiert zu werden Karten mit Eingabefelder verhalten s ch so als ob s e aus mehreren Karten best nden Tabellen werden unterst tzt Sony CMD Z5 Sony CMD Z5 verf gt ber ein 96x65 Bildpunkte gro es Display Sony benutzt einen Microsoft Browser der zus tzlich auch HTML verarbeiten kann Die Steuerung erfolgt ber ein Jog Dial
125. nd Templates k nnen neue Funktionen realisiert werden ohne die vorhandene Software zu modifizieren 2 8 5 Funktionsumfang des infoAsset Brokers Der infoAsset Broker bietet einen Satz von Funktionen der erweitert und an die projektspezifischen Anforderungen angepasst werden kann Die Grundfunktionen haben folgenden Umfang e User Profiling ist die Benutzerverwaltung mit der M glichkeit die Benutzerdaten zu editieren d e Benutzer verschiedenen Gruppen zuzuordnen neue Benutzer anzulegen und zu l schen Gruppenverwaltung Sammelmappen Dokumente Dateien Verzeichnisse Suchfunktion Zugriffsberechtigungsfunktion auf Benutzer und Gruppenebenen f r Dokumente Verzeichnisse Dateien e Personalisierung Speicherung von benutzerdefinierten Daten Dokumenten und Dateien e Pinnwand etc 21 3 WAP und WML Grundlagen der Arbeit 3 1 WAP Forum Das WAP Forum wurde 1997 von einer Reihe von Firmen gegr ndet die es sich zum Ziel gesetzt haben einen Standard zu definieren der nahtlos an die vorhandenen Internetstrukturen anschlie t und gleicherma en die Entstehung vieler inkompatiblen herstellereigenen Formate verhindert Das Forum hat ein Protokoll geschaffen das auf den bestehenden Internetstrukturen aufsetzt und den Grundgedanken des Internets auf das mobile Internetstandard mit allen seinen Vor und Nachteilen bertr gt Die Vorteile von WAP und von mobilen interaktiven Diensten im allgemeinen sind folgende der Zugriff
126. ner beliebigen Markup Sprache f r die es einen Adapter gibt entwickelt d h der Entwickler muss die Zielsprachen nicht kennen e Die syntaktische Korrektheit der entwickelten Seite ist durch die DTD Validierung sichergestellt e Entwicklung von den Transformern XSL Dateien ist einfach da die Elemente des Zwischenformats vordefiniert sind 14 Die Nachteile sind e Optimierung und Anpassung an die Eigenarten des Zielformats oder des Zielger tes sind nur innerhalb der vom Portal to Go vorgegebenen Rahmen m glich e Die Flexibilit t geht verloren da man starren Strukturen des Zwischenformates folgen muss e Erweiterung des Zwischenformats mit eigenen Elementen ist nicht m glich Die Abbildung zeigt die Portal to Go Architektur i f Abbildung 7 Portal to Go Architektur Die Implementierung der Oracle L sung basiert auf Oracle eigenen Technologie Oracle8i XML und Java was eine Anbindung an andere Technologien vereinfacht 2 7 2 Prism von Spyglass Prism unterst tzt folgende Arten von Konvertierung Automatische Text und Bild Konvertierung Inhaltsextraktion Konvertierung von Markup Sprachen Benutzerdefinierte Konvertierung a a Die erste Konvertierungsart kann verschiedene Textformate als Eingabe verarbeiten als Ausgabeformat werden nur HTML und WML unterst tzt au erdem k nnen verschiedene Bildformate manipuliert werden So kann die Aufl sung und die Farbtiefe ge ndert sowie die 15 Formatko
127. nformationen wie Kommentaren verlustfrei komprimiert Hier ist eine bersicht der Dienste die vom WAP Gateway geleistet werden k nnen Imm2000 Areh2000 und Risch2000 25 e Die Konvertierung der Bilder in das WAP spezifische WBMP Format WBMP Format stellt die M glichkeit dar schwarz wei Bilder auf einem mobilen Ger t anzuzeigen bersetzung von HTML Seiten in WML Puffern der Dateien Zugriffskontrolle S cherheitskontrolle Zeichensatzkonvertierung falls der User Agent den vom Origin Server gelieferten Zeichensatz nicht unterst tzt e Konvertierung des WSP n HTTP Die Konvertierung ist notwendig um der geringen Bandbreite und der hohen Latenz der Mobilfunknetze gerecht zu werden e Kompilierung des WML Script e Konvertierung der WML Dateien in Bin rformat Hier ist ein Beispiel f r die bersetzung eines Fragmentes einer WML Datei in das WBXML Format WML2O000 lt wml gt lt card id abc ordered true gt lt p gt lt do type accept gt Dieser WML Code Auszug wird n folgende bin rkodierte Form Hexadezimalzahlen konvertiert IE EV S20023 Fa BE Te 00 33 DL 60 LES 38 07 Die Tabelle enth lt die Beschreibung der einzelnen im Beispiel verwendeten Token Bedeutung wmil Element mit Kontent card Element mit Kontent Textanfang abc Terminierungszeichen 33 01 33 Jordered true Ende der Attribut Liste des card Elementes _ 6 pElement o Tabelle 4 WBXML Token und
128. ngabe format Parameter Alle Endger te unterst tzen das format Attribut des input Elements sehr unterschiedlich Generell gilt e Das Sony Ger t unterst tzt das format Attribut nicht Die Eingabe f ngt mit einem Gro buchstaben an es k nnen aber auch andere Zeichen durch das Umschalten des Eingabemodus eingegeben werden das Verhalten entspricht etwa format M m unten e Der AU System Browser des Palm ignoriert das format Attribut ebenfalls 65 e Die Nokia Ger te unterst tzen das format Attribut gut Es gibt aber Ausnahmen wenn z B mehrere Formattypen z B format Anana gemischt werden kann der Browser die Eingaben nicht richtig val dieren e Das S emens Ger t unterst tzt das format Attribut sehr gut und kann fast jede Kombination der Formatierungszeichen richtig verarbeiten Folgende Matrix gibt einen berblick dar ber welche Formatzeichenkombinationen bei welchen Endger ten funktionieren oo o pees O O Me o o erster Buchstabe min 4 Buchstaben min 4 Buchstaben beliebig gro jedoch auf erster Buchstabe gro erster Buchstabe gro klein umschaltbar Punktnationszeichen zugelassen erster Buchstabe min 3 Ziffern beliebig viele Ziffern gro jedoch auf klein umschaltbar erster Buchstabe Zwei gro e zwei nur Kleinbuchstaben beliebig gro jedoch auf kleine Buchstaben klein umschaltbar klein umschaltbar eingef gt erster Buchstabe Zeichen Ziffer nur Kleinbuchstaben be
129. ngabeelementen wie Texteingabefelder oder Auswahllisten Diese Methode wird im Kapitel 3 2 4 7 gezeigt Um die Variable abzufragen wird vor dem Variablennamen ein Dollarzeichen vorangestellt Svarname Folgt dem Variablennamen kein Trennzeichen wie Space oder Komma muss der Variablenbezeichner geklammert werden S varname Hier ist ein Beispiel der Parameter bergabe an den Server mit Hilfe von Variablen lt a href datei wml parameterl varname gt senden lt a gt Der Wert der Variablen wird an der Stelle wo der Var ablenname erscheint einfach ersetzt Die Variablen k nnen an folgenden Stellen eingesetzt werden oe Text e Werte der value Attribute e URL Strings Es k nnen keine Elemente und Attribute durch eine Variable ersetzt werden F r die Var iablen Substitution gibt es eine Reihe von Ersetzungsregeln die unter dem Begriff Escaping zusammengefasst sind Escaping gibt an ob und wie der Wert der Variablen interpretiert werden soll Der eigentliche Wert der Variablen ist von dem Escaping Modus unabh ngig 30 Folgende Tabelle beschreibt die zur Verf gung stehenden Modi Beschreibung var Oder var URL Encoding ist kontext sensitiv d h es werden nicht alphanumerische Zeichen nur bei URLs konvertiert Das ist die Standardeinstellung var e a S var escape Die Zeichenkette wird URL codiert Die Zeichenkette wird URL decodiert Variable wird unver ndert interpretiert Tabelle 6 Escaping M
130. nik Verlag 1994 1Mode2000 Mobile Solution Tle Talk Sonderausgabe Nr 3 2000 Artikel Mobil Made n Japan 1 Mode c t2000 c t 2000 Heft 19 Turbolader f r Funk Bits Dr Dirk Nikolai Klaus Daniel Dr Edgar K hn 2000 VCAL96 vCalendar The Electronic Business Calendaring and Scheduling Format Version 1 0 The Internet Mail Consortium September 18 1996 http www imc org pdi vcal 10 doc VCARD96 vCard The Electronic Business Card Version 2 1 The Internet Mail Consortium September 18 1996 http www imc org pdi vcard 21 doc WMLS2000 WAP 193 WML Script Language Specification Wireless Application Protocol Forum Juni 2000 WML2O000 WAP I191 WML Language Specification Wireless Application Protocol Forum Februar 2000 PUSH99 WAP Push Architectural Overview Wireless Application Protocol Forum November 1999 UAPROF Wireless Application Group User Agent Profile Specification November 1999 RDF2000 Resource Description Framework RDF Schema Spezifikation W3C Candidate Recommendation M rz 2000 Phone2000 Application Style Guide For GSM 900 and 1800 Phone com Juni 2000 CLIPP Web Clipping Architekture www palm com Kay2000 XSLT Programmer s Reference Michael Kay Wrox 2000 104
131. nn direkt mit dem Server ber eine drahtlose bzw Festnetzverbindung oder ber die Anwendung v a HotSync synchronisiert werden Microsoft Mobile Channels ist eine andere Technologie deren Distributionsmodel hnlich der von AvantGo ist Dieser Dienst kann nur von Windows CE Besitzern benutzt werden Es werden folgende Komponenten eingesetzt e Server der Web Inhalte enth lt Die Web Inhalte werden durch eine CDF Datei zu einem Archiv zusammengefasst Die CDF Datei enth lt alle verwendeten Ressourcen wie HTML Seiten Bilder etc e Micrisoft Internet Explorer zur Verwaltung von Channel Abonnements e Ein Modul zur Synchronisierung des Handheld Ger tes mit dem Desktop e Ein Channel V iewer auf dem Handheld Ger t 3 7 4 Web Clipping Architecture Eine weitere Technologie die den Zugriff auf Web Inhalte f r Ger te mit Palm OS erm glicht ist Web Clipping CLIPP Fr her war diese Technologie nur f r PalmVII Ger te vorhanden und somit aufgrund der zur europ ischen GSM Netze inkompatiblen Funkfrequenz nur dem nordamerikan schen Markt vorbehalten Jetzt kann jedes der Palm Ger te mit OS Version ab 3 0 mit entsprechender Software erg nzt werden und ber ein Funk oder Festnetzmodem Web Clipping nutzen Web Clipping bas ert auf HTML 3 2 Die Reduktion der Datenmenge die ber den Funkkanal bertragen wird findet durch Aufteilung der Inhalte n statische auf dem Handheld gespeicherte und dynamische die vom Server geladen werde
132. nput Tag muss ein name Attribut erhalten dessen Wert den Var ablennamen enth lt Diese Variable wird mit der Eingabe des Textfeldes initialisiert Der WML Codefragment lt input name var gt speichert die Benutzereingaben in der Variablen var deren Wert mittels var abgerufen werden kann Um die Benutzereingaben zur Fehlervermeidung zu beschr nken stellt WML ein format Attribut zur Verf gung Der Wert dieses Attr buts ist ein regul rer Ausdruck der auch als Type Maske bezeichnet wird Die Type Maske legt fest welche Zeichenfolge als Eingabe akzeptiert wird Die m glichen Formatierungszeichen sind a Gro buchstabe oder Sonderzeichen ausgenommen Ziffern a Kleinbuchstabe oder Sonderzeichen ausgenommen Ziffern N Ziffer x Gro buchstabe Ziffer oder Sonderzeichen wobei das Umschalten auf Kleinschreibung nicht m glich ist e gt Kleinbuchstabe Ziffer oder Sonderzeichen wobei das Umschalten auf Gro schreibung nicht m glich ist e m Gro buchstabe Ziffer oder Sonderzeichen Umschalten auf Kleinschreibung ist m glich m Kleinbuchstabe Ziffer oder Sonderzeichen wobei das Umschalten auf Gro schreibung m glich ist e f beliebige Anzahl von Zeichen die dem Format entsprechen f kann a a Xx x N M m sein e nf n Zeichen entsprechend dem Format z B 4n entspricht vier Ziffern e c festes Zeichen das von dem Ger t vorausgef llt wird Beispiele f r den Wert des format Attributes und die en
133. nt liefert die bergeordnete Ger teklasse zur ck getPreferredTextExtension liefert die Dateinamenserweiterung der Textformate wie html wml txt Zur ck performsCaching liefert einen Wert vom Typ boolean zur ck der das Verhalten des Endger tes in bezug auf Caching widerspiegelt Die UserAgent Schnitstelle beschreibt den Client und enh lt folgende Funktionen die dessen Eigenschaften zur ckliefern get Id liefert die server interne Id des Clients getMaxByteSize liefert die maximale Gr e des Decks die verarbeitet werden kann getName gibt den in properties txt Datei definierten Namen zur ck getUserAgentclass liefert die bergeordnete Ger teklasse 5 4 4 Konfiguration Die Konfigurationsdatei enth lt eine Reihe von Informationen die die Anpassung des infoAsset Brokers an die verschiedenen Umgebungen erm glicht F r die Ger teunabh ngigkeit ist die Konfiguration der Clients ein wichtiger Teil Die Konfiguration beschreibt d e Eigenschaften der Clients deren Ger teklassenzugeh rigkeit und damit auch deren Anordnung im logischen Baum der die Beziehung der Ger te zueinander und die WML Code hnlichkeit darstellt Hier ist ein entsprechender Auszug aus der Konfigurationsdate useragentclass html name HTML Browser useragentclass html extension htm html js css gif jpg jpeg useragentclass html performsCaching true useragentclass wml name WAP Device useragentclass wml extension wml wbmp userag
134. nte des Endger tes der Softkey abgebildet wird Dabei ist die Abbildung von Ger t zu Ger t sehr unterschiedlich Die Benutzung der Softkeys st folgende lt do type typeAttribut label Label gt lt task gt 32 lt do gt Das type Attribute dient lediglich als Orientierung f r den Anwendungsentwickler und kann vom User Agent ausgewertet oder ignoriert werden Das type Attribute kann folgende Werte annehmen e Der Wert accept des Attributes bindet den Task an e n Benutzerschnittstellenelement mit dem der Benutzer die Bildschirmdaten akzeptieren kann Ein so definierter Softkey ist mit einem OK Button zu vergleichen e Der prev Wert soll zum Navigieren zur vorhergehenden Karte benutzt werden und ist mit dem Back Button eines HTML Browsers zu vergleichen Das prev Attribut des do Blements darf nicht mit dem prev Tag verwechselt werden Das prev Attribut bindet einen Task an ein Benutzerschnittstellenelement wogegen der prev Tag ein Task st und eine Funktion n mlich das Navigieren zur vorhergehenden Karte ausf hrt e Der option Wert f gt einen Task in eine Liste von Elementen ein Durch die mehrfache Definition des ao Tags mit dem option Attribut kann also eine Liste von Tasks aufgebaut werden die ber einen Softkey erreicht werden kann e Der neilp Wert gibt eine M glichkeit eine kontextabh ngige Hilfeinformation abzurufen e Der delete Wert soll dem Benutzer erm glichen seine Angabe zu l schen e Der reset W
135. nte vom Typ options initialisiert werden die in der Initialisierungsreihenfolge n der Liste erscheinen do Blement von Typ prev wird auf die rechte Taste abgebildet Es darf aber kein Label zugewiesen werden da sonst das ao Element so behandelt wird als w re er vom Typ options Das do Element von Typ prev erscheint aber auf jedem Fall in der Options Liste ein zweites Mal Der Label wird abh ngig von der m Ger te Setup eingestellten Sprache Zur ck Back etc lauten Hier ist ein Beispiel das zeigt wie die entsprechenden Softkeys eines Nokia 7110 Ger tes belegt werden und aussehen k nnen lt card id cardl title Card 1 gt lt do type prev gt lt prev gt lt do gt lt do type options label 0ption gt lt go href card2 gt lt do gt lt do type help label Help gt 63 lt go href card2 gt lt do gt lt p align center gt lt b gt First Card lt b gt lt p gt lt card gt Abbildung 23 Softkeys vom Type help und options Siemens Ger te besitzen zwei Display Tasten die jeweils links und rechts bet tigt werden k nnen Davon dient die linke Display Taste zum Navigieren oder Selektieren von Eintr gen Auf die rechte Display Taste werden die verschiedenen ao Typen abgebildet Diese Abbildung ist hochgradig kontextabh ngig so dass je nach Inhalt der Karte oder nach Position des Markierbalkens jeweils einer der definierten Softkeys unmittelbar sichtbar ist Ei
136. nvertierung vorgenommen werden Das WBMP Format wird unter anderem auch unterst tzt Die zweite Konvertierungsart dient zum Entfernen von Teilen des Quelldokumentes oder zum Zur ckliefern von Inhalten Diese Option erfordert sowohl die Kenntnisse ber das Format als auch ber die Struktur des Dokumentes Die dritte M glichkeit erlaubt eine bersetzung einer Markup Sprache in eine andere z B die Ersetzung der HTML Tags in die entsprechende WML Tags entfernen von HTML Tags die keinen entsprechenden WML Tag haben oder die Erg nzung mit schlie enden Tags falls in HTML die schlie enden Tags fehlen Die letzte Konvertierungsart erlaubt das Entwickeln von eigenen Konvertierungen in C oder C Die Architektur von Prism basiert auf CORBA und erlaubt das Benutzen von Microsoft IIS und Netscape Enterprise Server auf Solaris und NT Als Ausgabeformate werden z Z nur HTML und WML unterst tzt 2 7 3 TRANSWAP Ein anderer Ansatz wird von TRANSWAP verfolgt Es wird f r die HTML WAP Konvertierung zwei neue Elemente zwei Kommentare hinzugef gt die die Teile des HTML Dokumentes markieren die nach WML konvertiert werden sollen Der Nachteil dieses Verfahrens besteht dar n dass nur einfache Textinhalte dargestellt werden k nnen 2 8 Architektur des infoAsset Brokers Bei dem Web Portal das um ein WAP Portal erweitert werden soll handelt es sich um den infoAsset Broker Der infoAsset Broker basiert auf einer multi tier Client Server A
137. nweisungen steuern lassen soll Es gibt aber Ausnahmen wie Siemens Ger te deren Cache sich nicht abschalten l sst D h das Laden von dynamischen Seiten kann nicht sichergestellt werden Um das Laden von dynamischen Seiten jedoch zu erm glichen muss an den URL String eine sich mit jedem Aufruf ndernde Zeichenkette angeh ngt werden Au er Siemens gibt es ein anderes Verhalten aller Ger te die beim R ckw rtsgehen die Daten nicht aus dem Cache laden sondern die Seiten von dem Server anfordern obwohl die Seiten eigentlich aus dem Cache geladen werden sollten Es gibt keine M glichkeit diesem Verhalten entgegenzuwirken au er einer serverseitigen Erkennung des R ckw rtsgehens anhand eines Z hlers der serverseitig gesetzt und von Client bei jeder Anfrage an den Server gesendet wird Durch den Vergleich des Z hlers mit dem erwarteten Wert kann festgestellt werden ob ein R cksprung stattgefunden hat und es kann entsprechend darauf reagiert werden Um dasselbe Verhalten des S emens Ger tes d h das Laden der Seite vom Server beim R ckw rtsgehen also kein Caching zu erzwingen muss ein meta lag innerhalb des nead Elements vorhanden sein lt meta http equiv Cache Control content revalidate forua true gt 4 3 12 Deckgr enbeschr nkung Fast alle Ger te haben einen sehr knapp bemessenen Speicher Eine Folge davon ist die Beschr nkung der Deckgr e max mal zwei KByte Bei dynamischen Inhalten ist es zum Teil nicht
138. o dass das Lesen der ganzen Zeile nur schwer m glich ist Aufgrund der mangelnden Unterst tzung ist die Verwendung von mode nowrap derzeit nicht sinnvoll 4 3 7 Auswahllisten Alle Endger te unterst tzen die option und select Tags Die Realisierung ist jedoch unterschiedlich Die mobilen Telefone ffnen beim Aktivieren einer Select Liste eine neue Bildschirmseite die nach dem erfolgten Selektieren vom Benutzer geschlossen werden muss um zur Karte zur ckzukehren Die Abbildung 24 veranschaulicht die Implementierung der Select Liste in einer separaten Karte Farben O Schwarz leri Gelb Blau Select Back Select OK Abbildung 24 Implementierung der Select Liste in einer separaten Karte Durch die Aktivierung des Select Softkeys wird die Karte mit den Select Listenentr gen angezeigt Das Siemens Endger t erzwingt das Eintreten in die Select Liste und die anderen mobilen Telefone erlauben das berspringen der Liste ohne die Wahl der Eintr ge durchzuf hren Die Up Browser basierten Endger te zu denen auch Siemens geh rt unterst tzen die direkte Auswahl der Eintr ge Die Eintr ge sind von 1 bis 9 durchnummeriert und k nnen mit den Z ffern Tasten ausgew hlt werden Der AU Browser des Palm stellt die Eintr ge der Liste auf derselben Bildschirmseite wie die Karte selbst dar Die Verwendung der Listen bedarf keiner besonderen Ma nahmen bzgl der Ger teunabh ngigskeit Die Anzahl der Eintr ge sollte aus
139. odi Die beste Wahl be der Einstellung des Escaping Modus ist die Standardeinstellung aber es gibt einige F lle bei denen es sinnvoll ist ein bestimmtes Verhalten zu erzwingen 3 2 4 2 Links Es gibt eine Vielzahl von M glichkeit einen Link zu definieren Die einfachste ist es den a Tag zu benutzen lt a href link wml gt Ein Link lt a gt Diese Methode ist die Kurzform der Kombination des anchor und go Tags lt anchor gt lt go href link gt Ein Link lt anchor gt Der Vorteil des anchor Tags liegt dar n dass anstelle vom go Tag auch prev Tag eingesetzt werden kann und so ein Link zur zuletzt angesprungener Seite erm glicht wird Dieses ist hilfreich falls eine Optionen Seite mit gleichen Men punkten f r mehrere Seiten realisiert werden soll Ein anderer Vorteil der oben beschriebenen M glichkeit ist die Variablen innerhalb des go Tags setzen zu k nnen Dabe kann z B eine den Link aufrufende Seite der n chsten Seite bestimmte Parameter direkt bergeben ohne den Umweg ber den Server zu machen Die Links werden von dem User Agent durch Unterstreichen oder durch Klammern besonders hervorgehoben Es gibt eine M glichkeit die Links zu definieren und diese mit Hilfe von Softkeys den Benutzerschnittstellenelementen die mit dem HTML Button vergleichbar sind aufzurufen Hier ist ein Beispiel der Definition eines Links durch einen Softkey lt do type accept label Link gt lt go href link wml gt lt do g
140. ohne neue Standards einzuf hren Falls man die Inhalte oder Dienste f r mobile Ger te mit Hilfe von HTML bereitstellen m chte muss man beim Design dieselben Kriterien beachten wie bei WAP und HDML Es geht um eine Daten bertragung ber ein Medium mit einer geringen Bandbreite hohen Latenzzeit und um die Ger te die keine hohe Rechenleistung und kleine Bildschirme haben Das bedeutet dass der Dienstentwickler selbst entscheiden muss welche multimediale Komponenten er benutzen und worauf er verzichten soll 54 3 7 3 Channels Eine ganz andere Klasse von Browsern bilden die synchronisierenden Browser Risch2000 die mit Channels arbeiten Bei einem Channel handelt es sich um eine Gruppe von zusammenh ngenden Seiten Diese Seiten werden einmal heruntergeladen und k nnen dann offline betrachtet werden Der Vorteil von Channles ist der schnelle Zugriff auf die Informationen da sie lokal vorliegen Der Nachteil ist dass keine wirklich interaktiven Dienste m glich sind AvantGo ist ein Vertreter von Channels AvantGo ist ein Service be dem Inhalte kostenlos abonniert werden k nnen Der Dienst steht sowohl den Palm als auch den Windows CE Benutzern zur Verf gung Der Dienst besteht aus drei logischen Komponenten e Server e Desktop des Benutzers e Mobilger t des Benutzers mit AvantGo Browser Der Server stellt die Inhalte bereit die mit Hilfe der auf dem Desktop installierten Anwendung aboniert werden Das Mobilger t kann da
141. ormatieren Es gibt eine Reihe von Textformatierungstags die die Ausrichtung das Aussehen und die Gr e des Textes beeinflussen Folgende Tabelle zeigt eine bersicht der Tags und ihre Bedeutung E Tabelle 7 Textformatierungstags WML definiert nicht wie die Textformatierungstags von den Endger ten interpretiert werden sollen Die Tags k nnen von verschiedenen Ger ten unterschiedlich verarbeitet und sogar ignoriert werden Andere Tags die nicht die Schriftart sondern die Ausrichtung und den Zeilenumbruch beeinflussen sind lt br gt legt einen Zeilenumbruch fest e lt p gt definiert einen Textabsatz und kann durch das align Attribut die horizontale Ausrichtung des Textes festlegen Die m glichen Werte sind left right center wobei 1eft die Default Einstellung ist Durch das mode Attribut kann festgelegt werden ob ein automatischer Zeilenumbruch erfolgt oder nicht Falls mode auf nowrap gesetzt wird werden die Zeilen nicht umgebrochen Es h ngt vom User Agent ab wie mode nowrap verarbeitet wird z B durch das Abschneiden der bersch ssigen Zeichen horizontales Scrollen der Zeile etc 39 3 2 4 9 Tabellen Eine weitere M glichkeit WML Seiten zu gestallten stellen Tabellen dar Die Tags die zum Aufbau einer Tabelle ben tigt werden sind dieselben wie in HTML lt table columns 2 gt lt tr gt lt td gt 11 lt td gt lt td gt 12 lt td gt lt tr gt lt tr gt lt td gt 21 lt td gt lt td gt 22
142. orteil dass das System sowohl mit dem Dateien und Datenbanken als auch mit Kontentmanagement Systemen arbeiten kann 2 3 Anforderungen an den Funktionsumfang eines Web Portals Die Anforderungen an den Umfang der Grundfunktionalit ten s nd folgende 1 2 3 Session Tracking Als Session Tracking wird die Zuordnung eines Clients w hrend einer Sitzung die auf einem zustandslosen Protokolls wie HTTP aufsetzt zu den serverseitig ausgef hrten Tasks bezeichnet Es gibt eine Reihe von M glichkeiten w hrend einer Sitzung sicherzustellen dass der Datenaustausch mit einem und demselben Client erfolgt Generell wird eine Identifizierung des Clients w hrend einer Sitzung durch den Server ben tigt Es wird eine vom Server generierte Zahl oder ein String an den Client bergeben Diese Identifizierung wird bei jeder Anfrage vom Clients an den Server als Parameter bergeben so dass der Client vom Server anhand dieser Kennung eindeutig identifiziert werden kann Eine andere M glichkeit Session Tracking zu realisieren ist die Verwendung von Cookies Dabei werden die zur Identifizierung ben tigten Daten cl entseitig sogar ber die Dauer einer Sitzung hinaus gespeichert Dadurch k nnen Cookies auch f r die automatische Anmeldung am System verwendet werden Der Nachteil von diesem Verfahren ist dass die Cookies sich vom Benutzer deaktivieren lassen d h die Funktion des Sess on Tracking ist nicht mehr gew hrleistet Bei Anwendunge
143. rbindungs orientiertes Protokoll das f r die Ausf hrung von als zuverl ssig und unzuverl ssig deklarierten Transaktionen sorgt 23 Die Wireless Transport Layer Security WTLS ist die S cherheitsschicht des WAP die technisch gesehen auf dem SSL Nachfolger TLS Imm2000 basiert WTLS dient zur Sicherung von e Datenintegrit t WTLS stellt sicher dass die Daten unver ndert zwischen zwei Kommunikationspartnern ausgetauscht werden e Privatsph re WTLS stellt sicher dass die Daten die ausgetauscht werden nicht von anderen sondern nur von dem Kommunikationspartner interpretiert werden k nnen e Authentifizierung Sicherheitsschicht erm glicht das Anmelden und das Identifizieren des Kommunikationspartners e Schutz vor Denail of Service Attacken durch Erkennung von wiederholten oder nicht verifizierten Daten Das Wireless Datagram Protocol WDP ist die Transportschicht und stellt eine Schnittstelle zwischen dem Bearer und den dar ber liegenden Schichten Als Bearer wird die Schnittstelle zwischen WAP und physikalischen Netzen bezeichnet WDP stellt also sicher dass alle vorhandenen Netze auf gleiche Weise angesprochen werden und gleiches Verhalten nach oben hin zeigen ungeachtet ob es sich um SMS GSM oder andere Netzdienste handelt Die verschiedenen Schichten des WAP m ssen im WAP Gateway und in Endger ten implementiert werden um die verschieden Arten der Verbindung zu erhalten Areh2000 Art der Verbindung Verwendete
144. rchitektur Das System ist Web bas ert und setzt auf HTTP zum Datenaustausch auf Auf Client Seite werden HTML Browser eingesetzt was die Plattformunabh ngiskeit f r den Endbenutzer sichert Die zugrundeliegenden Technologien sind XML HTML und Java wodurch eine Anpassung an andere Systeme problemlos m glich ist Die Mehrschichtarchitektur des Brokers bietet auch eine einfache Erweiterbarkeit und Anpassung an die Anforderungen des jeweiligen Projektes Die Schichten aus denen der Broker besteht werden n Java Packages reflektiert im Bild von unten nach oben e Das uti Package enth lt einige Hilfsklassen wie z B die Klassen xsLTProzessor MailSender etc e Das store Package abstrahiert von der Persistenz und stellt vereinheitlichte Speicherungsoperationen f r die oberen Schichten zur Verf gung e Das services Package stellt verschiedene Dienste zur Verf gung Diese Dienste implementieren Objekte und Operationen auf Objekte die im Package interfaces spezifiziert werden e Das Package interfaces spezifiziert die Objekte und die Operationen auf diese Objekte in Form von Schnittstellen Diese Objekte sind z B Assets die eine Informationseinheit und Grundstrukturen f r andere Objekte bilden So hat z B e n 16 Asset eine Funktion get a die Id eines Assets zur ckliefert Diese Funktion muss in allen Klassen vorhanden sein die den Interface Asset implementieren session stellt Klassen zur Verf gung die f r Sessio
145. rden mit Hilfe eines HTML Editors vorgefertigte Seiten Skins oder HTML Templates mit Platzhaltern verwendet Die Platzhalter werden vor der Auslieferung an den Client substituiert Es gibt f nf verschiedene Substitutionsarten die auch als Vorlagen bezeichnet werden Einfache Substitution Bedingte Substitution ConditionalTemplate Listenvorlage ListTemplate Seitenlistenvorlage PageListTemplate include Platzhalter 18 Eine Substitution besteht aus zwei Komponenten eine davon ist ein Platzhalter in einem Template in das ein Inhalt eingesetzt werden soll Eine andere Komponente ist eine entsprechende Funktion im Handler die die Platzhalter findet und diese z B im Falle einer einfachen Substitution durch eine Zeichenkette ersetzt Bedingte Substitution dient dazu eine Substitution in Abh ngigkeit von einer Bedingung die vom Server vorgegeben wird durchzuf hren E n Beispiel daf r st d e Anzeige einer Information in Abh ngigkeit von der Gruppenzugeh rigkeit des Benutzers Die Listenvorlage erm glicht das Generieren von verschiedenen Sorten von Listen deren Gr e erst zur Laufzeit bekannt ist Die Seitenlistenvorlage erm glicht das Aufteilen von langen Listen auf mehrere Listen mit vorgegebener Gr e Eine Seitenlistenvorlage darf nicht n einer anderen Vorlage enthalten sein S e darf jedoch andere Vorlagen ConditionalTemplate ListTemplate enthalten Das folgende Beispiel zeigt eine einfache und eine bedingte
146. rkommen muss dies auch bei der Implementierung der Ger teunabh ngiskeit ber cksichtigt werden Es besteht also der Bedarf auf einer Abstraktionsebene alle W AP f h gen Ger te uniform zu behandeln jedoch ihre Eigenschaften zu ber cksichtigen Es gibt drei Ans tze um die Ger teunabh ngiskeit zu erreichen l Portablen Code zu schreiben um Problemelemente oder Problemkombinationen die bei einigen Endger ten auftreten zu vermeiden 2 F r jedes einzelne Ger t speziell angepassten Code zu schreiben 3 Den optimierten Code aus einem ger teneutralen Format zu generieren Diese Methoden bringen unterschiedlichen Entwicklungsaufwand mit sich Hier ist eine Absch tzung des Speicherungs und Implementierungsaufwandes e Die erste M glichkeit hat den Vorteil dass der Aufwand die Dateien sowohl zu generieren als auch zu ndern sehr gering ist Besteht der Dienst aus N Dateien so m ssen N Dateien gespeichert und im Falle einer nderung maximal N Mal angefasst werden Allerdings ist die Optimierung der Benutzbarkeit und Ausnutzung der Zusatzfunktionen wie z B der Zugriff auf Dateien im VCF Format n cht m glich e Die zweite M glichkeit bietet eine optimale Anpassung der Dateien an die Endger te Bei einem aus N Dateien bestehenden Dienst und dem Einsatz von M Endger ten entsteht ein Datenbestand von N M Dateien d h bei einer nderung m ssen maximal N M Dateien mindestens aber M Dateien angefasst werden Dar ber hinaus
147. rt Die Inhalte die von dem Benutzer stammen wie Variablennamen Texte Labels und Titel werden als Text also unkodiert ber die Funkstrecke bertragen Falls es n tig ist wird eine Konvertierung in einen von dem Client unterst tzten Zeichensatz durchgef hrt WMlLsScript Dateien werden in ein dem Java Bytecode hnliches Format kompiliert und verbrauchen somit weniger Bandbreite Alternativ kann die Konvertierung der WML und WMlLsscript Dateien von dem Origin Server durchgef hrt werden der die WAP Anwendung bereitstellt Dadurch wird das WAP Gateway entlastet und die bertragung ber die Landstrecke etwas beschleunigt Durch die Unabh ngigkeit vom Typ der Mobilfunknetze Schichtenmodell k nnen WAP Anwendungen von allen Netzen aus verwendet werden d h die Zielgruppe ist nicht auf Kunden bestimmter Netze beschr nkt und die WAP Anwendungen k nnen international genutzt werden 3 6 2 Nachteile Einige Nachteile sind n der Natur des mobilen Internets w e geringe Bandbreite und begrenzte Ein und Ausgabem glichkeiten der Endger te die anderen sind im WAP Standard begr ndet Hier ist eine bersicht der negativen Eigenschaften des W AP Standards e Man muss die WMIL Seiten an jedes Ger t anpassen um den verschiedenen Implementierungen des WAP Standards den herstellereigenen Erweiterungen und der Benutzbarkeit gerecht zu werden e WML ist nicht m chtig genug um das gew nschte Layout zu erzielen WAP ist eine logische
148. rt keine Aktion aus und wird dazu verwendet die im Template definierten Tasks zu berschreiben Ein Beispiel verdeutlicht d e Verwendung dieses Elementes m Kapitel 3 2 4 6 Der prev Task ruft die vorherige Seite auf und wird f r die R ckw rtsnavigation eingesetzt Der refresh Task wird dazu verwendet die Variablen zu setzen oder die Karte zu aktualisieren Der go Task ist das meistverwendete Element Es wird zum Aktivieren eines Links eingesetzt und kann je nachdem beim Ausl sen welches Ereignisses der Link aktiviert werden soll innerhalb eines anchor eines do oder eines onevent Tags definiert werden Die Benutzung des anchor Tags wurde im Kapitel 3 2 4 2 behandelt 3 2 4 4 Softkeys do Elemente binden die Tasks an die Eingabeelemente des Endger tes die Softkeys genannt werden Ein Softkey kann auf verschiedene Art und Weise von dem Ger tehersteller realisiert werden Es kann eine Taste unterhalb eines LC Displays sein dessen Anzeige und Funktion freiprogrammierbar ist oder es kann auch eine Taste mit einer Aufschrift sein die nicht ge ndert werden kann Die Funktion solcher Taste kann dabei deaktivierbar oder freiprogrammierbar sein Ein Softkey kann auch als Grafikelement auf einem druckempfindlichen LC Display erscheinen Da die WML Spezifikation keine Vorgaben f r die Softkeys macht ist es denkbar die Softkeys z B als Stimmenkommandos zu realisieren Das type Attribut des ao Tages gibt vor auf welche physikalischen Eleme
149. s Cache Verhalten der Ger te ist unbefriedigend da die Steuerung des Cache Speichers Ein Ausschalten nicht auf allen Ger ten zuverl ssig funktioniert e Das WAP Gateway limitiert maximale Deckgr e Au erdem kann das Verhalten des WAP Gateways nicht von der WAP Anwendung aus beeinflusst werden 3 6 3 Die Formulierung der WAP Spezifikation und ihr Einfluss auf die Implementierung Die vom WAP Forum entwickelte Standards und ihre Formulierung WML2000 sind sehr allgemein gehalten So enth lt die Spezifikation von WML bei der Definition vieler Tags folgende Formulierung The useragent should do the best effort to F r d e Ger tehersteller bedeuten solche Formulierungen von Elementen dass d e definierten Tags oder deren Attribute vom Ger t einfach ignoriert werden d rfen Dies vermindert den Entwicklungsaufwand und erlaubt die Verfeinerung von Funktionen in dem die sp teren Modelle einfach auf Bas s der Vorg ngermodelle entwickelt und erg nzt werden Die Offenheit des Standards erlaubt es den Herstellern durch eigene erweiterte DTDs sich von der Masse durch spezielle Funktionen abzuheben Die Spezifikation legt nicht fest wie z B die Softkeys aussehen oder sich verhalten sollen So ist der Hersteller frei in der Wahl der Gestaltung der Softkeys Es k nnen folgende Arten von Softkeys verwendet werden e Test verdrahtete Kn pfe mit aufgedruckter Beschriftung e freiprogrammierbare Kn pfe unterhalb eines Displays der
150. s definiert werden Um die Benutzbarkeit von Linklisten auf einigen Ger ten zu erh hen werden die Linklisten als eine Select Liste definiert So ist diese Vorgehensweise bei Siemens Endger ten sinnvoll da die Links mit einer Zifferntaste direkt angew hlt werden k nnen Generell unterst tzen alle Ger te mit dem Up Browser diese Funktion m ssen aber darauf getestet werden ob das Einsetzen von Select Listen die Benutzbarkeit erh ht da die Kontextabh ngigkeit s Softkey Beschreibung von Siemens Endger ten im Kapitel 4 3 2 unterschiedlich realisiert ist So kann eine Select Liste bei einem S emens Ger t gut funktionieren dagegen kann die Benutzbarkeit bei einem anderen Up Browser basierten Ger t durch unerw nschte Effekte infolge der Kontextabh ngigskeit der Softkey Anzeige verringert werden Hier ist eine Gegen berstellung der beiden Implementierungsm slichkeiten Select List von Links einfache Links lt selesel gt lt option onpick link1 gt Linkl lt option gt lt a href link1 gt Link1 lt a gt lt option onpick link2 gt Link2 lt option gt lt a href link2 gt Link2 lt a gt lt option Onpicks LinksT gt LINnk lt 0ption gt lt a href link3 gt Link3 lt a gt lt select gt Tabelle 10 Select List vs Link Au erdem darf die Select List L sung nicht f r Nokia Endger te eingesetzt werden da aufgrund des Fehlers im Browser der erste bzw vorselektierte Link nicht aktiviert werden kann 4 3 4 Textei
151. se Elemente Zustandsverwaltung und Verarbeitung im gegebenen Rahmen m glich Um komplexere Datenverarbeitung zu realisieren wird WMLsScript eingesetzt WML Script ist sehr stark an JavaScript angelehnt und enth lt die gleichen Sprachkonstrukte WAP verwendet unter anderem dasselbe Distributionsmodell wie das Web Die WML Dateien WMLsScript Dateien Bilder etc werden im Internet mit Hilfe eines normalen Web Servers zur Verf gung gestellt und durch HTTP Anfragen zug nglich gemacht Die Verbindungstrecke WAP Gateway WAP Server wird ber TCP IP Netze das Internet berbr ckt 5I Das WAP Forum hat WML als eine XML Applikation definiert Dadurch soll erm glicht werden die WML Seiten mit Hilfe von XSLT dynamisch zu generieren oder fertige WML Seiten weiter zu verarbeiten Au erdem werden die Probleme mit den Zeichens tzen durch flexible Zeichensatzcodierung in XML vermieden Dazu l sst sich der Funktionsumfang der Sprache erweitern um neue Funktionen von Ger teherstellern zu integrieren Wie vorher schon erw hnt wurde bedient sich der WAP Standard zur bertragung ber die Landstrecke der bew hrten Internet Strukturen Um die bertragung ber die Funkstrecke m glichst effizient zu gestalten werden die WML und WMI Script Dateien von dem WAP Gateway konvertiert WML Dateien werden in ein kompaktes Byteformat das dem WXML Format entspricht umgewandelt Dabei werden alle in WML definierten Elemente jeweils in einem Byte kodie
152. sh gt lt onevent gt lt p align center gt Willkommen im 83 lt br Deshalb wird eine neue Ger teklasse nit alisiert die alle Dateien von Nokia Ger teklasse erbt au er den Dateien die setvar und img Tags enthalten Diese werden durch manuell optimierte Dateien ersetzt lt card id c1l title Willkommen gt lt onevent type onenterforward gt lt refresh gt lt setvar name s value SsessionId S gt lt refresh gt lt onevent gt lt p align center gt Willkommen im lt br gt smapCo DE Je Die In tialisierung einer neuen Ger teklasse wird im Kapitel 5 4 4 behandelt und im Kapitel 5 4 5 wird es auf das Beispiel des Nokia 7110 eingegangen 5 3 4 DoElemente Mit ao Elementen werden die Sofkeys initialisiert in diesem Kapitel wird gezeigt wie die verschiedenen Sofkey Arten bei verschiedenen Endger ten und im WMLPLUS Format in tialisiert werden 5 3 4 1 R cksprung zur zuletzt angezeigten Karte Jede Karte sollte eine M glichkeit zum R cksprung zur vorherigen Karte haben Dies wird mittels eines prev Elements erreicht Diesbez glich werden zwei Ger tegruppen unterschieden bei denen die beiden R cksprungm glichkeiten mit do Elementen vom verschiedenen Typ realisiert werden Die Tabelle zeigt wie die R cksprungfunktionalit t definiert wird Nokia lt do type prev gt lt prev gt lt do gt Alle anderen Endger te lt do type accept label Zur ck gt lt prev gt lt do gt
153. so dass ein Neustart des Ger tes notwendig ist Man muss also beim Nokia 7110 sicherstellen dass diese Kombination nicht vorkommt Bei der Positionierung der Bilder im Text gibt es auch einige Unterschiede So werden die Bilder bei Nokia Ger ten immer in einer neuen Zeile positioniert d h die Ger te erg nzen intern einen pr Tag falls dieser nicht vorhanden ist Um uniformes Aussehen der Bilder auf allen Ger ten zu erreichen sollte also generell vor einem img Tag ein pr Tag eingef gt werden Die Darstellung von lokalen Bilder ist nur den UP Browser bas erten Endger ten also auch Siemens vorbehalten Die Vorteile der lokalen Bilder sind zu einem keine langen Download Zeiten zum anderen standardisierte Motive die auf allen Ger ten die lokale Bilder unterst tzen gleich sind Hier sind einige Bilder die von den Up Browser eingesetzt werden EC Er BE 17 VE Tabelle 14 Unterst tzung der lokalem Bilder 4 3 10 Links Auch bei Implementierung der Darstellung von Links gibt es ger tespezifische Unterschiede So erscheinen die Links auf Nokia Ger ten jeweils in einer neuen Zeile S emens Ger te stellen die Links nicht unterstrichen wie alle anderen Ger te sondern in eckigen Klammern dar Der WAP Standard erlaubt die Verwendung von Bilder in den Links doch nicht alle Ger te unterst tzen dies So kann das Nokia 7110 einen Link als Bilder nicht darstellen und zeigt daf r den alternativen Text an Eine andere Situation
154. st tzt Bilder werden zentriert und Texte linksb ndig dargestellt Der Zeilenumbruch ist nicht abschaltbar wrapping modes s Kapitel 4 3 6 Bilder k nnen nicht als Links verwendet werden Tabellen werden nicht unterst tzt d e Zellen einer definierten Tabelle werden zeilenweise dargestellt Die post Methode wird unterst tzt Die Aufschrift bei der Definition des Zur ck Softkeys darf nicht zugewiesen werden label Zur ck darf nicht vorhanden sein die Aufschrift wird der Spracheinstellung des Ger tes entnommen Die maximale Bildgr e sollte nicht 96x44 berschreiten da sonst das Bild links bzw unten abgeschnitten wird Es gibt ein vorbelegtes Navigationsr dchen Man kann damit zwischen den Links navigieren sowie Eingabefelder und Links selektieren 4 2 2 Nokia 6210 Abbildung 19 Nokia 6210 58 Das Nokia 6210 Ger t Abbildung 19 ist ein sp teres Modell von Nokia und hat einige wenige Verbesserungen gegen ber dem Nokia 7110 Modell Die Displaygr e betr gt 96x60 Punkte wobei der Bereich von 96x41 Punkte f r die Inhalt Anzeige und der Rest ist f r die Labels der Softkeys reserviert Der Cache Speicher ist 50 KByte gro Eigenarten und besondere Merkmale von Nokia 6210 sind Die Textformatierungstags werden nicht unterst tzt Links Bilder und Eingabefelder werden jeweils n einer neuen Zeile dargestellt Horizontale Ausrichtung wird unterst tzt Die Bildbreite st auf 96 Punkte begrenzt Tabelle
155. ste Eintrag ausgew hlt wird Man kann die Default Werte setzen n dem man die Attribute value Oder ivalue IM select Tag setzt lt select title EU Beitrittskandidaten iname var ivalue 1 gt lt option gt Polen lt option gt lt opt ion gt SlLowakei lt option gt lt opL 1on gt Tschechlens opt1 n gt lt select gt Mehrfachauswahllisten werden durch Zuwei sen des Wertes true in dem multiple Attribute definiert lt select title Skandinavische Staaten iname var multiple true gt lt option gt D nemark lt option gt lt opt Lon gt FinnLands opt1n gt lt option gt Schweden lt option gt lt select gt 37 Will man mehrere vorselektierte Eintr ge definieren so kann man wiederum das value oder ivalue Attribut benutzen und die Werte durch Kommata getrennt als Parameter angeben Genauso erscheinen die ausgew hlten Werte n der Variablen durch Kommata getrennt Eine andere M glichkeit die Listen zu verwenden ist der Einsatz des oben erw hnten onpick Ereignisses Dabei kann aus einer Liste von Links ein Link selektiert und aktiviert werden lt select title Ehemalige UdSSR Staaten gt lt option onpick linkl wml gt Ukraine lt option gt lt option onpick link2 wml gt Wei russland lt option gt lt option onpick link3 wml gt Moldau lt option gt lt select gt Texteingabefelder werden dazu verwendet die Eingaben vom Benutzer entgegenzunehmen und den Wert einer Variablen zuzuweisen Der i
156. t Die Werte der href Attribute k nnen absolute relative und lokale URLs sein wie die folgenden Beispiele es verdeutlichen http wap wapportal de index wml index wml set2 set wml card2 Zur Parameter bergabe an den Server kann sowohl die get als auch die post Methode verwendet werden Die get Methode ist der Default Wert und kann sowohl mit dem a Tag als auch mit dem go Tag verwendet werden 31 lt a href link wml paramerl wertlsamp parameter2 wert2 gt Ein Link lt a gt Dabei muss bei dem Parametertrennzeichen beachtet werden dass samp und nicht a eingesetzt wird weil ein amp Zeichen laut WML Konvention nicht als amp sondern als samp codiert werden muss Die get Methode hat den Nachteil dass nur eine begrenzte Anzahl von Zeichen bertragen werden kann weil verschiedene User Agents unterschiedliche maximale L ngen des URL Strings unterst tzen Die post Methode unterliegt diesbez glich keinen Beschr nkungen kann aber nur mit dem go Tag verwendet werden lt go href link wml method post gt lt postfield name varl value wert1 gt lt postfield name var2 value wert2 gt lt postfield name var3 value wert3 gt lt go gt Die post Methode wird von einigen Ger ten wie Siemens nicht unterst tzt 3 2 4 3 Tasks Die Tasks werden durch die Tags go prev refresh und noop Initialisiert Sie f hren einen vom Benutzer oder User Agent initiierte Aktion aus Der noop Task f h
157. t prf WAPVersion gt lt prf WMLDeckSize gt 1400 lt pr f WMLDeckSize gt lt prf WapDeviceClass gt A lt prf WapDeviceClass gt lt prf WapPushMsgSize gt 1400 octets lt pr f WapPushMsgSize gt lt prf WapPushMsgPriority gt all lt prf WapPushMsgPriority gt lt prf WtaVersion gt 1 0 lt prf WtaVersion gt lt prf WmlScriptVersion gt 1 1 lt prf WmlScriptVersion gt lt prf WmlScriptLibraries gt lt rdf Bag gt LeAF LIFE oats Edrei xrdf l i gt Dialogs radar li gt lt sEdE LI PURG TOF LI gt lt rdf Bag gt lt prf WmlScriptLibraries gt lt prf WtaiLibraries gt lt rdf Bag gt lt rat sli WTAV lGECaLlls rdrrLli gt stare EL WTA CSAPAT 1 gt lt rdf Bag gt lt prf WtaiLibraries gt lt prf WmlVersion gt lt rdf Bag gt aea o A a E lt rdres tr 1 12 rar lr gt 50 lt rdf Bag gt xJ pri Wmi Version Die Tabelle enth lt einige Eigenschaften aus dem obigen UAProf Beschreibung M gliche Werte WAPVersion Unterst tzte W AP Version 1 0 1 1 1 2 WMI DeckSize Maximale Deckgr e in Bytes z B 1400 WapDeviceClass WAP Ger teklasse der das Enfger t A B C angeh rt Die Ger te s nd nach Typ Rechenleistung und Eingabem glichkeiten aufgeteil WapPushMssSize Max male Gr e einer Push Nachricht z B 1400 Tabelle 9 Beschreibung einigen Eigenschaften des UAProf Fragmentes Genauso wie die WML Dateien werden die UAProf Datein f r die bertragung ber die Mobilfunkstrecke in ein
158. tai wp ap 766321002 Max Mustermann gt oder WTAIlPublic addPBEntry 766321002 Max Mustermann 45 3 2 7 WML Erweiterungen Einige Ger te unterst tzen Dateiformate die ber die von WAP Forum definierten Standards hinausgehen Diese Dateien k nnen in WML Tags wie der a Tag eingebettet und als Link angesprochen werden 3 2 7 1 VCF Visitenkarten Format VCARD96 bietet eine M glichkeit ohne die WTAI Bibliotheken auf das Telefonbuch des Endger tes zuzugreifen Das VCF Format wird von verschiedenen Email Programmen verwendet Die VCF Date ist eine Text Datei deren Format folgenderma en aussieht begin vcard n Nachname Vorname tel cell Mobil Nr tel fax Fax Nr tel work Telefon Nr x mozilla html FALSE url Webseite adr SsStrasse Ort Bundesland PLZ Land version 2 1 email internet Email adresse fn Angezeigter Name end vcard Die Anbindung in WML erfolgt wie folgt lt a href visitenkarte vcf gt Visitenkarte lt a gt Beim Selektieren des Links soll der User Agent die Visitenkarte laden und diese direkt ins Telefonbuch bernehmen Der WAP Server muss f r den MIME Typ text x vcard konfiguriert sein Um zu detektieren ob das Endger t dieses Format unterst tzt kann man den accept Header der vom User Agent an den WAP Server geschickt wird abfragen und nach der Zeichenkette text x vacra suchen 3 2 7 2 VCS Das Ansprechen einer Kalender Date VCAL96 ist genauso einfach wie das Ansprechen einer
159. tespezifische Form transformiert wird Dabei wird der 18 Pflegeaufwand auf die Anzahl der ger teneutralen Seiten und die Anzahl der vorhandenen Ger teklassen reduziert also O M N anstelle von O M N beim manuellen Anpassen In diesem Fall werden die Richtlinien dazu benutzt die Entwicklung von ger teneutralen WMIL Seiten zu beschreiben Au erdem enth lt der Style Guide die Informationen ber relevante Ger teeigenschaften Klassifikation Problemf lle und Identifikationsm glichkeiten der Endger te gegen ber dem Server Als ger teneutrales Format wird eine modifizierte Form von WML das s g WMLPLUS Format definiert WMLPLUS beschreibt die Seitenstruktur und enth lt logische Elemente die in WML mit verschiedenen Elementen realisiert werden k nnen 5 3 Richtlinien f r Aufbau von WML und WMLPLUS Seiten F r die Entwicklung von Diensten wird ein Style Guide verwendet Er beschreibt wie die ger teneutralen WMLPLU US Seiten und ger tespezifischen WML Dateien aufgebaut werden m ssen F r die Erstellung vom Style Guide werden die im Kapitel 4 gewonnenen Erkenntnisse ber die WML Implementierung verschiedener Ger te verwendet Der Style Guide beschreibt den Aufbau der WML und WMLPLUS Templates in einer Form die f r die Entwicklung von Diensten verwendet werden kann ohne die Interna des infoAsset Broker zu kennen Der nfoAsset Broker unterst tzt zwei Methoden zum Erstellen von WML Templates e Manuelle Optimier
160. textbearbeitung oder andere eingabelastige Funktionen die auf bestimmten Typen von Ger ten Telefon mit numerischer Tastatur nur mit einem gro en Aufwand vom Endbenutzer jedoch auf PDA komfortabel ausgef hrt werden k nnen 2 6 Ger teunabh ngigkeit am Beispiel von WAP Die Endger teunabh ngiskeit beschreibt die F higkeit eines Systems hier eines Servers eine Vielzahl von verschiedenen Clients optimal zu bedienen die alle denselben Standard z B 11 HTML unterst tzen Eine Erweiterung des Begriffs der Ger teunabh ngiskeit f hrt zum Begriff Medienunabh ngiskeit Die Medienunabh ngigkeit ist die F higkeit eines Systems Clients zu bedienen die verschiedene Formate unterst tzen Applikation Informat on HTML E Mail S WML MS Mei II nabh ngigkei N Client Clientl Ger teunabh ngigkeit Ger t1 Ger t2 Ger t3 Text Browser2 Browser1 Ger teunabh ngigkeit Ger teunabh ngigkeit Abbildung 5 Ger teunabh ngigkeit vs Medienunabh ngigkeit Der Begriff Endger teunabh ngiskeit hat zwei Aspekte Endger t und Unabh ngigkeit Ein Endger t kann in diesem Fall sowohl ein physikalisches Ger t Mobiles Telefon PDA K hlschrank mit Web Anschluss als auch ein Programm WAP Emulator HTML Browser Email Client etc sein Unter Unabh ngigkeit versteht man eine optimale Darstellung der Information auf verschiedenen Ger ten Da Spezifikation eines Zielformats Word WML HTML ASCII SMS d
161. tierungen ohne Eingriffe n die brigen Schichten vorzunehmen Die sieben Schichten bilden jeweils einen Rahmen f r die Entwicklung von Protokollen und Standards Die Bit bertragungsschicht ist die unterste Schicht und definiert die Struktur und die Methoden zur bertragung von einzelnen Bits Die Sicherungsschicht arbeitet nicht mit einzelnen Bits sondern mit Datenpaketen Sie enth lt Fehlererkennungs und korrekturmechanismen Die Vermittlungsschicht bernimmt die Routing Aufgaben Sie realisiert eine Ende zu Ende Verbindung und sorgt daf r dass d e Datenpakete den richtigen Kommunikationspartner beim Transport ber ein Netzwerk erreichen Die Transportschicht hat auch Ende zu Ende Charakter k mmert sich aber um die bertragungsaspekte so sieht diese Schicht Daten Quellen und Senken Die Kommunikationssteuerungsschicht dient als Verbindung zwischen zwei Anwendungen oder Prozessen die miteinander kommunizieren Die Darstellungsschicht sorgt f r die Transformation der bertragenen Daten die in einem Zwischenformat vorliegen n ein auf dem System verwendetes Format Die Anwendunsgsschicht stellt bestimmte Services wie Electronic Mail File Transfer etc dar Bei dem OSI Schichtenmodell handelt es s ch um eine Referenz die sich von den vorhandenen Implementierungen unterscheiden kann So stimmen nicht alle Schichten im Internet Schichtenmodell mit denen des OSI Referenzmodells berein Insbesondere wird es vom OSI Re
162. tsprechende m gliche Eingabe format 3N 7N 040 7663421 format A 3 2a ADF 3as Diese Technik kann dazu eingesetzt werden die Eingabe von einem Text durch eine Ziffernblock Tastatur der mobilen Ger ten zu erleichtern und somit die Fehler gleich bei der Eingabe zu vermeiden Als Datenformatval dierung ist dies eine sehr leistungsf hige Technik 38 die jedoch wegen mangelnder Unterst tzung von Endger ten dem Zweck der Datenvalidierung nicht dienen kann Der input Tag hat einige andere Attribute die das Verhalten des Texteingabefeldes beeinflussen k nnen e Das type Attr but kann die Werte text oder password haben Die Default Einstellung ist text Falls man passwora einstellt erscheinen die eingegebenen Zeichen durch Asterixe oder hnliche Zeichen maskiert Der Wert des Eingabestrings wird nicht beeinflusst e Durch das value Attribut kann ein vordefinierter String vorgegeben werden der im Eingabefeld erscheint e Das emptyor Attribut spezifiziert ob das Feld leer gelassen werden kann Falls emtyok false gesetzt ist wird von dem User Agent ein Mechanismus aktiviert der weiteres Navigieren durch die Karte verhindert e Weitere Tags k nnen die Gr e des Eingabefeldes maximale L nge der Zeichenkette etc vorgeben 3 2 4 5 Textformatierung Mit Textformatierungstags g bt WML die M glichkeit dem Text ein bestimmtes Aussehen zu verleihen Die Tabelle gibt wieder welche M glichkeiten es gibt den Text zu f
163. ttributen verzichtet Sind weitere Navigationseintr ge n tig so k nnen diese mit Hilfe von Links realisiert werden 5 3 5 template Tag Falls ein ao Element auf allen Karten eines Decks identisch sein soll d h Typ Label und Task sind gleich so kann dieses Element auch in einem Template definiert werden Der template Tag wird vor der ersten Karte des Blocks Kartendefinitionen definiert Es soll dabei ber cksichtigt werden dass bei den Palm und Sony Ger ten die Reihenfolge der im template Tag vorhandenen Softkeys unter Umst nden nicht die gew nschte ist Die Template Softkeys haben eine niedrigere Priorit t als die in der Karte definierten Sofkeys und erscheinen je nach Endger t meistens als letzte WML Endger te lt template gt DoElemente lt template gt Kartendefinitionen und WMLPLUS Tabelle 28 Verwendung des template Tags 5 4 Softwaretechnische Umsetzung Um die Ger teunabh ngiskeit zu implementieren ist eine Erweiterung der Klassen in verschiedenen Schichten des infoAsset Brokers notwendig e Ggf geringf gige Anpassung der Handler e Gser teerkennung Ger te und Gerteklassenverwaltung unter anderem die Realisierung der logischen Baumstruktur und des Fallback Algor thmus Suchstrategie UserAgent UserAgentClass UserAgentFactory properties txt File Abweichendes WML Sitzungsverwaltungsmechanismus Deckgr enbeschr nkung Transformation XSLT XSL und Neugenerierung der WML Templates im Web
164. twendig sind werden im folgenden Kapitel kurz beschrieben 17 2 8 1 Session Tracking Da der infoAsset Broker Multi User F higkeit besitzt ist es n tig neben den brigen Vorkehrungen bzgl multi threading einen Mechanismus zu erl utern der die Zuordnung der Clients zur aktuellen Sitzung implementiert Dieser Mechanismus wird auch als Session Tracking bezeichnet Die Abbildung 9 verdeutlicht die Zuordnung der Clients zu den S tzungen und den Benutzern Server 7 gu Benutzer 1 A Benutzer 2 GE dm gt Benutzer m Session Verwaltung Session 1 Session 2 Session n Sess on Id Sess on Id Sess on Id Client 1 Client 2 Clientn Abbildung 9 Session Tracking F r jede neue Sitzung wird vom Server eine neue Session Id generiert und an den Client bermittelt Diese Zahl ist zuf llig und ausreichend gro so dass sie eindeutig und schwer zu erraten ist Die Session Id wird f r die Dauer einer Sitzung bestehen und bei jeder Anfrage vom Client an den Server gesendet um somit den Client gegen ber dem Server eindeutig zu identifizieren Die Session Id wird in Form eines get Request Parameters bermittelt und vom Server aus dem URL String extrahiert 2 8 2 Substitution Die Substitution ist ein wichtiger Mechanismus mit dessen Hilfe eine Generierung von dynamischen Seiten m glich ist Dabei wird nicht die ganze Seite dynamisch generiert wie es beispielsweise mittels XSLT der Fall w re sondern es we
165. tzen eines Anrufes Es gibt einige Unterschiede und Gemeinsamkeiten zwischen den beiden User Agents Sowohl WTA als auch WAE User Agent bedienen sich der WML und WMlLsscript Komponenten Ein Teil der Telefonie Funktionen die in WTA spezifiziert sind k nnen mittels WTAI WTA Interface auch aus WAE User Agent aufgerufen werden Die Unterschiede bestehen darin dass WTA User Agent seine Anwendungen von einem Server erh lt der die Kontrolle ber das mobile Funktelefonnetz hat und die abgerufenen Anwendungen dauerhaft im Speicher des Ger tes auch Repository genannt ablegt und sie von dort aus nutzt Um die WTA Anwendung dauerhaft zu speichern bedient sich WTA einer Channel Definition einer XML Date die Referenzen auf alle n tigen Ressourcen wie WML WMlLsScript und andere Dateien enth lt Der Kreis der Anwendungsanbieter die WTA Applikationen anbieten k nnen beschr nkt sich auf die Mobilfunknetzanbieter oder ihre autorisierten Partner Es ist aus Sicherheitsgr nden notwendig nicht die ganze Palette von Funktionen die in WTA m glich sind f r alle freizugeben So werden einige so genannte ffentliche Funktionen ber WTAI auch den nicht autorisierten Anbietern zug nglich gemacht Hier sind einige Beispiele der Dienste die mit WTA Funktionen realisiert werden k nnen e Erweiterte Anrufannahme z B Sperren bestimmter Rufnummern automatische Umleitung von bestimmten Rufnummern auf andere Anschl sse oder Anrufbeantworter Sen
166. uf mobilen Ger ten eingesetzt WMIL Script ist eine Skript Sprache hnlich JavaScript mit deren Hilfe clientseitige Verarbeitung auf mobilen Ger ten m glich ist 102 Literatur und Quellenverzeichnis 10 l 12 13 14 15 MTR2000 Dr Materna GmbH www materna de technik html NOK99 Service Developer s Guide for the Nokia 7110 Nokia November 1999 C4 2000 Chip M rz 2000 Artikel Mit dem Handy ins Internet R Sablowsky Har97 Java Network Programming Elliote Rusty Harold O Reilly February 1997 Risch2000 WAP und WML Wireless Web Das neue Internet Ray Rischpater Galileo Press Juni 2000 Booch99 Das UML Benutzerhandbuch Grady Booch Addison Wesley 1999 Chan99 The Java Developers Almanac Patric Chan Addison Wesley 1999 JLW96 Web Programmierung Jmsa Lalan Weakley Franzis 1996 Klute Das World Wide Web Rainer Klute Addison Wesley Imm2000 Das Gro e Buch WAP Immler Data Becker 2000 Areh2000 Porfessional WAP Charls Arehart WROX 2000 SCNEd2000 Mobile Networking with WAP SCN Education B V Eds 2000 See2000 XML Michael Seeberger Weichselbaum bhw 2000 XSLT99 XSLT Transformation XSLT Version1 0 W3C 1999 JavaXML2O0000 Java Pl for XML Processing SUN 2000 103 16 I 18 19 20 2 j i 22 23 24 23 26 21 28 KAU 94 PC Netze und Workgroup Computing Franz Joachim Kauffels Markt amp Tech
167. ung e Automatische Generierung der WML Templates aus WMLPLUS Dateien Die manuelle Optimierung wird eingesetzt falls es eine ad hoc Optimierung wie im Falle der anonymous wml Datei von Nokia 7110 ben tigt wird Die automatische Generierung mittels XSLT wird f r die Generierung von vollst ndigen Dateiens tzen die f r ein Ger t optimiert sind eingesetzt Der Unterschied zwischen den beiden Methoden besteht auch darin dass die manuell optimierten Dateien nicht einer Ger teklasse zugeordnet werden d rfen deren Dateien automatisch generiert werden da sonst diese bei einer Neugenerierung berschrieben werden und die vorher gemachte Optimierung nichtig gemacht wird Es muss f r manuelle Optimierung eine neue Ger teklasse abgeleitet werden die in der properties txt Datei eingetragen wird 5 3 1 Aufbau der WML und WMLPLUS Seiten WML Templates entsprechen den WML Spezifikationen mit Ausnahme der Verwendung von infoAsset Broker Platzhaltern die Dollarzeichen enhalten Die WML Templates k nnen somit nicht direkt von einem WML Browser geladen weden Au erdem schreibt das Style Guide vor wie die WML Elemente verwendet werden und welche Elementenkombinationen nicht erlaubt s nd Das WMLPLUS Format lehnt sich sehr stark an das WML Format an hat aber eine etwas abgewandelte Struktur wie z B das Fehlen der DTD im Dokumentenprolog Einige zus tzliche WMLPLUS Elemente erlauben das ger teunabh ngige Behandeln von Konstrukten die in WML
168. usgewiesen werden Falls der UA einen Zeichensatz nicht unterst tzt kann eine Konvertierung durch das WAP Gateway vorgenommen werden Alternativ dazu kann der Origin Server darauf angemessen reagieren in dem er den HTTP Header Accept charset auswertet und WML Seiten mit passender Codierung ausliefert Zum Benutzen der Sonderzeichen kann die WML Schreibweise hnlich zu HTML oder Unicode eingesetzt werden 27 Sonderzeichen werden folgenderma en codiert WML Code Beschreibung CE LEE CE Kleiner als Zeichen Gr er als Zeichen Kaufm nnisches Und Zeichen BT 1 Dollarzeichen Tabelle 5 Sonderzeichen und ihre Codierung Das Dollarzeichen nimmt eine Sonderstellung ein da es f r die Var ablendeklaration var verwendet wird und muss als ss geschrieben werden falls ein Dollarzeichen angezeigt werden soll Die sprachspezifischen Sonderzeichen k nnen direkt als solche im Quellcode erscheinen falls der UA s e unterst tzt WML ist eine XML Anwendung Das bedeutet dass in XML geltende Regeln auch in WML Dokumenten eingehalten werden m ssen Gro und Kleinschreibung ist relevant Jeder Tag muss geschlossen werden lt tag gt inhalt lt tag gt Oder lt tag gt Attribute m ssen von oder umschlossen sein lt tag attr abc gt Jedes Dokument f ngt mit einem Prolog an Hier ist ein kurzes Beispiel das die Grundstruktur eines WML Dokumentes mit Prolog zwei Karten und Links zeigt lt xml version 1 0 gt
169. w e JavaScript und VBScript Durch den Einsatz von Skriptsprachen ist eine cl entseitige Vorverarbeitung der Daten wie Benutzereingaben Verwaltung und Dynamisierung der Bildschirminhalte Verwaltung des Client Zustandes und Senden der Zustands nderung an den Server m glich Au erdem k nnen die Browser Java Applets oder ActiveX Steuerelemente ausf hren die sowohl die Datenverarbeitung als auch die Darstellung von Inhalten bernehmen k nnen Durch diese Eigenschaften ist es m glich Web Anwendungen zu entwickeln die in der Qualit t und dem Funktionsumfang die lokalen Anwendungen erreichen Das Bild zeigt die Technologien die auf HTTP bzw TCP IP client und serverseitig aufsetzen Clientseite Serverseite ASP JSP HTML Browser Servlets Java TCP IP Web Server Skriptsprachen HTTP Apache Xitami JavaScript PHP Java und Active X Perl Abbildung 3 Client und Server Technologien Auf der Server Seite kann eine ganze Palette von Technologien eingesetzt werden um eine geeignete Umgebung zu schaffen Einige Technologien wie z B ASP Active Server Pages sind zum Teil plattformabh ngig dagegen k nnen andere Technologien wie JSP Servlets Java PHP Perl etc f r alle g ngigen Systeme verf gbar sein Die vorhandenen Server wie Apache erlauben das Einbinden von verschiedenen Programmiersprachen und sind sowohl auf Unix Systemen als auch auf Windows basierten Systemen vorhanden Falls man die volle Funktionalit t eines
170. zept der auf Wiederverwendung von vorhandenen Internetstrukuren und Optimierung der bertragung ber die Mobilfunkstrecke aufsetzt zeigt aber Schw chen bei der WML Spezifikation und deren Implementierung Dies erschwert die Entwicklung von ger tetunabh ngigen WAP Anwendungen Die WAP Erweiterung von infoAsset Broker zeigt einen m glichen Weg die Ger teunabh ngigkeit zu implementieren Die vom Hause aus auf der multi tier Architektur bas erte Software kann n den entsprechenden Schichten angepasst und erg nzt werden Die Konzepte die f r die Ger teunabh ngigkeit entwickelt wurden k nnen auch auf die Medienunabh ngigkeit erweitert werden So kann sowohl die Optimierung der bestehenden Dienste f r neue Endger te als auch die Anpassung der Dienste an die neuen Formate wie HDML mit min malem Entwicklungsaufwand durchgef hrt werden Durch die fehlerhafte Implementierung des WAP Standardes mussten einige Zusatzmechanismen vor allem f r die Steuerung des Cache Speichers implementiert weden Weitere Erweiterung wie User Agent Verwaltung und Organisation der Dateiens tze in einer baumartigen Struktur k nnen daf r eingestzt werden um Medienunabh ngigkeit aber auch Multilingualit t und Multiprojektf higkeit zu erzielen Auf der Basis des infoAsset Brokers wurde eine funktionsf hige W AP Portalerweiterung entwickelt die verschiedene WAP f h gen Clients bedienen kann Durch den Einsatz von XSLT ist es m glich ohne gro en Entwi

Download Pdf Manuals

image

Related Search

Related Contents

Système de diagnostic et service en ligne GeKo / SVM pour UMB  Chapter 4 Axis 3 Operation  COSA Xentaur HDT Dewpoint Transmitter Manual PDF  MANUAL DE INSTRUÇÕES  Whynter ARC-14S Use and Care Manual  CO Pflanzen-Dünge-Set Einweg 160 Primus / Special Edition  遺族年金  取扱説明書 [L-06C]  G-Note - pmelink.pt  HAND MIXER  

Copyright © All rights reserved.
Failed to retrieve file