Ausarbeitung

Werbung
Inhaltsverzeichnis
1 Einleitung ..................................................................................................... 1
2 Verwendete Technologien ................................................................................ 2
2.1 WAP (Wireless Application Protocol) ............................................................ 3
2.1.1 Entstehungsgeschichte ........................................................................ 3
2.1.2 WAP Architektur ................................................................................. 4
2.1.2.1 WAP-Client .................................................................................. 4
2.1.2.1.1 Komponenten ......................................................................... 4
2.1.2.1.2 Einschränkungen mobiler Endgeräte ........................................... 5
2.1.2.2 Mobilfunknetz ............................................................................... 8
2.1.2.2.1 Netze (GSM, HSCD, GRPS, EDGE-GMS, UMTS) ............................... 8
2.1.2.2.2 Netzwerkbetreiber .................................................................... 9
2.1.2.3 WAP-Gateway .............................................................................. 10
2.1.2.4 Contentprovider ........................................................................... 10
2.1.2.5 Beispiel ...................................................................................... 11
2.1.3 WAP-Protokolle ................................................................................. 11
2.1.4 WML (Wireless Markup Language) ......................................................... 13
2.2 JSP (Java Server Pages) ........................................................................... 14
3 Entwicklungstools in der Implementierungs- und Testphase ................................... 15
3.1 Nokia Toolkit 1.2 ...................................................................................... 15
3.2 JBuilder 4 .............................................................................................. 15
4 Zusammenfassung ........................................................................................ 16
Literaturverzeichnis ......................................................................................... 17
1
1 Einleitung
Das Unternehmen FCS Fair Computer Systems GmbH, das April 1999 gegründet
wurde, ist ein Systemhaus mit Schwerpunkt auf Realisierung von Internet Backend
Systemen und Web Services. Es entwickelt im Bereich E-Commerce Lösungen für
den Automobilhandel.
Das Projektteam realisiert ihre Projektarbeit in der Geschäftseinheit Internet
Technology & Security unter der Leitung von Herrn Dr. Jürgen Falk und Herrn Thomas
Ilgenfritz im Aufgabenbereich Mobile Internet (WAPFair). Als persönlicher Betreuer
stand uns Herr Rainer Friedensohn während des ganzen Projekts zur Seite.
WAPFair ist ein modularer WAP-Service für das Mobile Business, in denen WAP
Systeme, wie beispielsweise WAP-Fahrzeugbörsen, implementiert werden.
Aufgabenstellung der Projektarbeit ist es, eine WAP-Schnäppchenbörse zu
implementieren, die den mobilen Verkauf von Gebrauchtwagen unterstützt. Dadurch
sollen die bestehenden Fahrzeugbörsen um WAP-Funktionalitäten erweitert, sowie
den Kunden eine direkte Kontaktaufnahme über das Handy mit den anbietenden
Autohäusern ermöglicht werden.
In den folgenden Abschnitten wird auf die Technologien eingegangen, die zur
Zielerreichung der Aufgabenstellung notwendig sind. Am Ende der Ausarbeitung
werden die verwendeten Entwicklungstools kurz vorgestellt.
2
2 Verwendete Technologien
Das Projektteam hat sich mit FCS Fair Computer Systems, zur Erstellung der WAPSchnäppchenbörse, auf folgende Basis-Technologien geeinigt:
1.
2.
3.
4.
JAVA Servlets
JSP
WML
SQL
Auf Konzeption, Anwendungslogik und Datenbankdesign wird näher in den
schriftlichen Ausarbeitungen der anderen Projektteammitglieder eingegangen.
An der Konzeption waren alle Projektteammitglieder beteiligt. In der
Implementierungsphase hingegen wurde das Projekt in zwei Gruppen geteilt, um die
Anwendung aus den drei Sichten: Design (engl. View), Logik und Daten, besser
herausarbeiten zu können.
Michael Stumpf und Hans Cristoph Luther übernahmen den Teil der Implementierung
der Java Servlets und des Datenbankdesigns, René J. Soria Wolf und Denise
Biermann den der Java Server Pages und der WML-Seiten.
In dieser schriftlichen Ausarbeitung wird die WAP-Technologie (vgl. Abschnitt 2.1)
erklärt, um die Seitenbeschreibungssprache WML (vgl. Abschnitt 2.1.4), die in der
Projektimplementierung verwendet wird, besser darlegen zu können. Zusammen mit
den Java Server Pages (vgl. Abschnitt 2.2) haben sie primär die Aufgabe der
Anwendungsdarstellung (Design). Durch die Kommunikation mit den Java Servlets
(Logik) wird die Darstellungsschicht mit den Daten aus der Datenbank (Daten)
versorgt.
3
2.1 WAP (Wireless Application Protocol)
WAP ist ein Oberbegriff für eine Protokollfamilie (vgl. Abschnitt 2.1.3), wird aber auch
für die Seitenbeschreibungssprache WML und ihre Ergänzung WMLScript (vgl.
Abschnitt 2.1.4) verwendet. [WeHa01, S. 3]
Die mittlerweile realisierte Vision der WAP–Technologie, den Transfer von
Internetinhalten auf das Mobilfunknetz zu ermöglichen, so dass auf Web-Inhalte mit
portablen Endgeräten, z.B. Handys oder PDAs (Personal Digital Assistant),
zugegriffen werden kann, hat einen neuen, großen Marktplatz gefunden, der nach
konkreten Anwendungen sucht, die für mobile Benutzer einen Sinn machen und einen
Nutzen bringen. „Die Idee dahinter ist keine geringere, als die beiden größten Märkte,
die Welt der Handys und des WWW, miteinander zu verheiraten“. [WeHa01, S. 3]
2.1.1 Entstehungsgeschichte
„Viele Berufe bedürfen heute einer ständigen Erreichbarkeit, die durch die wachsende
Mobilität bedingt ist“ [Rich00].
Die ersten Versuche einen Standard in der mobilen Kommunikation zu setzen, wurden
seit 1996 von einigen Firmen, wie z.B. von Unwired Planet, unternommen.
Auszeichnungssprachen, wie beispielsweise HDML (Handheld Device Markup
Language), konnten sich allerdings als Standard nie richtig durchsetzen, was andere
Firmen dazu bewog, nach eigenen Standards zu suchen.
1997 wurde das WAP Forum1 von den Verantwortlichen von Unwired Planet (heute
Phone.com), Motorola, Nokia und Ericsson gegründet. Ziel war es, in gemeinsamer
Zusammenarbeit, einen standardisierten Internetzugang für mobile Endgeräte zu
entwickeln, d.h. einen Industriestandard für mobile Anwendungen, der sowohl die
Übertragung der Daten (Protokolle), als auch die Programmierung der Seiten regelt.
Mittlerweile besteht das Forum aus über 500 Mitgliedern2. Bei der Aufnahme weiterer
Firmen in das Forum, wurde darauf geachtet, dass die Unternehmen aus dem
weiteren Umfeld der Telekommunikation, darunter die Hersteller mobiler
Empfangsgeräte,
Netzbetreiber
und
andere
Infrastrukturanbieter,
sowie
Softwareentwickler, in einem ausgewogenen Verhältnis vertreten sind, damit keine
Branche in Zukunft die Oberhand gewinnen kann [Bros00, S. 11].
1
Homepage: http://www.wapforum.org.
2
Stand: November 2000.
4
Mit WAP wollte das Forum einen Standard entwickeln, der von möglichst allen mobilen
Endgeräten verstanden wird und der auch mit den verschiedenen Netzen umgehen
kann.
2.1.2 WAP Architektur
Die drei Säulen der mobilen Welt sind die der Endgeräte, der Netzbetreiber und der
Inhalteanbieter (engl. Contentprovider), die durch ihr Zusammenspiel, die WAPArchitektur (Abbildung 2.1.2/1) konstituieren. In genannter Reihenfolge, werden ihre
einzelnen Elemente erklärt und anschließend ihre Funktionsweise, an einem
beispielhaften Ablauf eines WAP-Seitenaufrufs durch ein mobiles Endgerät,
veranschaulicht.
WAP-Client
Proxy Server
Mobile
Network
WTA
User
Agent
Request (Encoded)
WAE
User
Agent
WAP
Stack
(WAP-Gateway)
Request
Handling
Internet
HTTP Request
Coder /
Decoder
Response (Encoded)
Protocol
Gateway
WWW
Server
Content
HTTP Response
Abbildung 2.1.2/1 Die WAP Architektur, angelehnt an [Nisk99, S. 7].
2.1.2.1 WAP-Client
Unter WAP-Clients sind die mobilen Endgeräte zu verstehen. Dazu zählen
beispielsweise Handys, PDAs, etc. Damit diese für Wap-Dienste nutzbar sind, müssen
sie einige Komponenten aufweisen, die im folgenden erklärt werden. Anschließend
wird speziell auf die Einschränkungen der Handys eingegangen, da unsere
Anwendung für diesen Typ von Endgerät ausgelegt ist.
2.1.2.1.1 Komponenten
In jedem mobilen Endgerät (oder auch WAP-Client) muss ein WAE (Wireless
Application Environment) User Agent, ein WTA (Wireless Telephony Application) User
Agent und ein WAP-Stack enthalten sein.
5

