Wireless Application Protocol WAP by Alvinen

42
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 1 / 22-September 1999 Wireless Application Protocol Wireless Application Protocol Overview Overview Jari Alvinen Nokia

description

Wireless Application Protocol,Wireless Application Environment ( WAE ),WAP Architecture,

Transcript of Wireless Application Protocol WAP by Alvinen

Page 1: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 1 / 22-September 1999

Wireless Application ProtocolWireless Application ProtocolOverviewOverview

Jari Alvinen

Nokia

Page 2: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 2 / 22-September 1999

Business challengeBusiness challenge

• There must be one global wireless networklanguage and protocol stack

• Internet developers will only write to one global wireless Internet.

• carriers require multiple sources for compatible handsets.

• handset vendors require common standards for economies of scale.

Page 3: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 3 / 22-September 1999

HTTP/HTML

Why is Internet not enough?Why is Internet not enough? … or actually ... "too much" ... … or actually ... "too much" ...

• Big pipe - small pipe syndrome

Internet

Wireless network

<HTML><HEAD><TITLE>NNN Interactive</TITLE><META HTTP-EQUIV="Refresh" CONTENT="1800, URL=/index.html"></HEAD><BODY BGCOLOR="#FFFFFF" BACKGROUND="/images/9607/bgbar5.gif" LINK="#0A3990" ALINK="#FF0000" VLINK="#FF0000" TEXT="000000" ONLOAD="if(parent.frames.length!=0)top.location='http://nnn.com';"> <A NAME="#top"></A><TABLE WIDTH=599 BORDER="0"><TR ALIGN=LEFT><TD WIDTH=117 VALIGN=TOP ALIGN=LEFT>

<HTML><HEAD><TITLE>NNN Interactive</TITLE><META HTTP-EQUIV="Refresh" CONTENT="1800, URL=/index.html">

<WML><CARD><DO TYPE="ACCEPT"><GO URL="/submit?Name=$N"/></DO>Enter name:<INPUT TYPE="TEXT" KEY="N"/></CARD></WML>

010011010011110110010011011011011101010010011010

WAP

Content encoding

Page 4: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 4 / 22-September 1999

?

Why is Internet not enough?Why is Internet not enough? … or actually … "too much" ... … or actually … "too much" ...

• Big screen - small screen syndrome

Page 5: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 5 / 22-September 1999

Why WAP?Why WAP?

• WAP is an open technology based on Internet technologies

• Allows competition - lower cost

• WAP is backed by major vendors

• Nokia, Ericsson, Motorola, Microsoft, IBM

• Future proof

• WAP Forum is open for all

• WAP is not “take it or leave it”

• Over one hundred companies have joined the WAP Forum

• WAP supports several wireless systems

• GSM, IS-136, CDMA, PDC etc.

• WAP has a layered architecture

• The same application can be used via several systems

Page 6: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 6 / 22-September 1999

WAP Forum membersWAP Forum members

CCL

Page 7: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 7 / 22-September 1999

What can be done with WAP?What can be done with WAP?

• Information services

• Similar to web browsing

• Small downloadable programs

• WAP script language is based on JavaScript™

• Telephony functionality combined with browser

• Call the airline when your flight is delayed

• Push

• Server initated content push

Page 8: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 8 / 22-September 1999

What is defined in WAP?What is defined in WAP?

• Layered telecommunication stack including

• Datagrams and Transactions

• Security

• Session

• Micro browser

• Concept that is similar to the Internet browsing

• XML based markup language ( WML )

• Scripting ( WMLS )

• WTA / WTAI

• Access to telephone functionality

• Content formats e.g.

• Service Indication

• Wireless Bitmap ( WBMP )

Page 9: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 9 / 22-September 1999

WAP ArchitectureWAP Architecture

Web Server

Content

CGIScripts

etc.

WM

L D

ecks

wit

h W

ML

-Scr

ipt

WAP Gateway

WML Encoder

WMLScriptCompiler

Protocol Adapters

Client

WML

WML-Script

WTAI

Etc.

HTTPWSP/WTP

Page 10: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 10 / 22-September 1999

Internet

HTMLJavaScript™

HTTP

TLS - SSL

TCP/IPUDP/IP

Internet and WAP architectureInternet and WAP architecture

Wireless ApplicationEnvironment (WAE)

SMS USSD CSD R-Data Packet UDP PDC-P Etc...

Bearers:

