Wireless Application Protocol
WAP- Wireless Application Protocol
GatewayWAPWEB
Server
Content
BrowserHTTP
IPWAP
Deck WML
WAP browsing exchange
Card1Deck &History
BrowserWAP
Gateway Web server Content/ApplicationDial
connection
Initial URLInitial URL Initial URL
Initial deck
Initial deckInitial deck
Initial deck
Initial card
Within deck
scripting
HREFHREF URL
HREF URLHREF URL
New deckNew deckNew deck
New deckNew cards
CardX phone
WTAIDrop
Dialconnection
WAP Protocol Stack
Wireless Markup Language
WAP Binary XML Content Format
Wireless Session Protocol (incl. HTTP1.1)
Wireless Transaction Protocol
Wireless Transport Layer Security
Wireless Datagram Protocol (or UDP)
bearers
HTML
HTTP
TCP
IP
Samples
Wireless Markup Language - WML
• XML based Language• Emphasis, Alignment, Tables• Buttons (Navigation mechanisms)• Actions• Variables• Script• Images - WBMP & local & alternate text
Wireless Markup Language
Prologue (XML/WML version)
DeckTemplate (defaults for cards in deck)
Card…Do…Paragraphs
Input
Sample deck<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml"><wml><template>
<do type="options" label="Help"><go href="#helpcard" />
</do><!- - <do type="options" label="Back"><prev/></do> -->
</template><card id="intro" title="Intro">
<do type="accept" label="Go!" optional="false"><go href="#startcard"/> </do>
<p>Welcome to myWAP!</p></card><card id="startcard" title="Content"><p>In the wonderful world of <em>WAP</em>, there is much intro, but no content.</p></card><card id="helpcard" title="Help"><p>As usual, no help is available</p></card>
</wml>
More examples
Phone.comMicrosoft
Accept
Back
Form processing<wml><card id="login" title="login"> <onevent type="onenterbackward"><prev/></onevent> <do type="accept" label="outbox" optional="false"> <go href="#outbox"/> </do> <p><img localsrc="outbox" src="" alt=""/>To:<input name="email" emptyok="false" maxlength="128" format="*a\@*a"/><br/>Password: <input name="pwd" type="password" maxlength="32" format="*N"/></p></card> <card id="outbox" title="Outbox" ontimer="#send"> <onevent type="onenterbackward"><prev/></onevent> <timer name="thinktime" value="100"/> <do type="accept" label="send"><go href="#send"/> </do> <p>Send '$(pwd)' to $(email)?</p></card> <card id="send"> <onevent type="onenterforward"> <go href="http://mango/cgi-bin/wap-send-email.sh?$(email)"/></onevent> <onevent type="onenterbackward"><prev/></onevent> <p>Failed to send to $(email).</p></card></wml>
Dynamic WML
Same techniques as for HTML, but set content-type
Detect agent type (name, supports, …)Cookies & rewritingAvailable buttons, e.g. backScreen sizeImage support
Gateways
• Identity• Compilation• Size restriction• Speed• Limit of size of the WEB accessible
gateway CaptiveWEB
wireless
Compress+Security cookies
Browsers
PhonesPDAsSimulators
Browser consistency• Buttons• Cookies• History• Timers• FILE://• Cache bugs• Images• Bold/italic,…
• WMLscript• POST method• WTAI• Security• WML compilation• Proxy authentication
Limitations of technology
Screen size, resolution, colourInput devicesBandwidthLatencyDeck size
Future
More bandwidth (3G wireless)- • GPRS - General Packet Radio Service• UMTS - Universal Mobile Telecom SystemUser Agent ProfilesSecurityLocation determinationLocal services/always on
Alternative
NTT DoCoMo ‘iMode’
Unwired Planet (Phone.com) - HDML
Referenceshttp://www.wapforum.orghttp://developer.phone.comhttp://forum.nokia.comhttp://mobileinternet.ericsson.sehttp://www.developer.ericsson.com.auhttp://www.winwap.comhttp://www.microsoft.com/mobile/phones/mmehttp://www.nttdocomo.com
citron:/home/horton/doc/WAP/WAP.ppt (these slides)http://mango/home/… (for WML content type)http://zero:81/index.wml
Top Related