Der WAP-Stack erlaubt den Versand und den Empfang der Daten mit den WAPProtokollen und kommuniziert mit dem WAP-Stack auf dem WAP-Gateway
(Protocol Gateway).

Der WAE User Agent ist nichts anderes als der WAP-Browser (Micro Browser). Er
erhält die Daten vom WAP-Gateway, muss diese dekodieren und für den Display
rendern [WeHa01, S. 11]. Der jetzige WAP-Standard unterstützt WML- und
WMLScript-Code oder WBMP-Grafiken (Wireless Bitmap).

Der WTA User Agent verwaltet Funktionen, die mit dem Endgerät selbst oder mit
dem Netzwerk zu tun haben. Erst mit der Einführung von GPRS können
Netzwerkfunktionen, wie beispielsweise Location Based Services, welche Dienste
sind, die auf der aktuellen Position des Benutzers basieren, eingesetzt werden.
Allerdings unterstützen die meisten Endgeräte diese noch nicht.
2.1.2.1.2 Einschränkungen mobiler Endgeräte
Unsere Zielsetzung war es, die WAP-Schnäppchenbörse für tragbare Mobiltelefone zu
konzipieren. Dabei waren Probleme zu bewältigen, die durch einige technische
Einschränkungen der Endgeräte bedingt waren und im folgenden erläutert werden.

