Download - 3. Wireless Application Protocol (WAP)

Transcript
Page 1: 3. Wireless Application Protocol (WAP)

12.01.2002 Proseminar „Allgegenwärtiges Rechnen“Internet Protokolle und Formate

1

3. Wireless Application Protocol (WAP)

Internet Protokolle und FormateInternet Protokolle und Formate

3. Wireless Application Protocol

Sebastian Weber

Page 2: 3. Wireless Application Protocol (WAP)

12.01.2002 Proseminar „Allgegenwärtiges Rechnen“Internet Protokolle und Formate

2

3. Wireless Application Protocol (WAP)

drahtlose Verbindungen:Probleme mit Bandbreite, Stabilität, Erreichbarkeit, Zeitverzögerung

mobile Endgeräte:Probleme mit Displays, Darstellung, Speicher, Rechenleistung, Energie,Eingabeschnittstelle

Betreiber:Bedarf an Interoperabilität, Skalierbarkeit,

Sicherheit, Globalität

Problem:Wie kommen

Inhalte auf mobile End-

geräte?

Page 3: 3. Wireless Application Protocol (WAP)

12.01.2002 Proseminar „Allgegenwärtiges Rechnen“Internet Protokolle und Formate

3

3. Wireless Application Protocol (WAP)

Lösung: WAP

3.1 Schichtenmodell3.2 Wireless Application Environment (WAE)3.3 WAP Infrastruktur3.4 Programmierung

3.4.1 WML3.4.2 WMLScript

Page 4: 3. Wireless Application Protocol (WAP)

12.01.2002 Proseminar „Allgegenwärtiges Rechnen“Internet Protokolle und Formate

4

3.1 WAP Schichtenmodell

Träger ...SMS CSD HSCSD GPRS

Anwendungsschicht WAE

Sitzungsschicht WSP

Transaktionsschicht WTP

Sicherungsschicht WTLS

Transportschicht WDP

Page 5: 3. Wireless Application Protocol (WAP)

12.01.2002 Proseminar „Allgegenwärtiges Rechnen“Internet Protokolle und Formate

5

3.1 WAP Schichtenmodell

Wireless Datagram Protocol (WDP)- Schnittstelle: Träger <–> obere Schichten- spezifiziert Trägerunterstützung- gleicht Unterschiede der Träger aus

Wireless Transport Layer Security (WTLS)- Funktion: Verschlüsselung, Authentifizierung,

Datenintegrität, Schlüsselmanagement- optional

Träger

WAEWSPWTPWTLSWDP

Träger

WAEWSPWTPWTLSWDP

Page 6: 3. Wireless Application Protocol (WAP)

12.01.2002 Proseminar „Allgegenwärtiges Rechnen“Internet Protokolle und Formate

6

3.1 WAP Schichtenmodell

Wireless Transaction Protocol (WTP)- verbindungsorientiert- bietet:

- unzuverlässige One-Way-Requests- zuverlässige One-Way-Requests- zuverlässiger Two-Way-Requests

Wireless Session Protocol (WSP)- Sitzungsverwaltung- verbindungsorientiert/verbindungslos

Träger

WAEWSPWTPWTLSWDP

Träger

WAEWSPWTPWTLSWDP

Page 7: 3. Wireless Application Protocol (WAP)

12.01.2002 Proseminar „Allgegenwärtiges Rechnen“Internet Protokolle und Formate

7

3.2 Wireless Application Environment (WAE)

Wireless Markup Language (WML)- basiert auf HDML (Unwired Planet‘s Handheld Device

Markup Language) & XML

WAP Binary XML Content Format (WBXML)- Datenreduzierung- „Tokenizing“: Tag -> Nummer

WML Script- Funktionen auf Client -> verringert Netzwerklast

Träger

WAEWSPWTPWTLSWDP

Page 8: 3. Wireless Application Protocol (WAP)

12.01.2002 Proseminar „Allgegenwärtiges Rechnen“Internet Protokolle und Formate

8

3.2 Wireless Application Environment (WAE)

Wireless Telephony Application (WTA)- telefonspezifische Funktionen

Content Formate- vCard 2.1- vCalendar 1.0- Multipart Messages- WTA Events- Standard Grafikformate (TIFF, JPEG, GIF)- WBMP – Wireless Bitmap- Pictogramme

Träger

WAE

WSP

WTP

WTLS

WDP

Page 9: 3. Wireless Application Protocol (WAP)

12.01.2002 Proseminar „Allgegenwärtiges Rechnen“Internet Protokolle und Formate

9

3.3 WAP Infrastruktur

Dateien,Scripte,

...

WAP Client

WAP Gateway/

Proxy

HTTP Server

drahtlose Verbindung drahtgebundene Verbindung

WAE Services WMLScript

Compiler

WML Encoder / Decoder

WAE User Agent

encoded response

encoded request

response

request

Page 10: 3. Wireless Application Protocol (WAP)

12.01.2002 Proseminar „Allgegenwärtiges Rechnen“Internet Protokolle und Formate

10

3.3 WAP Infrastruktur

User Agent Profile

- Eigenschaften des WAE User Agent

Beispiel für WSP/HTTP Header:

Accept:

application/x-wap.wmlc; uaprof=http://www.beispiel.de/,

application/x-wap.wmlscriptc; uaprof=http://www.beispiel.de/,

text/x-vcard,

text/x-vcal

Page 11: 3. Wireless Application Protocol (WAP)

12.01.2002 Proseminar „Allgegenwärtiges Rechnen“Internet Protokolle und Formate

11

3.4 Programmierung >> 3.4.1 WML

<?xml version="1.0"?>

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN“ "http://www.wapforum.org/DTD/wml_1.1.xml"> <!– Prolog -->

<head> <!–- Dateizugriff, Meta --> </head>

