wap and wml
DESCRIPTION
WAP and WML. DBI – Representation and Management of Data on the Internet. Millions. 1,400 1,200 1,000 800 600 400 200 0. 1996. 1997. 1998. 1999. 2000. 2001. 2002. 2003. 2004. 2005. Internet Connectivity Outlook. Projected cellular subscribers. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/1.jpg)
WAP and WML
DBI – Representation and Management of Data on the Internet
![Page 2: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/2.jpg)
Millions
1996 1997 1998 1999 2000 2001 2002 2003 2004 2005
1,400
1,200
1,000
800
600
400
200
0
ProjectedcellularsubscribersMore handsets than PCs
connected to the Internet bythe end of 2003!
'putting the Internet in everyone's pocket'
Internet Connectivity Outlook
Projected PCsconnected tothe Internet(Dataquest 10/98)
Projected Webhandsets
![Page 3: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/3.jpg)
WAP
• WAP = Wireless Application Protocol• A protocol and set of specifications to
connect wireless aplications to the Web
![Page 4: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/4.jpg)
Needs for WAP
• Wireless networks and phones – have specific needs and requirements– not addressed by existing Internet technologies
• WAP enables any data transport – TCP/IP, UDP/IP, GUTS (IS-135/6), SMS, or USSD
• The WAP architecture – several modular entities– together form a fully compliant Internet entity– all WML content is accessed via HTTP 1.1 requests
![Page 5: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/5.jpg)
Advantages of WAP
• WAP utilizes standard Internet markup language technology (XML)
• Optimizing the content and airlink protocols• The WML UI components map well onto existing
mobile phone user interfaces– no re-education of the end-users– leveraging market penetration of mobile devices
• WAP utilizes plain Web HTTP 1.1 servers– CGI, ASP, NSAPI, JAVA, Servlets, etc.
![Page 6: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/6.jpg)
The Specification Includes
• WAP Architecture• Wireless Application Environment• Protocol Layers• Interoperability• Security
![Page 7: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/7.jpg)
WAP Architecture
Web Server
Content
CGIScripts
etc.
WM
L D
ecks
with
WM
L-Sc
ript
WAP Gateway
WML Encoder
WMLScriptCompiler
Protocol Adapters
Client
WML
WML-Script
WTAI
Etc.
HTTPWSP/WTP
![Page 8: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/8.jpg)
Internet vs. WAPInternet
HTMLJavaScript
HTTP
TLS - SSL
TCP/IPUDP/IP
SMS USSD CSD IS-136 CDMA CDPD PDC-P Etc..Bearers:
Wireless Application Protocol
Wireless ApplicationEnvironment (WAE)
Session Layer (WSP)
Security Layer (WTLS)
Transport Layer (WDP)
Transaction Layer (WTP)
Other Services andApplications
![Page 9: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/9.jpg)
WAP Specifies• Wireless Application Environment
– WML Microbrowser– WMLScript Virtual Machine– WMLScript Standard Library– Wireless Telephony Application Interface– WAP Content Types
• Wireless Protocols– Wireless Session Protocol (WSP)– Wireless Transport Layer Security (WTLS)– Wireless Transaction Protocol (WTP)– Wireless Datagram Protocol (WDP)– Wireless network interface definitions
WML
![Page 10: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/10.jpg)
Big Pipe - Small Pipe SyndromeWireless 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">
Internet<WML><CARD><DO TYPE="ACCEPT"><GO URL="/submit?Name=$N"/></DO>Enter name:<INPUT TYPE="TEXT" KEY="N"/></CARD></WML>
010011010011110110010011011011011101010010011010
Content encoding
HTTP/HTML WAP
![Page 11: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/11.jpg)
WAP Application Environment Goals
• Network- neutral application environment• For narrowband wireless devices• With an Internet/WWW programming
model• And a high degree of interoperability
![Page 12: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/12.jpg)
Device-Side Problems
• Device Independent• Network Independent• Different vendors – requires interfaces• Initial focus on phones
– Slow reactions– Small memory– Limited CPU– Small screen– Limited input model
![Page 13: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/13.jpg)
WML
Wireless Markup Language
![Page 14: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/14.jpg)
WML
• Tag-based browsing language:– Screen management (text, images)– Data input (text, selection lists, etc.)– Hyperlinks & navigation support
• W3C XML-based language• Inherits technology from HDML (Handheld
Device Markup Language) and HTML
![Page 15: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/15.jpg)
WML (cont.)• Card metaphor
– User interactions are split into cards– Navigation occurs between cards– Cards are put in to decks
• Explicit inter-card navigation model– Hyperlinks– User interface Event handling– History
• State management and variables– Reduce network traffic– Results in better caching
![Page 16: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/16.jpg)
All Decs Must Contain…
• Document prologue– XML & document type declaration
• <WML> element– Must contain one or more cards
<?xml version="1.0"?><!DOCTYPE WML PUBLIC "-//WAPFORUM//DTD WML 1.0//EN"
"http://www.wapforum.org/DTD/wml.xml">
<WML> ... </WML>
![Page 17: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/17.jpg)
Hello World Example<?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="Card1" title="The dbi Course">
<p> <!-- Hello World example --> Hello World </p> </card> </wml>
<wml> </wml> - It defines the beginning and the ending of the page, like <html> </html>
<card> </card> - It defines the beginning and the ending of a card
![Page 18: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/18.jpg)
== The DBI Course ==Hello World
__________________________________________ Back
![Page 19: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/19.jpg)
The Result On a Different Device
![Page 20: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/20.jpg)
Detecting a Click<?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=“Card1” title=“The DBI Course”>
<do type=“accept” label=“Next”> <go href=“#Card2”/>
</do> <p> Select Next to go to Card 2. </p>
</card> <card id=“Card2” title=“The DBI Course”>
<p> I'm Card 2. </p> </card> </wml>
![Page 21: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/21.jpg)
== The DBI Course ==Select Next to go toCard 2.
__________________________________________Next Back
== The DBI Course ==I am Card 2.
__________________________________________Next Back
![Page 22: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/22.jpg)
Timer
<?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="Intro" ontimer="#Main" title=“DBI Course"> <timer value="150"/> <p> Welcome to the dbi site!! We will bring you to our main page after 15 seconds. </p> </card> <card id="Main" title="Menu"> <p> This is our main page. Under construction. </p> </card> </wml>
![Page 23: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/23.jpg)
After 15 seconds
![Page 24: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/24.jpg)
== DBI Course ==Welcome to the dbi site!! We will bring you to our main page after 15 seconds.
___________________________ Back
=== Menu ===This is our main page. Under construction.
___________________________ Back
![Page 25: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/25.jpg)
Input
<?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="main" title=“DBI Example"> <do type="accept" label="Next"> <go href="#wel"/> </do> <p> Please enter your name: <input type="text" name="name"/> </p>
</card> <card id="wel" title="Welcome"> <do type="prev" label="Back"> <prev/>
</do> <p> Your name is $(name). Click Back to go to previous page. </p> </card> </wml>
![Page 26: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/26.jpg)
Entering a name Choosing the “Options”
Choosing the “Next”
![Page 27: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/27.jpg)
Sending Data to the Server
<?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="main" title=“DBI Example"> <do type="accept" label=“Send"> <go method="post" href="www.cs.huji.ac.il/register.cgi"> <postfield name="firstname" value="$(first)"/> <postfield name=“course" value=“dbi"/> </go> </do> <p> Please enter your first name: <input type="text" name="first"/> </p> </card> </wml>
![Page 28: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/28.jpg)
Deck
InputElements
WML Example
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 29: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/29.jpg)
<WML> <CARD> <DO TYPE="ACCEPT" LABEL="Next"> <GO URL="#card2"/> </DO> DBI Portal.<BR/>Directory </CARD>
<CARD NAME="card2"> <DO TYPE="ACCEPT"> <GO URL="?send=$type"/> </DO> Services <SELECT KEY="type"> <OPTION VALUE="em">Email</OPTION> <OPTION VALUE="ph">Phone</OPTION> <OPTION VALUE="fx">Fax</OPTION> </SELECT> </CARD></WML>
A Deck of Cards
DBI Portal.Directory_____________Next
Services1>Email2 Phone____________OK
![Page 30: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/30.jpg)
Defining the Navigation Path
<CARD> <DO TYPE="ACCEPT" LABEL="Next"> <GO URL="#card2"/> </DO> First name: <INPUT KEY="fname"/></CARD>
<CARD NAME="card2"> <DO TYPE="ACCEPT" LABEL="Done"> <GO URL="?get=person" METHOD="POST" POSTDATA="first=$fname&last=$lname"/> </DO> Last name: <INPUT KEY="lname"/></CARD>
![Page 31: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/31.jpg)
<DO TYPE="ACCEPT" LABEL="Next"> <GO URL="http://www.mysite.com/myapp.wml"/></DO>
The DO Element• Binds a task to a user action
– Action type: ACCEPT, OPTIONS, HELP PREV, DELETE, RESET
– Label: Text string or image (optional)– Task: GO
PREV, REFRESH, NOOP– Destination: URL– Post data: if METHOD=POST
![Page 32: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/32.jpg)
Anchored Links• Bind a task to the ACCEPT action,
when cursor points to a link– TITLE= sets the label string (default = “Link”)– Links are not allowed in select list options
<CARD> Please visit our <A TITLE="Visit"> <GO URL="home.wml"/>home page</A> for details.</CARD>
Please visit our homepage for____________Visit
![Page 33: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/33.jpg)
Task Binding Rules• User actions are scoped at three levels
• Deck • Card • Anchored links & select list options (ACCEPT)– When tasks are bound to an action at different levels,
the action with narrower scope takes precedence
• Default task bindingsUser Action TaskACCEPT, PREV PREV Others NOOP
![Page 34: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/34.jpg)
<WML> <TEMPLATE> <DO TYPE="OPTIONS" LABEL="Main"> <GO URL="main_menu.wml"/> </DO> </TEMPLATE> <CARD NAME="msg1"> <DO TYPE="ACCEPT" LABEL="Next"> <GO URL="#msg2"/> </DO> First story </CARD> <CARD NAME="msg2"> Second story </CARD></WML>
The TEMPLATE Element• Defines actions & events for all cards in a deck
First story…
_____________Next Main
Second story...
_____________OK Main
![Page 35: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/35.jpg)
Handling User Input
• Select lists– Choose from a list of options
• Input fields– Enter a string of text or numbers
• KEY variables– Set by SELECT and INPUT elements– How user input is passed to other cards and the
application server
![Page 36: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/36.jpg)
<CARD> <DO TYPE="ACCEPT" LABEL="View"> <GO URL="getcity.cgi?location=$city"/> </DO> Forecast <SELECT KEY="city"> <OPTION VALUE=“jer">Jerusalem</OPTION> <OPTION VALUE=“TA">Tel-Aviv</OPTION> <OPTION TITLE="Find" ONCLICK="find.cgi">New City</OPTION> </SELECT></CARD>
Forecast1 Jerusalem2 Tel-Aviv3>New City____________Find
The SELECT Element• Display a list of options
– Each option may set the KEY variable and/or bind a task to the ACCEPT key
– TITLE= dynamically sets the label string
![Page 37: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/37.jpg)
A Long Select List MULTIPLE and DEFAULT Attributes
<CARD> <DO TYPE="ACCEPT"> <GO URL="get_addr.cgi?id=$recid"/> </DO> Addr [1..9] <SELECT KEY="recid" MULTIPLE="TRUE" DEFAULT="1;3;5"> <OPTION VALUE="1">Bart</OPTION> <OPTION VALUE="2">Lisa</OPTION> <OPTION VALUE="3">Homer</OPTION> <OPTION VALUE="4">Marge</OPTION> <OPTION VALUE="5">Milhouse</OPTION> <OPTION VALUE="6">Nelson</OPTION> <OPTION VALUE="7">Smithers</OPTION> <OPTION VALUE="8">Maggie</OPTION> <OPTION VALUE="9">Burns</OPTION> <OPTION ONCLICK="#card2">More...</OPTION> </SELECT></CARD>
![Page 38: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/38.jpg)
<CARD> <DO TYPE="ACCEPT"> <GO URL="?get=person" METHOD="POST" POSTDATA="userid=$ssn"/> </DO> Soc Security: <INPUT KEY="ssn" FORMAT="NNN\-NN\-NNNN"/></CARD>
Soc. Security:
287-33- _____________ NUM
Soc. Security:
287-33- 7629____________OK
The INPUT Element• Prompts user to enter a string of text
– Use FORMAT= to constrain input• UP.Browser reserves soft key for
text entry mode, if necessary
![Page 39: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/39.jpg)
Other INPUT Attributes• DEFAULT=key_value
– Default KEY variable (displayed to user)• FORMAT=format_specifier
– If omitted, free-form entry is allowed• EMPTYOK="TRUE"
– Browser will accept null input, even with format• TYPE="PASSWORD"
– Special entry mode handled by the browser• MAXLENGTH=number
– Maximum number of allowed characters
![Page 40: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/40.jpg)
FORMAT Control Characters– N Numeric character– A, a Alphabetic character– X, x Numeric or alphabetic character– M, m Any character
• Leading backslash specifies forced characters• Forced characters included in KEY variable value
• Leading * specifies 0 or more characters• Password: FORMAT=“mmmm*m”
• Leading number specifies 0..N characters• Zipcode: FORMAT=“NNNNN\-4N”
![Page 41: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/41.jpg)
<CARD> <DO TYPE="ACCEPT"> <GO URL="#c2"/> </DO> Continue <IMG LOCALSRC="righthand" ALT="forward..."/></CARD>
<CARD NAME="c2"> <IMG SRC="../images/logo.bmp" ALT="Unwired Planet"/> <BR/>Welcome!</CARD>
Displaying Images• Insert app images or local icons within display
text– 1-bit BMP format
• Images are ignored by non-bitmapped devices
![Page 42: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/42.jpg)
Image Attributes• alt=“..”
– ‘Names’ the image – If the image is not displayed by the browser
the label is displayed instead• src="..
– Image source - where the image is located• width=".. • height="..
– Sets the dimensions of the image. – For example, the screen sizes of the devices is
Nokia 7110 (48 x 96 pixels)
![Page 43: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/43.jpg)
WBMP
• Wap supports WBMP (Wireless Bitmap Picture) 2 bit images
• It is possible to convert existing images to wbmp
• The MIME type of the images is declered with the following header: Content-type: image/vnd.wap.wbmp
![Page 44: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/44.jpg)
<?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="main" title="Where are you?"> <timer value="10"/>
<img src="snail2.wbmp" alt="A search snail"/> </card> <card id="look" title="I found you"> <img src="snail3.wbmp" alt="A looking snail"/> </card> </wml>
![Page 45: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/45.jpg)
Adding Images
![Page 46: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/46.jpg)
Special WML Characters• Use character entities in display text
" "& &' '< <> > Blank space­ Soft hyphen (discretionary line break)
• Replace the “&” character in URL strings URL="query.cgi?first=$fname&last=$lname"
• Use “$$” to display a single “$” character
![Page 47: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/47.jpg)
Doing more with WML• Setting card styles to create forms
• Using variables to cache user data
• Using card intrinsic events to trigger transparent tasks
• Using timers
• Securing WML decks
• Bookmarking decks
![Page 48: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/48.jpg)
WMLScript• Scripting language:
– Procedural logic, loops, conditionals, etc.– Optimized for small-memory, small-cpu devices
• Derived from JavaScript™• Integrated with WML
– Reduces overall network traffic• Bytecode-based virtual machine
– Stack-oriented design– ROM-able
![Page 49: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/49.jpg)
WMLScript Standard Libraries
• Lang - VM constants, general-purpose math functionality, etc.
• String - string processing functions• URL - URL processing• Browser - WML browser interface• Dialog - simple user interface• Float - floating point functions
![Page 50: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/50.jpg)
WMLScript Example Uses
• Reduce network round-trips and enhance functionality
• Field validation– Check for formatting, input ranges, etc.
• Device extensions– Access device or vendor-specific API
• Conditional logic– Download intelligence into the device
![Page 51: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/51.jpg)
Functions
WMLScript Example
ProgrammingConstructs
Variables
function currencyConvertor(currency, exchRate) { return currency*exchRate; }
function myDay(sunShines) { var myDay; if (sunShines) { myDay = “Good”; } else { myDay = “Not so good”; }; return myDay;}
![Page 52: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/52.jpg)
Wireless Telephony Applications
• Tools for building telephony applications• Designed primarily for:
– Network Operators / Carriers– Equipment Vendors
• Network security and reliability a major consideration
![Page 53: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/53.jpg)
WTA (cont.)• 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
![Page 54: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/54.jpg)
WTA (cont.)
• Network model for client/server interaction– Event signaling– Client requests to server
• Security model: segregation– Separate WTA browser– Separate WTA port
• WTAI available in WML & WMLScript
![Page 55: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/55.jpg)
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>
WTA Example
![Page 56: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/56.jpg)
Placing an outgoing call with WTAI:
WTA Example
WTAI Call
function checkNumber(N) { if (Lang.isInt(N)) WTAI.makeCall(N); else Dialog.alert(“Bad phone number”);}
![Page 57: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/57.jpg)
Content Formats
• Common interchange formats• Promoting interoperability• Formats:
– Business cards: IMC vCard standard– Calendar: IMC vCalendar standard– Images: WBMP (Wireless BitMaP)– Compiled WML, WMLScript
![Page 58: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/58.jpg)
Content Format Example
Image Element
<WML><CARD> Hello World!<BR/> <IMG SRC=“/world.wbmp” ALT=“[Globe]” /></CARD></WML>
Example Use of an Image:
![Page 59: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/59.jpg)
Push• Push is under development• Network- push of content
– Alerts or service indications– Pre-caching of data
• Goals:– Extensibility and simplicity– Build upon WAP 1.0– End-to-end solution– Security– User friendly
![Page 60: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/60.jpg)
User Agent Profiles (UAProf)
• UAProf is under development• Goal: 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.
![Page 61: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/61.jpg)
Wireless Transaction Service Access Point
Wireless Datagram Protocol
BearerService
CBearerService
B
Transport Service Access Point (TSAP)
BearerService
A
Physical Layer Air Link Technology
Wireless Transaction Protocol
Wireless Session Protocol
Wireless Session Service Access Point
WCMP
WAP Protocol Layers
BearerService
D
![Page 62: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/62.jpg)
Wireless Session Protocol Overview
• 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– Compact encoding– Push– Efficient negotiation
![Page 63: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/63.jpg)
Capabilities
• Capabilities are defined for:– 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
![Page 64: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/64.jpg)
Suspend and Resume• Server knows when client can accept a push
• Multi-bearer devices
• Dynamic addressing
• Allows the release of underlying bearer resources
![Page 65: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/65.jpg)
Connection And Connectionless Modes
• Connection-mode– Long-lived communication– Benefits of the session state– Reliability
• Connectionless– Stateless applications– No session creation overhead– No reliability overhead
![Page 66: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/66.jpg)
Wireless Transaction Protocol Overview
• Purpose:– Provide efficient request/reply based transport
mechanism suitable for devices with limited resources over networks with low to medium bandwidth.
• Advantages:– Operator Perspective - Load more subscribers on the
same network due to reduced bandwidth utilization.– Individual User - Performance is improved and cost is
reduced.
![Page 67: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/67.jpg)
WTP Services and Protocols• WAP provides 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
• message oriented (not stream)• supports an Abort function for outstanding requests• supports concatenation of PDUs
![Page 68: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/68.jpg)
Bearers• Bearers currently supported by WAP
– 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 69: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/69.jpg)
Wireless Transport Layer Security• Specifies a framework for secure connections, using
protocol elements from common Internet security protocols like SSL and TLS.
• Provides security facilities for encryption, strong authentication, integrity, and key management
• Compliance with regulations on the use of cryptographic algorithms and key lengths in different countries
• Provides end-to-end security between protocol end points
![Page 70: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/70.jpg)
Record Protocol
Handshake Protocol
Alert Protocol
Application Protocol
Change Cipher Spec Protocol
Transaction Protocol (WTP)
Datagram Protocol (WDP/UDP)
Bearer networks
WTLS
Record protocol
WTLS Internal Architecture
![Page 71: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/71.jpg)
Goals and Requirements for WTLS
• Interoperable protocols• Scalability to allow large scale application
deployment• First class security level • Support for public-key certificates• Support for WAP transport protocols
![Page 72: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/72.jpg)
WTLS Services and Characteristics
– 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 73: WAP and WML](https://reader035.vdocument.in/reader035/viewer/2022062400/568149ee550346895db71f2d/html5/thumbnails/73.jpg)
References• WAP Forum. “Wireless Application Protocol Architecture
Specification.” PDF File. April 30, 1998. http://www.wapforum.org/what/technical.html
• WAP Forum. “Wireless Application Environment Overview.” PDF File. June 16, 1999. http://www.wapforum.org/what/technical.html
• WAP Forum. “Wireless Transaction Protocol Specification.” PDF File. June 11, 1999. http://www.wapforum.org/what/technical.html
• Unwired Planet, Inc. “Wireless Internet Today.” PDF File. February 1999. http://www.phone.com/industry/wap.html
• Nokia Wireless Data Forum. “ Wireless Application Protocol.” Web Page. http://www.forum.nokia.com/developers/wap/wap.html
• Motorola “Wireless Application Development” PDF File http://www.mot.com/MIMS/MSPG/spin/library_files/wad.pdf