Display
Eine Hürde bei der Implementierung von WML-Seiten, ist die Begrenzung der
Darstellbarkeit von Inhalten auf den sehr kleinen Displays der Endgeräte3. Die
begrenzte Ausgabefläche der Displays hat vor allem Auswirkungen auf die
Formulierung der Inhalte, da Sätze, die sich über viele Zeilen erstrecken, nicht
geeignet dargestellt werden können. Die Kunst ist es, präzise und kurze Begriffe
für die Inhalte, sowie für die Navigation zu finden, denn oft passen in eine Zeile
nicht mehr als 17 bis 30 Zeichen und die Displayhöhe fasst häufig nicht mehr als
drei bis dreieinhalb Zeilen. Da die verschiedenen Handy-Modelle unterschiedliche
Displays besitzen (bei einigen Modellen sind diese lediglich 110 x 45 Pixel groß4),
muss versucht werden, den kleinsten gemeinsamen Nenner, bei der Visualisierung
von Inhalten zu finden, um in allen Handys die gewünschte Darstellung zu
gewährleisten.
3
„Nach wie vor sind die kleinen Displays der Komplexität professioneller Anwendungen noch nicht
gewachsen.“ [Ross01, S. 47]
4
Das Nokia 7110 hat beispielsweise nur eine Displaygröße von 95x68 Pixel, das Ericcson R320 nur
101x52 Pixel [Imml01].
6

Sprache
Das Problem kann mit folgender Situation in der Projektarbeit veranschaulicht
werden: Wir wollten dem Kunden die Möglichkeit bieten, über sein Handy, sich
eine detaillierte Information über ein Fahrzeug seiner Wahl per Email zukommen
zu lassen. Wie sollte aber ein möglichst kurzer Menüpunkt lauten? Wie haben
„Email“ gewählt, allerdings könnte das auch als „eine Email an den Autohändler
schicken“ verstanden werden. „Infomail“ verwarfen wir, weil wir nicht Englisch und
Deutsch mischen durften. Die Texte müssen kurz und trotzdem aussagekräftig
sein. Dies ist vor allem in der deutschen Sprache sehr schwierig, da viele Wörter i.
d. R. um 50 – 120% länger sind als in der englischen Sprache.

Tastatur
Die Handytastatur ist eigentlich, aus der der technischen Perspektive betrachtet,
für das Telefonieren ausgelegt.5 Nur durch mehrmaliges Drücken auf ein Taste,
können die verschiedenen Buchstaben des Alphabets ausgewählt werden. Das ist
ein Grund, wieso dem Nutzer nur eine minimale Eingabe zugemutet werden sollte,
da es eine äußerst mühsame Aufgabe ist, längeren Text eingeben zu müssen.
Als Beispiel soll hier die Eingabe von Passwörtern kritisch betrachtet werden. Um
in den personalisierten Bereich der Schnäppchenbörse zu gelangen, muss sich
der Benutzer authentifizieren. WML bietet die Möglichkeit Textfelder eines
Formulars mit einem „*“-Symbol zu maskieren. Dies ist nicht sehr sinnvoll, da der
Benutzer nicht sehen kann was er eintippt. Das Ganze wird noch zusätzlich durch
den Zwang des mehrmaligen Drückens einer Taste, um einen bestimmten
Buchstaben zu wählen, erschwert, insbesondere dann, wenn ein Sonderzeichen,
wie z.B. „@“, gewählt werden soll.
Sofern ein Benutzer im System authentifiziert ist, belegen wir seine vorhandenen
Daten in Formularfelder vor, um jeden unnötigen Tippaufwand zu vermeiden.
Besonders dann, wenn man bedenkt, dass alle paar Sekunden ein €-Cent
Onlinegebühren anfallen.

Funktionstasten
Alle WAP-Handys haben zwei frei belegbare Funktionstasten unterhalb des
Displays. Diese können in WML-Seiten für bestimmte Funktionen verwendet
werden. Einige Handys besitzen bereits vordefinierte Tasten für die Funktionen:
OK, Zurück, Hilfe, Reset, Optionen oder Löschen. Genau das aber, ist der Grund
wieso wir in der Implementierung auf die Programmierung der Funktionstasten
verzichten mussten, denn die vordefinierten Funktionen für die Tasten variieren
von Gerät zu Gerät. Zur Lösung dieses Problems und zur Gewährleistung, dass
5
Kemper spricht hier von einer „verkrüppelten Tastatur“ [Kemp01].
7
auf allen Handys die Navigation einheitlich erscheint, verwendeten wir Links
anstelle der Funktionstasten, die wir am Seitenende platzierten.

