Presentation on WAP …Keerti Sharma August 2002
Agenda… What is WAP ? Limitations of Internet for wireless applications WAP Architecture / protocol stack WAP Components / WML WAP brings Internet to hand-held devices Conclusion How is WAP different from Internet? WAP is a standardized technology for cross-platform, distributed computing, very similar to Internet’s combination of HTTP and HTML except that it includes one vital feature… Optimization for low-display capability, low-memory and low bandwidth devices such as PDA, mobile phones etc. WAP August 2002
What is WAP ? WAP – The Wireless Application Protocol set of rules Makes it possible to access the Internet via wireless devices such as mobile phones, PDAs etc. Set of rules governing transmission/reception of data by wireless devices (e.g. mobile phones) WAP is a set of specifications that addresses the Wireless network characteristics by adapting existing network technologies (and introducing new ones where appropriate) to the special requirements of handheld wireless devices. Therefore, WAP intends to standardize the way wireless devices (mobile phones, PDAs, and so forth) access Internet data and services. WAP's reuse of existing Internet protocols will ease the development of WAP services for Java and other Web developers. How is WAP different from Internet? WAP is a standardized technology for cross-platform, distributed computing, very similar to Internet’s combination of HTTP and HTML except that it includes one vital feature… Optimization for low-display capability, low-memory and low bandwidth devices such as PDA, mobile phones etc. It introduces a new way of looking at the wireless phenomenon – letting the application follow their customers and provide them with innovative services. As a matter of fact WAP is not one single protocol but a collection of protocols and specifications that cover everything from how the WAP device and the user agent should work to how the transport protocols interact within the bearers themselves. So how is it any different from Internet ?? WAP is a standardized technology for cross-platform, distributed computing, very similar to Internet’s combo of HTTP and HTML, except that it includes one vital feature : optimization of low-display capability , low memory etc. set of rules August 2002
Limitations of Internet for Wireless Applications Traditional Internet applications cannot run on mobile devices because of the following limitations: Low bandwidth network High Latency network Limited connection stability Small display size Limited input facility Limited memory Limited processing power There are lots of problems that need to be addressed before Internet and mobile devices can be brought together. How is WAP different from Internet? WAP is a standardized technology for cross-platform, distributed computing, very similar to Internet’s combination of HTTP and HTML except that it includes one vital feature… Optimization for low-display capability, low-memory and low bandwidth devices such as PDA, mobile phones etc. August 2002
Limitations of Internet (contd)… Low bandwidth Size of an HTML page, including graphics … 20 KB Download time (56Kbps modem) … 3 s Bandwidth of wireless network … 9.6Kbps Download time for data on one page … 17 s High latency At the expiry of retransmission timer value, the TCP layer resends the packet of data An average latency in a wireless network is around ½ s but can be as high as 10s This can cause a lot of retransmission causing severe congestion Internet as it is now, is not well suited to mobile phone. Is complex. Takes up too much bandwidth Latency – Round trip delay between something being sent on the network and acknowledgement obtained that whatever was sent was received OK The information coming from the Internet and going to mobile phones has to go thro’ various elements in the mobile network. Each one introducing a little delay. Also, the air interface used to transmit data to mobile telephones has a very limited bandwidth (9.6Kbps compared to 56kbps on a wired network) Thus Internet protocols, which send many large messages result in large latency. August 2002
Limitations of Internet (contd)… Limited connection stability Small display size Limited input facility Limited memory Limited processing power The Internet protocols (TCP/IP & HTTP) are far from being suitable for use with mobile phone communications. They introduce far too many overheads, requiring many messages bet. Clients and server just to set up a connection. These overheads call for a high processing power on the client device. the WAP forum August 2002
WAP Architecture/Protocol Stack How Wireless Internet Works To create wireless Internet content, a Web site creates special text only or low graphics versions of the site. The data is sent in HTTP form by a Web server to a WAP gateway. This system includes the WAP encoder, script compiler and protocol adapters to convert the HTTP information to WML. The gateway then sends the converted data to the WAP client on your wireless device. August 2002
WAP Architecture (contd)… Web Server Content CGI Scripts etc. with WML-Script WML Decks WAP Gateway WML Encoder WMLScript Compiler Protocol Adapters Client WML WML-Script WTAI Etc. HTTP WSP/WTP . August 2002
WAP Architecture (contd)… WAP Application Server Content Application Logic with WML-Script WML Decks WML Encoder WMLScript Compiler Protocol Adapters Client WML WML-Script WTAI Etc. WSP/WTP . What happens between the gateway and the client relies on features of different parts of the WAP protocol stack. Let's take a look at each part of the stack: August 2002
WAP Architecture (contd)… WAE - holds the tools that wireless Internet content developers use. WSP - determines whether a session between the device and the network will be connection-oriented or connectionless. WTP - acts like a traffic cop, keeping the data flowing in a logical and smooth manner. It also determines how to classify each transaction request: Reliable two way (WTP/C) Reliable one way (WTP/T) Unreliable one way (WTP/D) WTLS - provides many of the same security features found in the Transport Layer Security (TLS) part of TCP/IP. WDP - makes it easy to adapt the transport layer to a variety of bearers because all that needs to change is the information maintained at this level. To minimize bandwidth requirements, and guarantee that a variety of wireless networks can run WAP applications, a new lightweight protocol stack called the WAP protocol stack was developed. The application protocol is a communication protocol stack that is embedded in each WAP-enabled wireless device (also known as the user agent). The server side implements the other end of the protocol, which is capable of communicating with any WAP client. The server side is known as a WAP gateway and routes requests from the client to an HTTP (or Web) server. WAE - The Wireless Application Environment holds the tools that wireless Internet content developers use. These include WML and WMLScript, which is a scripting language used in conjunction with WML. It functions much like Javascript. WSP - The Wireless Session Protocol determines whether a session between the device and the network will be connection-oriented or connectionless. What this is basically talking about is whether or not the device needs to talk back and forth with the network during a session. A connection-oriented session means that data will be passed both ways between the device and the network. WSP would then send the packet to the Wireless Transaction Protocol layer. If the session is connectionless, commonly used when information is being broadcast or streamed from the network to the device, then WSP redirects the packet to the Wireless Datagram Protocol layer. WTLS - Wireless Transport Layer Security provides many of the same security features found in the Transport Layer Security (TLS) part of TCP/IP. It checks data integrity, provides encryption and performs client and server authentication. Network carriers, or bearers, can be any of the existing technologies that wireless providers use The WSP and WTP layers correspond to HyperText Transfer Protocol (HTTP) in the TCP/IP protocol suite. Platforms Supported: Win32 Solaris HPUX Linux Windows CE Palm OS Additional platforms available upon request August 2002
WAP Architecture (contd)… . How is WAP different from Internet? WAP is a standardized technology for cross-platform, distributed computing, very similar to Internet’s combination of HTTP and HTML except that it includes one vital feature… Optimization for low-display capability, low-memory and low bandwidth devices such as PDA, mobile phones etc. August 2002
WAP Architecture (contd)… In a real WAP solution, the main components include: WAP Device Bearer WAP Gateway Content Content Server August 2002
WAP Components (contd)… WAP Gateway Encoder: converts WML to binarized WML Adaptor: provides additional information through HTTP header Translate HTTP requests to WSP. Convert between SSL and WTLS Convert transport protocols (TCP and WDP) August 2002
WAP Components (contd)… WML (Wireless Markup Language) An XML-based markup language that describes how WAP content is presented on a wireless terminal Differs from HTML in the following WML was specifically designed for wireless terminals with a target screen that is only a few lines long and about an inch wide. WML is case sensitive, and all tags and attributes should be in lowercase. Unlike HTML, WML is unforgiving of incorrectly nested tags. WML doesn't assume that a keyboard or a mouse is available for user input. Based on these differences, WML provides a smaller, telephony-aware set of tags that make it more appropriate than HTML for handheld wireless terminals. August 2002
WAP Components (contd)… WML Contd… Card metaphor User interactions are split into cards Navigation occurs between cards Explicit inter-card navigation model Hyperlinks History State management and variables Reduce network traffic Results in better caching In HTML, there are no functions to check the validity of user input or to generate messages and dialog boxes locally. To overcome this limitation, JavaScript was developed. Similarly, to overcome the same restrictions in WML, a new scripting language known as WMLScript has been developed. August 2002
Example of WML … . Navigation Card Variables Input Elements <DO TYPE=“ACCEPT”> <GO URL=“#eCard”/> </DO Welcome! </CARD> <CARD NAME=“eCard”> <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> </WML> . August 2002
A Deck of Cards … . Acme Inc. Directory _____________ Next Services <WML> <CARD> <DO TYPE="ACCEPT" LABEL="Next"> <GO URL="#card2"/> </DO> Acme Inc.<BR/>Directory </CARD> <CARD NAME="card2"> <DO TYPE="ACCEPT"> <GO URL="?send=$type"/> Services <SELECT KEY="type"> <OPTION VALUE="em">Email</OPTION> <OPTION VALUE="ph">Phone</OPTION> <OPTION VALUE="fx">Fax</OPTION> </SELECT> </WML> . Acme Inc. Directory _____________ Next Services 1>Email 2 Phone ____________ OK August 2002
WAP brings Internet to Hand- held Devices WAP handles limited bandwidth Minimizes traffic over wireless interface WSP layer, too, is binary encoded WTP is not only designed to minimize amount of data but also number of transactions WAP handles high latency WAE uses scripting to avoid round trip delays, e.g. by validating user input locally WTAI environment introduces a repository to hold services that should be started in response to an event in mobile network, e.g. incoming call. Repository – Since the services in this repository are available immediately, no round trips to the server are needed. August 2002
WAP brings (contd)… WAP handles less stable connections The sessions supported by WSP are assumed to be long-lived. WTP layer has been kept very simple compared to TCP WTP supports selective retransmission of data WAP handles small displays WML structures its documents in ‘Decks & Cards’ When an application is executed, user navigates through a series of cards Sessions by WSP – Sessions are assumed to be long-lived, so problem of lost connections is addressed by allowing lost sessions to be resumed even when dynamically assigned IP addresses are used WTP… Since no connection is set up, the effects of lost connections and other times of inactivity are minimized The unpredictable nature of wireless connection means that small segments of message are often lost Selective retransmission – meaning that only lost segments arev retransmitted and not the entire message as in TCP CARDS & DECK Card - is a single unit of interaction with the end-user, such as a text-screen, a selection list or a combo of these. A card is typically small enuff to be displayed on a small screen DECK – Series of cards used for making an application August 2002
WAP brings (contd)… WAP handles limited input facilities The WML elements can be easily be implemented without much input required from the key-board Deck & Cards model requires minimal navigation between pages Soft buttons or user-definable keys are also supported by WML WAP handles limited memory and CPU Defining a light weight protocol stack Limited functionality provided by WML & WMLScript Binary encoding of WML & WMLScript August 2002
Conclusion WAP provides a “microbrowser” optimized for wireless devices Requires minimal RAM, ROM, Display, CPU and keys WAP Offers Bearer Independence Allows Applications developed once to work across all networks Protects the Carrier’s investment in wireless data as networks evolve Enables Mobile Device Manufacturers to use common code across products WAP Offers Device Independence Allows applications developed once to work across devices from small handsets to powerful PDAs Promotes consistent user experience across all of a carrier’s handset offerings Encourages a wealth of applications for handset manufacturers Drawbacks of hand-held devices… Small screen 2) Low memory 3) Low bandwidth ( restricted to 9.6kbps) 4) The WAP programming code at the web site has to be explicitly designed and written for micro-browser used in the specific model of the WAP device. The pages themselves have to be small because of the restriction on data speed. August 2002
Some WAP applications Location-based services Financial services Real-time traffic reporting Event/restaurant recommendation Highly customized ads Instant messaging-type “buddy” location Enterprise solutions Email access Database access A “global intranet” Information updates “pushed” to WAP devices Financial services Banking Bill-paying Stock trading Funds transfers Travel services Schedules and rescheduling Reservations August 2002
Some known WAP Services 123Jump (http://www.123jump.com) A selection of stock data & news, all via WAP Ajaxo (http://www.ajaxo.com) A WAP service for wireless stock trading from any WAP enabled device 2PL WorldWide Hotel Guide (http://wap.2pl.com) A hotel guide, accessible in multiple languages via WAP enabled device Traffic Maps (http://www.webraska.com) A French service that monitors and shows latest traffic news via maps August 2002
WAP demo http://www.w3schools.com/wap/wap_demo.asp August 2002
Next presentation will cover … WAP 2.0 Integrating JAVA with WAP Push Technology in WAP Using WAP with Bluetooth August 2002
References 1. http://www.wapforum.org http://www.mobileinfo.com/WAP/components.htm http://wap.sonyericsson.com/ http://www.nokia.com/phones/9110/app.html http://www.iec.org/online/tutorials/wap/ http://www.wapaka.com/wapaka/default.asp http://www.ericsson.com/about/publications/review/2001_04/files/2001043.pdf http://www.btob.barnesandnoble.com/offers/wapgap.asp?btob=Y http://www.w3schools.com/wap/wap_pages.asp August 2002
References 2. Professional WAP WAP – A Beginner’s Guide by Dale Bulbrook Wireless Crash Course by Bedell Cracking the Code – WAP, Bluetooth & 3G Programming WAP Integration by Vujosevic & Laberge WAP 2.0 Development by Tull August 2002