wireless application protocol wap by alvinen
DESCRIPTION
Wireless Application Protocol,Wireless Application Environment ( WAE ),WAP Architecture,TRANSCRIPT
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 1 / 22-September 1999
Wireless Application ProtocolWireless Application ProtocolOverviewOverview
Jari Alvinen
Nokia
© 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.
© 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
© 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
© 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
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 6 / 22-September 1999
WAP Forum membersWAP Forum members
CCL
© 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
© 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 )
© 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
© 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)
© 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
© 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.
© 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
© 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
© 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
© 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)
© 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
© 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
© 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
© 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
© 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
© 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
© 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.
© 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
© 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
© 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
© 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
© 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
© 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>
© 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.
© 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
© 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;}
© 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
© 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>
© 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”);}
© 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 )
© 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>
© 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
© 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
© 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
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 41 / 22-September 1999
Questions ?Questions ?
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 42 / 22-September 1999
Thank you!Thank you!
More information:
www.wapforum.org