Speicher
Die Endgeräte besitzen einen nicht zu unterschätzenden kleinen Speicher. Bei
unseren Tests auf verschiedenen Handys, erschienen oft Meldungen wie
„message-body too long“, die darauf hinwiesen, dass die gesendete WML-Seite
trotz Kodierung zu groß ist. Die in unserer Projektarbeit erfahrene
Schmerzensgrenze für eine WML-Seite, betrug 1 KB in kompilierter Form. Das ist
besonders dann problematisch, wenn man bedenkt, dass die WML-Seiten
dynamisch durch die Java Server Pages generiert werden. Soll beispielsweise
eine Liste der Fahrzeugmodelle als ein SELECT-Feld in einer WML-Card
dargestellt werden, so ist darauf zu achten, dass die Liste nicht allzu lang wird,
damit sie nicht die 1 KB-Grenze überschreitet. In solchen Fällen zwingen die noch
unzureichenden Speicherkapazitäten der Geräte die Programmierung, die zu groß
geratenen WML-Seiten in kleinere, getrennte Einheiten an das Handy zu schicken.

Handypuffer (Cache)
Eine aufgerufene WML-Seite wird im Handy-Cache zwischengespeichert. Hat der
Programmierer vergessen im Header der WML-Datei die Lebensdauer der Seite
auf 0 zu setzen, bleibt diese Seite so lange im Cache bis diese abgelaufen ist.
Dies ist von größter Wichtigkeit, da man in der Testphase zwar Simulatoren hat,
wie z.B. das Nokia Toolkit (vgl. Abschnitt 3.1), das auf regulären PCs läuft, jedoch
hat man i. d. R. nicht allzu viele Handys, bei denen man sich erlauben könnte, eine
Woche lang zu warten bis der Cache die Seite freigibt.

Bilder
WAP erlaubt die Integration von Bildern in WML Seiten. Das Format heißt WBMP
(Wireless Bitmap) und erlaubt lediglich eine Farbtiefe von 2 Bit. Die Idee der
Splash-Screens konnte sich nicht einmal im Web durchsetzen6. Wir haben
unseren anfänglich verwendeten Splash-Screen von unserer Startseite entfernt, da
er keinen zusätzlichen Nutzen für den Kunden bietet. Die Übertragungsleistungen
der Mobilfunknetzbetreiber sind noch zu gering und das Laden eines WBMPs
folglich zu langsam und zu teuer.

Trends
Die Zukunft weist auf eine immer wahrscheinlichere Konvergenz zwischen den
Handys und den PDAs hin, den so genannten Smart Phones [Ross01, S. 45].
Diese Geräte werden den Benutzern größere Farbdisplays, sowie einen größeren
Umfang an Funktionalitäten und eine bessere Bedienbarkeit bieten können. Die
6
Ein Splash-Screen ist meist ein Logo oder Bild das am Anfang eines Programms oder einer
Präsentation eingeblendet wird. Vgl. auch [Pusc01].
8
Endgerätehersteller sind bestrebt leistungsfähigere Geräte zu erzeugen, um die
neuen Mobilfunknetztechnologien auszuschöpfen7. Auch die quantitative
Verbreitung der mobilen Endgeräte wird stark zunehmen8.
2.1.2.2 Mobilfunknetz
Das Mobilfunknetz stellt die Netzinfrastruktur der mobilen Welt dar, das von den
Netzwerkbetreibern gestellt wird. Es besteht in der Regel aus Zellen. Jede Zelle wird
von einem Sende- und Empfangsmast9, mit einer bestimmten Reichweite10, gebildet.
2.1.2.2.1 Netze (GSM, HSCD, GRPS, EDGE-GMS, UMTS)
Es gibt eine Vielzahl von verschiedenen Mobilfunknetzen, die hier kurz erläutert
werden.

GSM 900/1800 (Global System for Mobile Communications) ist der in Europa
verwendete Standard für Mobiltelefonie [MoAh01], der eine vergleichsweise
geringe Datenübertragungsrate (durchschnittliche Geschwindigkeit 7.500 Bit/s)
aufweist.

HSCD (High Speed Circuit Switched Data) ist ein neuerer Standard im GSMSystem zur schnelleren Datenübertragung (durchschnittliche Geschwindigkeit
34.000 Bit/s).

EDGE-GSM (Enhanced Data Rates for GSM Evolution) ist noch eine Generation
weiter als GSM und soll Datenraten bis zu 384.000 Bit/s liefern. Es bietet eine
Wachstumschance für die Anbieter, die keine UMTS-Lizenzen erhalten haben
[MoAh01].

GPRS (General Packet Radio Service) ist ein Übertragungsstandard der schnell
genug ist (durchschnittliche Geschwindigkeit 40.000 Bit/s), um per Mobiltelefon mit
uneingeschränkter Farbdarstellung im Internet zu surfen. Die Abrechnung erfolgt
pro Datenpaket.
7
Beispiel 1: Das neue Nokia 7650 integriert alle Funktionen eines Mobiltelefons mit einer digitalen
Kamera und bietet zusätzliche Funktionen wie WAP, Kalender, Email, MMS (Multimedia Messaging
Service), Java VM, etc., an [Oebb02]. Beispiel 2: Das Modell Nokia 9210i integriert eine volle
Tastatur.
8
Die Gartner Group prognostiziert, dass im Jahr 2004 die Anzahl mobiler Endgeräte die der PCs mit
Internet–Zugang übersteigen wird [Ross01, S. 45].
9
Auch Antenne oder Basisstation (engl. BTS = Base Tranceiver Station).
10
Makrozellen haben eine Reichweite von mehreren Kilometern. Mikrozellen von einigen wenigen 100
Metern [WeHa01, S. 12].
9

