3. Wireless Application Protocol (WAP)

18
12.01.2002 Proseminar „Allgegenwärtiges Rechnen“ Internet Protokolle und Formate 1 3. Wireless Application Protocol (WAP) Internet Protokolle und Formate Internet Protokolle und Formate 3. Wireless Application Protocol Sebastian Weber

description

3. Wireless Application Protocol (WAP). Internet Protokolle und Formate 3. Wireless Application Protocol Sebastian Weber. 3. Wireless Application Protocol (WAP). drahtlose Verbindungen: Probleme mit Bandbreite, Stabilität, Erreichbarkeit, Zeitverzögerung. Problem: Wie kommen Inhalte - PowerPoint PPT Presentation

Transcript of 3. Wireless Application Protocol (WAP)

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