<template> <!–- für alle Cards gültige Spez. --> </template>

<wml>

<card id="Karte1" title="Erste Karte"> ... </card>

<card id="Karte2" title="Zweite Karte"> ... </card>

<card id="Karte3" title="Dritte Karte"> ... </card>

</wml>

DECK

CARD

CARD

CARD

Page 12: 3. Wireless Application Protocol (WAP)

12.01.2002 Proseminar „Allgegenwärtiges Rechnen“Internet Protokolle und Formate

12

3.4 Programmierung >> 3.4.1 WML

<?xml version="1.0"?>

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>

<card id="home" title="Pizzadienst">

<p align="center"><img src="pizza.wbmp" alt="Pizza"/></p>

<p>Willkommen beim Pizzadienst</p>

<p>

<small><a href="#card1">zur Bestellung ...</a></small><br/>

<small><a href="#kontakt">Kontakt</a></small>

</p>

</card>

- <p> ... Absatz- <br/> ... Zeilenumbruch- <small>, <strong> ... Textformatierung- <a> ... Link

Page 13: 3. Wireless Application Protocol (WAP)

12.01.2002 Proseminar „Allgegenwärtiges Rechnen“Internet Protokolle und Formate

13

3.4 Programmierung >> 3.4.1 WML

<card id="card1" title="Pizza: Schritt 1">

<p>

<do type="accept" label="Weiter: Schritt 2"><go href="#card2"/></do>

<do type="unknown" label="Zurück zum Start"><go href="#home"/></do>

<strong>Bitte geben Sie ein</strong><br/>

Name: <input name="name" type="text" format="*A"/><br/>

Anschrift: <input name="anschrift" type="text"/>

</p>

</card>

- <do> ... Button-Belegung- <go> ... definiert Ziel- <input> ... Eingabe-Element

Page 14: 3. Wireless Application Protocol (WAP)

12.01.2002 Proseminar „Allgegenwärtiges Rechnen“Internet Protokolle und Formate

14

3.4 Programmierung >> 3.4.1 WML

<card id="card2" title="Pizza: Schritt 2">

<p>

Hallo $(name)!<br/>

Wählen Sie Ihre Pizza:<br/>

<select name="wunsch">

<option value="ph">Pizza Hawaii</option>

<option value="ps">Pizza Salami</option>

<option value="pm">Pizza Magaritha</option>

</select>

<do type="accept" label="Weiter: Schritt 3"><go href="#card3"/></do>

</p>

</card>

- $(var) ... Zugriff auf Variable- <select> ... Auswahlliste mit:- <option> ... Listenelement

Page 15: 3. Wireless Application Protocol (WAP)

12.01.2002 Proseminar „Allgegenwärtiges Rechnen“Internet Protokolle und Formate

15

3.4 Programmierung >> 3.4.1 WML

<card id="card3" title="Pizza: Schritt 3">

<do type="accept" label="Senden!">

<go href="/process" method="post">

<postfield name="name" value="$(name)"/>

<postfield name="anschrift" value="$(anschrift)"/>

<postfield name="wunsch" value="$(wunsch)"/>

</go>

</do>

<do type="prev" label="Neustart"><go href="#home"/></do>

<p>Daten absenden oder zurück zum Start?</p>

</card>

- <postfield> ... konkateniert Variablenwert und Variablenname und fügtzur URL hinzu: /process?name=Mustermann&anschrift=Teststraße&wunsch=ph

Page 16: 3. Wireless Application Protocol (WAP)

12.01.2002 Proseminar „Allgegenwärtiges Rechnen“Internet Protokolle und Formate

16

3.4 Programmierung >> 3.4.1 WML

<card id="kontakt" title="Kontakt">

<p>

Rufen Sie uns an: <a href="wtai://wp/mc;033108154711">0331/08154711</a><br/>

<a href="wtai://wp/ap;033108154711;Pizzadienst">Tel.buch-Eintrag anlegen</a>

</p>

</card>

</wml>

- wtai://wp/mc;Nummer ... Anruf tätigen- wtai://wp/ap;Nummer;Bezeichnung ... Telefonbucheintrag hinzufügen

Page 17: 3. Wireless Application Protocol (WAP)

12.01.2002 Proseminar „Allgegenwärtiges Rechnen“Internet Protokolle und Formate

17

3.4 Programmierung >> 3.4.2 WMLScript

Funktionen- Kopf: extern function Identifier(FormalParameterList) {

... function body ...

}- Aufruf: Identifier(FormalParameterList);

Statements- if-then-else: if(Ausdruck) Statement else Statement;- While: while(Ausdruck) { ...Statement ... };- For: for(Variable/Ausdruck; Audruck; Ausdruck) {

Statement

};

WMLScript Standard Libraries- Standard Funktionen können von Applikationen genutzt werden

(Lang, String, URL, WMLBrowser, Dialogs, Float [optional])

Page 18: 3. Wireless Application Protocol (WAP)

12.01.2002 Proseminar „Allgegenwärtiges Rechnen“Internet Protokolle und Formate

18

3.4 Programmierung >> 3.4.2 WMLScript

<card id="card1" title="Währungsrechner"> <p>

<select name="cur"><option value="eur2dm">EURO zu DM</option><option value="dm2eur">DM zu EURO</option>

</select><input name="wert" type="text"/>Resultat: $(result)

</p>

<do type="accept" label="Berechne!"><go href="currency.wmls#currency('result','$(cur)','$(wert)')"/>

</do></card>

extern function currency(varName,cur,wert) { var result;

if(cur == 'eur2dm') result = wert*1.9558;else result = wert/1.9558;

WMLBrowser.setVar(varName, result);WMLBrowser.refresh();

}

WML-Seite: currency.wml

WMLScript-Datei: currency.wmls