UMTS (Universal Mobile Telecommunications System) ist ein schneller, internetfähiger Übertragungsstandard. Die sich noch im Aufbau befindenden UMTS-Netze
unterstützen auch GSM und WAP. Zu UMTS noch einige kritische Bemerkungen
[Ross01, S. 62 ff.]:

Finanzieller Aspekt
In Finnland wird bereits im Sommer 2002 die UMTS-Technologie zum Einsatz
kommen, während sie in Deutschland bis mindestens Mitte 2003 warten
muss11. Grund ist die Versteigerung der Lizenzen Mitte 2000, für die die
Mobilfunknetzbetreiber in Deutschland Milliardenbeträge zahlten. In anderen
europäischen Ländern waren die Investitionskosten für die Lizenzen wesentlich
geringer.

Technologischer Aspekt
Mit UMTS wurde ein breitbandiger mobiler Internet-Zugang mit 2 MBits/s
angepriesen. Jedoch zahlte man 99 Milliarden DM für das „paired band“, das
für symmetrische Kommunikation ausgelegt ist, aber nur 500 Millionen DM für
das „unpaired band“, das sich für asymmetrische Dienste12 eignet, wie
typischerweise das Modell Internet einer ist.

Technischer Aspekt
Hinzu kommt das Problem der Funkzellenatmung [Ross01, S. 66]. In UMTS
teilen sich alle Teilnehmer gleichzeitig die Bandbreite13, während beim jetzigen
GSM ein Teilnehmer nach dem anderen an der Reihe ist. Wächst die
Teilnehmerzahl,
so
schrumpft
die
Funkzelle
und
umgekehrt
(Funkzellenatmung). Effekt: Teilnehmer fallen aus dem Empfangsbereich der
Basisstation heraus. Es steht also nicht fest, mit welcher Datenrate der Kunde
zu rechnen hat. Zu erwarten sind 120 KBits/s.
2.1.2.2.2 Netzwerkbetreiber
Die Netzwerkbetreiber (in Deutschland: D1, D2, E-Plus, Viag, etc.) haben bezüglich
der Zellverteilung zwei Probleme zu lösen: die der Flächendeckung14 und die der
Netzkapazität15.
11
Gehört in den Nachrichten des Senders Bayern 5 Radio, Mai 2002.
12
Asymmetrische Dienste charakterisieren sich durch eine hohe Bandbreite zum Kunden und einem
relativ schmalbandigen Rückkanal, vergleichbar mit ADSL (in Deutschland).
13
UMTS nutzt hierfür das CDMA-Verfahren (Code Division Multiple Access).
14
Probleme entstehen meist in nicht so dicht besiedelten Gebieten. Für den Nutzer äußern sie sich als
Funklöcher.
10
2.1.2.3 WAP-Gateway
Der WAP-Gateway ist eher als ein Proxy Server als ein Gateway im eigentlichen
Sinne zu sehen, da er Anfragen bearbeitet (Request Handling), Daten temporär
speichert, sie kodiert und dekodiert und sich nicht nur auf das Weiterleiten von Daten
beschränkt.
Ein WAP-Gateway besteht aus zwei Komponenten:

Dem Protocol Gateway, der für die Übersetzung der WAP-Protokolle in InternetProtokolle zuständig ist.16