Wireless Application Protocol

Wireless Session Layer (WSP)

Wireless Transport Layer Security (WTLS)

Wireless Datagram Protocol (WDP)

Other Services andApplications

Wireless Transaction Protocol (WTP)

Page 11: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 11 / 22-September 1999

WAP & StandardsWAP & Standards

• Submit specifications for adoption by appropriate industry and standards bodies

• Good relationships with standards bodies

• Several Liaisons with ETSI

• ETSI / WAP compliance profile for GSM and UMTS.

• CTIA official Liaison Officer to the WAP Forum

• WAP is actively working with the W3C and IETF

Page 12: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 12 / 22-September 1999

WAP Protocol StackWAP Protocol Stack

Wireless Transaction Service Access Point

Wireless Datagram Protocol

BearerService

D

BearerService

CBearerService

B

Transport Service Access Point (TSAP)

BearerService

APhysical Layer Air Link Technology

Wireless Transaction Protocol

Wireless Session Protocol

Wireless Session Service Access Point

WCMP

• Developed by

• Wireless Protocols Group (WPG)

• A WAP technical working group.

Page 13: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 13 / 22-September 1999

WAP Protocol Stack - WSPWAP Protocol Stack - WSP

• Provides shared state between client and server used to optimize content transfer

• Provides semantics and mechanisms based on HTTP 1.1

• Enhancements for WAE, wireless networks and “low-end” devices

• Enhancements beyond HTTP

• Binary header encoding

• Confirmed and non-confirmed data push

• Capability negotiation

• Suspend and resume

• Connectionless service

Page 14: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 14 / 22-September 1999

WAP Protocol Stack - WSPWAP Protocol Stack - WSP

• Binary header encoding

• Compact binary encoding of headers, content type identifiers and other well-known textual or structured values

• Reduces the data actually sent over the network

• Capabilities

• Message Size, client and server

• Protocol Options: Confirmed Push Facility, Push Facility, Session Suspend Facility, Acknowledgement headers

• Maximum Outstanding Requests

• Extended Methods

• Header Code Pages

• Suspend & Resume

• Allows the release of underlying bearer resources

Page 15: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 15 / 22-September 1999

WAP Protocol Stack - WSPWAP Protocol Stack - WSP

• Connection & Connectionless service

• Connection-mode

• Long-lived communication

• Benefits of the session state

• Reliability

• Connectionless

• Stateless applications

• No session creation overhead

• No reliability overhead

Page 16: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 16 / 22-September 1999

WAP Protocol Stack - WTPWAP Protocol Stack - WTP

• Reliable data transfer based on request/reply paradigm

• No explicit connection setup or tear down

• Data carried in first packet of protocol exchange

• Seeks to reduce 3-way handshake on initial request

• Supports

• retransmission of lost packets

• selective-retransmission

• segmentation / re-assembly

• port number addressing (UDP ports numbers)

• flow control

• abort function for outstanding requests

• concatenation of PDUs

• Message oriented (not stream)

Page 17: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 17 / 22-September 1999

WAP Protocol Stack - WTPWAP Protocol Stack - WTP

• WTP Protocol Exchange

ClientClient ServerServer

Invoke

Ack

Result

Ack

T-TRInvoke.req

T-TRResult.ind

T-TRInvoke.cnf

T-TRResult.res

(PDUs)

T-TRInvoke.ind

T-TRResult.req

T-TRInvoke.res

T-TRResult.cnf

Page 18: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 18 / 22-September 1999

WAP Protocol Stack - WDPWAP Protocol Stack - WDP

• WDP provides a connection-less, unreliable datagram service

• WDP is adapted to each particular wireless network to provide the generic datagram transport.

• The basic datagram service is fundamental to all wireless networks and makes it possible to utilize WAP everywhere

• Replaced by UDP when used over an IP network layer.

• WDP over IP is UDP/IP

• Uses the Service Primitive

• T-UnitData.req .ind

Page 19: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 19 / 22-September 1999

WAP Protocol Stack - Bearer supportWAP Protocol Stack - Bearer support

• GSM SMS, USSD, C-S Data, GPRS

• IS-136 R-Data, C-S Data, Packet

• CDMA SMS, C-S Data

• PDC C-S Data, Packet

• PHS C-S Data

• CDPD

• iDEN SMS, C-S Data, Packet

• FLEX and ReFLEX

• DataTAC

