Wireless Application Protocol - 123seminarsonly.com Application Protocol Wireless Session Layer ......
Transcript of Wireless Application Protocol - 123seminarsonly.com Application Protocol Wireless Session Layer ......
What can be done with WAP?
Information servicesSimilar to web browsing
Small downloadable programsWAP script language is based on
JavaScript™Telephony functionality combined with browserCall the airline when your flight is delayed
PushServer initiated content push
What is defined in WAP?Layered telecommunication stack includingDatagrams and TransactionsSecuritySession
Micro browserConcept that is similar to the Internet
browsingXML based markup language ( WML )Scripting ( WMLS )
WTA / WTAIAccess to telephone functionality
Content formats e.g.Service IndicationWireless Bitmap ( WBMP )
WAP 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
Internet
HTMLJavaScript™
HTTP
TLS - SSL
TCP/IPUDP/IP
Internet 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)
WAP 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.
WAP Protocols
Wireless ApplicationEnvironment (WAE)
Session Layer (WSP)
Security Layer (WTLS)
Transport Layer (WDP)
Other Services andApplications
Transaction Layer (WTP)
SMS USSD GPRS CDPD Etc..Circuit SwitchedData Flex
Wireless Datagram Protocol
Provides a network and bearer independent interface to higher layersProvides port level addressingProvides segmentation and reassemblyFor link layers that support IP, UDP is used as the Wireless Datagram Protocol layer
Wireless Transaction Protocol
Provides efficient, reliable data transfer based on request/reply paradigmSupports selective-retransmissionSupports segmentation and re-assemblyMessage oriented (not stream)Supports an Abort functionSupports concatenation of PDUs
Wireless Session Protocol
Provides shared state between client and server used to optimize content transferProvides semantics and mechanisms based on HTTP 1.1Supports compact encoding of headersSupports push functionalitySupports capability negotiation
Standard Message Center Adaptation Protocol
Non-IP bearer (e.g. SMS)
WDP
WTLS
Non-IP bearer(e.g. SMS)
WDP Adaptation WDP Adaptation
MessageCenter
WAP Proxy/ServerMobile
TCP
WTP
WSP
WAE
WDP
WTLS
WTP
WSP
WAE
IP
TCP
IPWDP Adaptation utilises SMPP, industry standard for Message
Center access
WAP Protocol Stack - WSP
Provides shared state between client and server used to optimize content transferProvides semantics and mechanisms based on HTTP 1.1Enhancements for WAE, wireless networks and “low-end” devicesEnhancements beyond HTTP Binary header encoding Confirmed and non-confirmed data push Capability negotiation Suspend and resume Connectionless service
WAP 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 networkCapabilities 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
WAP Protocol Stack - WSP
Connection & Connectionless service Connection-mode
Long-lived communicationBenefits of the session stateReliability
ConnectionlessStateless applicationsNo session creation overheadNo reliability overhead
WAP 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)
WAP Protocol Stack - WTP
WTP Protocol ExchangeClient Server
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
WAP Protocol Stack - WDP
WDP provides a connection-less, unreliable datagram serviceWDP 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 everywhereReplaced by UDP when used over an IP network layer. WDP over IP is UDP/IP
Uses the Service Primitive T-UnitData.req .ind
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.
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
WAE - 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
WAE - 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
WAE - 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
WAE - 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
WAE - 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>
WAE - WML Script
Scripting language: Procedural logic, loops, conditionals, etc. Optimized for small-memory, small-cpu
devicesDerived from JavaScript™Integrated with WML Powerful extension mechanism Reduces overall network traffic
Bytecode-based virtual machine Stack-oriented design Designed for simple, low-impact
implementationCompiler in network Better network bandwidth use Better use of terminal memory/cpu.
WAE - 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
WAE - 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;}
WAE - 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
WAE - 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>
WAE - 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”);}
WAE - Content Formats
Common interchange formatsPromoting interoperabilityFormats: Business cards: IMC vCard standard Calendar: IMC vCalendar standard Images: WBMP (Wireless BitMaP) Compiled WML, WMLScript
WAE - 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>
WAE - Push
Server initiated content pushProvides end-to-end solutionEasy for developers XML based Push Access Protocol layered on
top of HTTP Helpful push specific content types
Service IndicationService Loading
Underlying wireless network complexity hidden
Push Specifications are currently on Proposed status
WAE - Push Framework
CLIENTPUSH PROXY
GATEWAYPUSH
INITIATOR
PUSH ACCESS
PROTOCOL
OVER-THE-AIR
PROTOCOL
PPG SERVICES
PUSH MESSAGE
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