Dem Coder/Decoder (CODEC), der WML und WMLScript Dateien in ein für das
mobile Netz geeignete Binärformat WBXML (WAP Binary XML Content Format),
überträgt.
Das WAP-Gateway wird von den Mobilfunkbetreibern gestellt.
2.1.2.4 Contentprovider
Die Contentprovider stellen Inhalte bereit, die Benutzer mit ihren mobilen Endgeräten
abrufen können. Damit der Web-Servers WAP-Inhalte bedienen kann, ist dieser mit
folgenden MIME-Typen zu konfigurieren:
Datei-Endung
MIME-TYPE
Beschreibung
.wml
text/vnd.wap.wml
WML-Datei
.wmls
text/vnd.wap.wmlscript
WMLScript-Datei
.wbmp
image/vnd.wap.wbmp
WBMP-Grafik
Abbildung 3.2.4/1 Die WAP MIME-TYPEN
Von den Contentprovidern wird in Zukunft ganz entscheidend der Erfolg des WAPs
abhängen. Die wichtigste Frage ist, welche Kunden bereit sind für welche Dienste, wie
viel Geld auszugeben. Ohne Dienste die einen wahren Mehrwert bieten, wird der
Kunde nicht bereit sein, die anfänglich hohen Kosten für den Zugang zur mobilen Welt
zu zahlen.
15
In Ballungszentren kann es vorkommen, dass zu Stoßzeiten das Netz einfach zusammenbricht.
UMTS (Universal Mobile Telecommunications Systems) wird durch seine größere Bandbreite zu
mehr Stabilität und Kapazität führen.
16
Die Kommunikation zwischen WAP-Gateway und Web-Server (HTTP, TCP/IP) bzw. WAP-Gateway
und Endgerät (WAP) erfolgt mit zwei unterschiedlichen Protokollfamilien und muss daher übersetzt
werden.
11
2.1.2.5 Beispiel
Der WAE User Agent des Handys, baut mit dem WAP-Gateway des
Mobilfunknetzanbieters über das Mobilfunknetz Kontakt auf und fordert die
entsprechende Datei an. Der WAP-Stack im WAP Client kommuniziert mit dem
Protokoll-Stack im WAP-Gateway und sendet ihm den kodierten Request. Der WAPGateway stellt somit die Schnittstelle zwischen dem Mobilfunknetz und dem Internet
dar. Der CODEC des WAP-Gateways dekodiert die erhaltene Anfrage und ruft den
Web-Server auf, der den Content bereitstellt, und bittet um die besagte WML-Datei.
Dabei übersetzt der Protocol-Gateway die WAP-Protkolle in Web-Protokolle (HTTP
und TCP/IP). Der Web-Server sucht das WML-File und sendet es über HTTP (Hyper
Text Transfer Protocol) an den WAP-Gateway. Der CODEC des WAP-Gateways
wandelt den WML-Text in Binärcode um, der dann über das Funknetz wieder zum
Handy gesendet wird. Der WAP-STACK empfängt die Datei und letztendlich dekodiert
und interpretiert der Handy-Browser (Micro Browser) den Binärcode und zeigt den
Inhalt der Datei danach auf dem Display an.
2.1.3 WAP-Protokolle
Die Protokollfamilie des WAPs ist ein Schichtmodell, das fünf17 Schichten beinhaltet
(WAP-Stack). Es kommt bei der Kommunikation zwischen dem mobilen
Empfangsgerät und einem Verbindungspunkt, und zwischen dem Mobilnetz und dem
Internet, zur Anwendung [Bros00, S. 12].
WAP-Modell
Anwendungsschicht (WAE)
WWW-Modell
HTML, JavaScript, etc.
Sitzungsschicht (WSP)
HTTP
Transaktionsschicht(WTP)
Sicherheitsschicht (WTLS)
TLS v1.0
Transportschicht (WDP)
TCP, UDP
Trägerdienste (CSD, SMS, GPRS...)
IP, Datalink Layer, Physical Layer
Abbildung 2.1.3/1 Das WAP-Modell und das Web-Modell18.
17
In der Literatur werden oft nur die obersten 4 Schichten (WSP bis WDP) erwähnt. Vgl. auch mit
[WeHa01, S. 22].
18
Grafik angelehnt an [WeHa01, S. 25].
12

WAE (Wireless Application Environment) hat den Zweck, Inhalte zu erzeugen
(Content Generators19) und/oder darzustellen (Endgeräte). Zwei wesentliche
Elemente in den Endgeräten sind der Microbrowser (WAE User Agent), zur
Darstellung von Inhalten auf dem Bildschirm, und die Wireless Telephony
Application (WTA User Agent), mit denen sich Funktionen der Endgeräte steuern
lassen, z.B. integrierte Telefonbücher oder Terminplaner, etc. Diese in
Bibliotheken organisierten Funktionen, können über die WTA-Schnittstelle (WTAInterface20) durch WML (vgl. Abschnitt 2.1.4) oder WMLScript aufgerufen werden.

WSP (Wireless Session Protocol) etabliert, verwaltet und beendet Sitzungen
zwischen Client und Server.

WTP (Wireless Transaction Protocol) ist ein Übertragungsprotokoll, das auf
geringe Übertragungskapazität ausgerichtet ist und benötigt wird, um interaktiv mit
Anwendungen kommunizieren zu können [Bros00, S. 12].

WTLS (Wireless Transport Layer Security) ist ein optionales Element für
zusätzliche Sicherheit. Das Pendant im Internet war noch vor kurzem unter SSL
v3.0 bekannt21.

WDP (Wireless Datagramm Protocol) organisiert den eigentlichen Transport über
das Datenkabel.