Page 20: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 20 / 22-September 1999

WAP Protocol Stack - Bearer ExampleWAP Protocol Stack - Bearer Example

• WAP over GSM Circuit Switched

RAS - Remote Access ServerIWF - InterWorking Function

WSP

WAE

Subnetwork

IP

WSP

WAE Apps onOther Servers

WAP Proxy/Server

CSD-RF

PPP

IP

Mobile

IWF

PSTNCircuit

CSD-RF

ISP/RAS

SubnetworkPSTNCircuit

PPP

IP

WTP

UDP

WTP

UDP

Page 21: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 21 / 22-September 1999

WAP Protocol Stack - Bearer Example WAP Protocol Stack - Bearer Example

• WAP over GSM Short Message Service

SMS

WDP

WTP

WSP

WAE

SMS

Subnetwork

WDP

WDP Tunnel Protocol

Subnetwork

WDP TunnelProtocol

WTP

WSP

WAE Apps onother servers

SMSC

WAP Proxy/ServerMobile

under development

Page 22: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 22 / 22-September 1999

WAP Protocol Stack - WTLSWAP Protocol Stack - WTLS

• Specifies a framework for secure connections, using protocol elements from common Internet security protocols like SSL and TLS.

• Provides connection security for two communicating applications

• Privacy (encryption)

• Data integrity (MACs)

• Authentication (public-key and symmetric)

• Lightweight and efficient protocol with respect to bandwidth, memory and processing power

• Employs special adapted mechanisms for wireless usage

• Long lived secure sessions

• Optimised handshake procedures

• Provides simple data reliability for operation over datagram bearers

Page 23: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 23 / 22-September 1999

Wireless Application Environment ( WAE )Wireless Application Environment ( WAE )

• WAP Application framework

• Network-neutral application environment;

• Suitable for narrowband wireless devices;

• Follows the Internet/WWW programming model;

• Ensures high degree of interoperability.

• Leverages Internet standard technology

• Device Independent

• Network Independent

• International Support

• Developed by

• Wireless Applications Group (WAG);

• A WAP technical working group.

Page 24: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 24 / 22-September 1999

WAE "Components" WAE "Components"

• WML

• Display language

• WMLScript

• Scripting language

• WTA

• Telephony services API and architecture

• Content Formats

• Data exchange

• User Agent Profiling

• Content customized for device

• Push

• Server-initiated content delivery

Page 25: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 25 / 22-September 1999

WAE - WAP GatewayWAE - WAP Gateway

Web Server

Content

CGIScripts

etc.

WM

L D

ecks

wit

h W

ML

-Scr

ipt

WAP Gateway

WML Encoder

WMLScriptCompiler

Protocol Adapters

Client

WML

WML-Script

WTAI

Etc.

HTTPWSP/WTP

Page 26: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 26 / 22-September 1999

WAE - WAP Application ServerWAE - WAP Application Server

WAP Application Server

Content

ApplicationLogic

WM

L D

ecks

wit

h W

ML

-Scr

ipt

WML Encoder

WMLScriptCompiler

Protocol Adapters

Client

WML

WML-Script

WTAI

Etc.

WSP/WTP

Page 27: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 27 / 22-September 1999

WAE - WMLWAE - WML

• Wireless Markup Language (WML) is a Tag-based browsing language:

• Screen management (text, images)

• Data input (text, selection lists, etc.)

• Hyperlinks & navigation support

• W3C XML-based language

Page 28: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 28 / 22-September 1999

WAE - WMLWAE - WML

• Card metaphor

• User interactions are split into cards

• Navigation occurs between cards

• Explicit inter-card navigation model

• Hyperlinks

• UI Event handling

• History

• State management and variables

• Reduce network traffic

• Results in better caching

Page 29: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 29 / 22-September 1999

WAE - WMLWAE - WML

InputElements

Deck

CardNavigation

Variables

<WML> <CARD> <DO TYPE=“ACCEPT”> <GO URL=“#eCard”/> </DO Welcome! </CARD> <CARD NAME=“eCard”> <DO TYPE=“ACCEPT”> <GO URL=“/submit?N=$(N)&S=$(S)”/> </DO> Enter name: <INPUT KEY=“N”/> Choose speed: <SELECT KEY=“S”> <OPTION VALUE=“0”>Fast</OPTION> <OPTION VALUE=“1”>Slow</OPTION> <SELECT> </CARD></WML>

