wap and wml dbi – representation and management of data on the internet

73
WAP and WML DBI – Representation and Management of Data on the Internet

Upload: arron-sherman

Post on 28-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: WAP and WML DBI – Representation and Management of Data on the Internet

WAP and WML

DBI – Representation and Management of Data on the Internet

Page 2: WAP and WML DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

WAP

• WAP = Wireless Application Protocol

• A protocol and set of specifications to connect wireless aplications to the Web

Page 4: WAP and WML DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

The Specification Includes

• WAP Architecture

• Wireless Application Environment

• Protocol Layers

• Interoperability

• Security

Page 7: WAP and WML DBI – Representation and Management of Data on the Internet

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

Page 8: WAP and WML DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

Big Pipe - Small Pipe Syndrome

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">

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

WML

Wireless Markup Language

Page 14: WAP and WML DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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>

<?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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

== The DBI Course ==Hello World

__________________________________________ Back

== The DBI Course ==Hello World

__________________________________________ Back

Page 19: WAP and WML DBI – Representation and Management of Data on the Internet

The Result On a Different Device

Page 20: WAP and WML DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

== The DBI Course ==Select Next to go toCard 2.

__________________________________________Next Back

== The DBI Course ==Select Next to go toCard 2.

__________________________________________Next Back

== The DBI Course ==I am Card 2.

__________________________________________Next Back

== The DBI Course ==I am Card 2.

__________________________________________Next Back

Page 22: WAP and WML DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

After 15 seconds

Page 24: WAP and WML DBI – Representation and Management of Data on the Internet

== DBI Course ==Welcome to the dbi site!! We will bring you to our main page after 15 seconds.

___________________________ Back

== 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

=== Menu ===This is our main page. Under construction.

___________________________ Back

Page 25: WAP and WML DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

Entering a name Choosing the “Options”

Choosing the “Next”

Page 27: WAP and WML DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

<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 DBI – Representation and Management of Data on the Internet

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&amp;last=$lname"/> </DO> Last name: <INPUT KEY="lname"/></CARD>

Page 31: WAP and WML DBI – Representation and Management of Data on the Internet

<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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

<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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

<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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

<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 fortext entry mode, if necessary

Page 39: WAP and WML DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

<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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

<?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 DBI – Representation and Management of Data on the Internet

Adding Images

Page 46: WAP and WML DBI – Representation and Management of Data on the Internet

Special WML Characters• Use character entities in display text

&quot; "&amp; &&apos; '&lt; <&gt; >&nbsp; Blank space&shy; Soft hyphen (discretionary line break)

• Replace the “&” character in URL strings URL="query.cgi?first=$fname&amp;last=$lname"

• Use “$$” to display a single “$” character

Page 47: WAP and WML DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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 DBI – Representation and Management of Data on the Internet

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