Trägerdienste (engl. Bearer Services) oder auch Datendienste, werden von den
Mobilfunknetzbetreibern angeboten und bilden die Grundlage für WAP-Dienste
[WeHa01, S. 12]. Beispielsweise baut WAP auf dem Trägerdienst SMS (Short
Message Service) auf, bietet aber mehr Interaktionsmöglichkeiten und eine
größere Übertragungsleistung als dieser [Rich00], da ein SMS Datenpaket
lediglich auf 160 Bytes begrenzt ist. Der Trägerdienst CSD (Circuit-Switched Data)
stellt eine permanente Verbindung zum WAP-Gateway her und erreicht bis zu
9.600 Bits/s [WeHa01, S. 12].
19
Gemeint sind hier Anwendungen, die auf Webservern dynamische Inhalte erzeugen.
20
Siehe auch [VaTa00, S. 70]. Es wird unterschieden zwischen public , network-specific und networkcommon WTAI. Das public WTAI bietet zwei Funktionen: make call und send DTMF tones. Die
anderen beiden WTAIs haben einen wesentlich größeren Funktionsumfang, ihr Zugriff ist jedoch
restriktiver.
21
SSL (engl. Secure Sockets Layer) ist heute als TLS( Transport Layer Security) bekannt [WeHa01, S.
22].
13
2.1.4 WML (Wireless Markup Language)
WML stammt von XML (Extensible Markup Language) ab und ist eine
Seitenbeschreibungssprache zur Darstellung von Inhalten auf tragbaren Endgeräten.
Sie ist nicht so umfangreich wie HTML (Hyper Text Markup Language) und muss sich
strikt an die Dokumententypdefinition (DTD = DOCUMENT TYPE DEFINITION)
halten.
Jede WML- Datei ist vom MIME-Type22 „text/vnd.wap.wml“ und trägt die Endung
„.wml“. Im Dateikopf (Header) steht die XML-Version und der Verweis auf die
Definition des verwendeten Dokumententyps.
<?xml version=“1.0“ ?>
<! DOCTYPE wml PUBLIC “-//WAPFORUM//DTD WML 1.1/EN“ “http//www.wapforum.org/DTD/wml_1.1.xml“>
Eine WML-Datei (auch Deck oder Kartenstapel), wird komplett übertragen und in den
Handy-Speicher abgelegt. Ein Deck besteht aus mehreren Karten (engl. „cards“), in
denen die darzustellende Inhalte stehen. Eine WML-Datei kann theoretisch beliebig
viele Karten enthalten, jedoch stellen die Endgeräte nicht genügend Speicher zur
Verfügung, um eine allzu große Zahl an Karten aufnehmen zu können. Ist das Deck
geladen, kann man von Karte zu Karte springen. Ruft man jedoch eine Karte auf
einem anderen Deck auf, dauert das länger, da erst eine andere WML-Datei geladen
werden muss. Daher sollte man zusammengehörige Karten auf ein Deck platzieren
[MoAh01, S. 181].
Eine Möglichkeit WML-Seiten dynamischer zu gestalten, ist WMLScript zu verwenden.
Das Pendant in der HTML-Welt stellt Java Script dar. Beispielsweise kann man auch
Dienste der WTAI-Bibliothek (Wireless Telephony Applications Interface) in einem
WMLScript
verwenden,
um
einen
Anruf23
zu
starten:
„WTAPublic.makeCall(“5302645“);“. Allerdings müssen die Skripte als eigene Datei mit
der Endung .wmls gespeichert und schließlich vom Microbrowser separat geladen
werden. Eine WMLScript-Funktion wird stets von einem WML-Deck aufgerufen. Dabei
werden ihm eine oder mehrere Variablen mitgegeben. Wenn die Funktion der
aufgerufenen WMLScript-Datei durchgeführt wurde, gibt sie das Resultat in Form einer
oder mehrerer Variablen wieder an das WML-Deck zurück, von wo aus es dann auf
dem Display angezeigt wird.
In unserem Projekt verwenden wir nicht WMLScript, da wir die WML-Seiten durch die
Java Server Pages dynamisch generieren und so mit Daten versorgen.
22
MIME-Type (Multipurpose Internet Mail Extension) teilt dem Browser mit, welche Art von Datei an
ihn geschickt wird.
23
Auch ein Link in einer WML-Datei ist möglich: <go href=“wtai://wp/mc;$number“/>. Vgl. [Nisk99].
14
Probleme und Grenzen bei der Implementierung mit WML, bedingt durch die
Eigenschaften der mobilen Endgeräte, wurden in Abschnitt 2.1.2.1.2 beschrieben.
2.2 JSP (Java Server Pages)
JSP ist Teil von J2EE (Java 2 Enterprise Edition) und benutzt die JAVA Technology,
die durch ihre Plattformunabhängigkeit besticht: 'write once run anywhere’.
Damit JSP-Dateien interpretiert werden können, bedarf es der Installation des Tomcat
4.024, der wiederum das JDK 1.3 als installiert voraussetzt.
In unserem Projekt gehen die Anfragen der mobilen Clients zu den Java Servlets25.
Die Servlets selbst kommunizieren mit der Datenbank und starten Abfragen bzw.
modifizieren und erzeugen Daten mit SQL. Die JSP-Seiten werden in unserem
Anwendungsmodell von den Servlets mit Daten versorgt. Die JSP Engine führt die
JSP-Seiten aus und generiert dynamisch WML-Seiten, die zu den mobilen Clients
zurückgesendet werden.
Abbildung 2.2/1 Anwendungsmodell Servlet – JSP26.
Wenn eine JSP-Seite zum ersten Mal aufgerufen wird und folglich noch nicht im
Server existiert, wird diese in eine Java Servlet Klasse kompiliert und gespeichert. Das
ermöglicht sehr schnelle Antwortzeiten für spätere Anfragen auf diese Seite. Der
Vorteil liegt darin, dass die Seiten nicht jedes Mal neu kompiliert werden müssen.
Allerdings sind gerade diese Eigenschaften in der Entwicklungs- und Testphase
hinderlich. Theoretisch müsste der Tomcat die kompilierten Versionen löschen, wenn
eine neuere Version einer JSP-Seite auf den Server eingespielt wird. In unseren bei
der Projektarbeit gesammelten Erfahrungen, war es aber tatsächlich so, dass die alten
Dateien erst per Hand gelöscht werden mussten.
24
Tomcat 4.0, entwickelt von Apache Software Foundation's Jakarta Project, ist ein Open Source
Server und ein kostenloser Servlet Container und JSP Engine. Download unter:
http://jakarta.apache.org/tomcat.
25
Java Servlets sind eine Standard-Erweiterung von Java.
26
Grafik entnommen aus: http://java.sun.com/products/jsp/whitepaper.html.
15
3 Entwicklungstools in der Implementierungs- und Testphase
Nahm die Implementierung der Schnäppchenbörse schon immens viel Zeit in
Anspruch, so erst Recht das Fehlersuchen und Testen. Die Fehlersuche stellte sich oft
als sehr schwierig heraus, da die Fehlermeldungen in den Simulationsprogrammen27
auf den PCs und erst recht die auf den Handys, nicht sehr hilfreich waren, um
herauszufinden wo die Fehlerursache lag. In den folgenden Abschnitten sind die zwei
verwendeten Entwicklungstools erklärt, die zur Implementierung und zum Testen von
JSP und WML notwendig sind.
3.1 Nokia Toolkit 1.2
Unabhängig ob die Dateien auf dem WAP-Server oder auf dem lokalen Rechner
gespeichert sind, bietet das Nokia Toolkit eine Entwicklungsumgebung zur Simulation,
Fehlerfindung und Generierung von WML-Seiten. Da die WML-Seiten mit JSP
dynamisch generiert werden, erstellten wir mit dem Toolkit keine WML Dateien,
sondern betrachteten lediglich den Output der JSP-Seiten (Syntax und Visualisierung).
Das Toolkit zeigt die kompilierte Größe, die geschätzte Übertragungszeit, sowie die
Fehler einer WML-Datei an. Es überprüft die WML-Dateien rein auf Syntaxfehler. Oft
musste das Tool jedoch neu gestartet werden, da es immer wieder abstürzte.
Das Testen mit dem Handy selbst, erfolgte erst nach erfolgreicher Simulation, denn es
ist zu langsam und auch zu teuer für eine Fehlersuche.
3.2 JBuilder 4
Das Entwicklungstool von Borland eignet sich zur Programmierung von JAVAAnwendungen. Wir kreierten damit die Java Servlets und die JSP-Seiten. Letztere
konnten wir aber mit diesen Tool nicht simulieren, da der Output vom MIME-Type
WML in der Vorschau des JBuilders nicht dargestellt werden kann.
27
Man verwendet sog. Emulatoren, mit denen der Entwickler in der Lage ist, die Darstellung der WapSeite auf dem Computer oder dem Web zu simulieren [Pusc01].
16
4 Zusammenfassung
Das Projekt Schnäppchenbörse ist mittlerweile erfolgreich abgeschlossen. Anfangs
wurde es als eine B2C-Lösung implementiert und parallel bis Januar 2002, für die
AVAG, als B2B-Lösung angepasst und verkauft. Zusätzlich entwickelten wir in einer
zweiten Phase, personalisierte Elemente für unsere Schnäppchenbörse.
Die Technologie JSP hat sich als eine gute Lösung bei der Implementierung der
Schnäppchenbörse erwiesen. Was die WAP-Technologie betrifft, muss man diese
einer differenzierteren Betrachtung unterziehen. So mag WML durchwegs ausreichend
sein, um für mobile Endgeräte Inhalte zu generieren, die an Einfachheit nicht zu
bestechen sind. Aber die Aspekte der Endgeräte, der Mobilfunknetze und der
Contentprovider lassen eine isolierte Betrachtung nicht sinnvoll erscheinen.
Solange keine zuverlässige und effiziente Infrastruktur, leistungsstarke Endgeräte und
nutzenversprechende Inhalteanbieter dem WAP ein Fundament bieten, sind
Technologien wie WML alleine nicht ausbaufähig.
17
Literaturverzeichnis
[Bros00]
Brosius, F.: WML – die Wireless Markup Language. Addison-Wesley Verlag, München u.a.
2000.
[Imml01]
Immler C.: Gut geWAPnet – Mobiles Internet. Internet Intern o. Jg. (2001) 1, S. 125-133.
[Kemp01]
Kemper F.: Gesenkte Erwartungen. Internet World o. Jg. (2001) 7, S. 64-66.
[MoAh01]
Mocker H.; Mocker U.; Ahlreep J.: Handbuch E-COMMUNICATION. DatakontextFachverlag, Frechen 2001, S. 167-184.
[Nisk99]
Niskanen P.: Inside WAP – Programming Applications with WML and WMLScript. Addison
Wesley Verlag, London u.a. 1999.
[Oebb02]
Oebbeke A.: Special: Mobiles Leben. UNI COMPACT o. Jg. (2002) 1, S. 12-15.
[Pusc01]
Puscher F.: Die bessere WAP-Site. Internet World o. Jg. (2001) 7, S. 72-73.
[Rich00]
Richard, P. J.: Wap – Mobil im Internet. Smart Books Verlag, Kilchberg 2000.
[Ross01]
Rossbach G.: Mobile Internet / Deutscher Internet Kongress Karlsruhe 2001. dpunkt.verlag,
Heidelberg 2001.
[VaTa00]
Van der Heijden, M.; Taylor M.: Understanding WAP: Wireless Applications, Devices, and
Services. ARTECH HOUSE Verlag, Norwood 2000.
[WeHa01]
Wenz, C.; Hauser, T.: WAP – Architektur – Programmierung – Referenz. Hanser Verlag,
München u.a. 2001.
Herunterladen