Page 30: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 30 / 22-September 1999

WAE - WML ScriptWAE - WML Script

• Scripting language:

• Procedural logic, loops, conditionals, etc.

• Optimized for small-memory, small-cpu devices

• Derived from JavaScript™

• Integrated with WML

• Powerful extension mechanism

• Reduces overall network traffic

• Bytecode-based virtual machine

• Stack-oriented design

• Designed for simple, low-impact implementation

• Compiler in network

• Better network bandwidth use

• Better use of terminal memory/cpu.

Page 31: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 31 / 22-September 1999

WAE - WML ScriptWAE - WML Script

• Reduces network round-trips and enhance functionality.

• Example usages

• Field validation

• Check for formatting, input ranges, etc.

• Device extensions

• Access device or vendor-specific API

• Conditional logic

• Download intelligence into the device

Page 32: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 32 / 22-September 1999

WAE - WML ScriptWAE - WML Script

Functions

WMLScript is very similar to JavaScript

ProgrammingConstructs

Variables

function currencyConvertor(currency, exchRate) { return currency*exchangeRate; }

function myDay(sunShines) { var myDay; if (sunShines) { myDay = “Good”; } else { myDay = “Not so good”; }; return myDay;}

Page 33: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 33 / 22-September 1999

WAE - WTAWAE - WTA

• WTA Browser

• Extensions added to standard WML/WMLScript browser

• Exposes additional API (WTAI)

• WTAI includes:

• Call control

• Network text messaging

• Phone book interface

• Indicator control

• Event processing

• WTAI available in WML & WMLScript

Page 34: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 34 / 22-September 1999

WAE - WTAWAE - WTA

• Placing an outgoing call with WTAI

Input Element

WTAI Call

<WML><CARD> <DO TYPE=“ACCEPT”> <GO URL=“wtai:cc/mc;$(N)”/> </DO> Enter phone number: <INPUT TYPE=“TEXT” KEY=“N”/></CARD></WML>

Page 35: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 35 / 22-September 1999

WAE - WTAWAE - WTA

• Placing an outgoing call with WTAI

WTAI Call

function checkNumber(N) { if (Lang.isInt(N)) WTAI.makeCall(N); else Dialog.alert(“Bad phone number”);}

Page 36: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 36 / 22-September 1999

WAE - Content FormatsWAE - Content Formats

• Common interchange formats

• Promoting interoperability

• Formats:

• Business cards: IMC vCard standard

• Calendar: IMC vCalendar standard

• Images: WBMP (Wireless BitMaP)

• Compiled WML, WMLScript

• Service Indication ( Proposed )

• Service Loading ( Proposed )

• Cache Operation ( Proposed )

Page 37: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 37 / 22-September 1999

WAE - Content FormatsWAE - Content Formats

• Binary format for size reduction

• Bytecodes/tokens for common values and operators

• Compressed headers

• Data compression (e.g. images)

• Example use of image

Image Element

<WML><CARD> Hello World!<BR/> <IMG SRC=“/world.wbmp” ALT=“[Globe]” /></CARD></WML>

Page 38: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 38 / 22-September 1999

WAE - PushWAE - Push

• Server initiated content push

• Provides end-to-end solution

• Easy for developers

• XML based Push Access Protocol layered on top of HTTP

• Helpful push specific content types

• Service Indication

• Service Loading

• Underlying wireless network complexity hidden

• Push Specifications are currently on Proposed status

Page 39: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 39 / 22-September 1999

WAE - Push FrameworkWAE - Push Framework

CLIENTPUSH PROXY

GATEWAYPUSH

INITIATOR

PUSH ACCESS

PROTOCOL

OVER-THE-AIR

PROTOCOL

PPG SERVICES

PUSH MESSAGE

Page 40: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 40 / 22-September 1999

WAE - User Agent Profile (UAPROF)WAE - User Agent Profile (UAPROF)

• Assist in content personalization, based upon:

• Device characteristics, user preferences

• Other profile information

• Working with W3C on CC/PP

• RDF-based content format

• Describes “capability and profile” info

• Efficient transport over wireless links, caching, etc.

• UAProf specification is currently on Proposed status

Page 41: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 41 / 22-September 1999

Questions ?Questions ?

Page 42: Wireless Application Protocol WAP by Alvinen

© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 42 / 22-September 1999

Thank you!Thank you!

More information:

www.wapforum.org