Introduction to WAP

(The Wireless Application Protocol)

A presentation by

Calvin Chan, Marc Jullion


Contents

  1. Overview and History
  2. WAP Technology
  3. Looking Ahead

Overview and History

What is WAP?

Wap is the short form for Wireless Application Protocol. It is an open, global specification that empowers mobile users with wireless devices to easily access and interact with information and services instantly. It is targeted to bring Internet content and advanced services to digital cellular phones and other wireless terminals.

Timeline
June 1997
Phone.com (formerly Unwired Planet™) co-founded the WAP Forum with Ericsson, Motorola and Nokia (the world's three largest wireless handset manufacturers), to provide a worldwide standard for the delivery of Internet-based services to mass-market mobile phones.
September 1997
The four co-founders initially published the architecture for this standard.
January 1998
the founding companies established the WAP Forum, Ltd. to administer the WAP specification process. Membership in the WAP Forum was opened to invite and facilitate contributions from across the entire wireless industry to the WAP specification work and drive the continuing evolution of WAP. The latest membership are listed here.
February 1998
The first draft specification was published.
May 1998
WAP Version 1.0 was announced.
September 1998
The WAP Forum announced the election of officers and the expansion of the board of directors. Chuck Parrish, Executive Vice President of Phone.com, Inc. was elected to the position of Chairman of the WAP Forum Board of Directors
June 30, 1999
WAP v1.1 was announced.
July 1999
Chuck Parrish was elected to the position of Vice Chairman.
October 1999
WAP Developer Registration and Content Verification Program was launched.
December 1999
WAP v1.2 was ratified.
April 2000
The WAP Forum announced its new Interoperability Product Certification Program
Briefing

WAP empowers mobile users of wireless devices to easily access from the screens of mobile phones live interactive information services and applications including email, customer care, call management, unified messaging, weather and traffic alerts, news, sports and information services, electronic commerce transactions and banking services, online address book and directory services, as well as corporate intranet applications.

The WAP specification was based on existing Internet standards, such as XML and IP, for all wireless networks. It utilizes HTTP 1.1 Web servers to provide content on the Internet or intranets, thereby leveraging existing application development methodologies and developer skill sets such as CGI, ASP, NSAPI, JAVA and Servlets. WAP defines an XML (eXtensible Markup Language) syntax called WML (Wireless Markup Language). All WML content is accessed over the Internet using standard HTTP 1.1 requests.

To leverage today's extremely large market penetration of mobile devices, WML's user interface components map well onto existing mobile phone user interfaces. This means end-users can immediately use WAP-enabled mobile phones and services without re-education. WAP specifications enable products which employ standard Internet technology to optimize content and airlink protocols to better suit the characteristics and limitations of existing and future wireless networks and devices.

back to top

WAP Technology

Goals of WAP Architecture and Design

WAP is intended to be modeled after existing, known Internet technologies and Internet protocols (for example, WML is based on HTML, XML and WAP uses familiar URL addressing to request services). WAP also extends many common Internet technologies for better usage on more restricted wireless networks. The reason is that wireless networks tend to be plagued with:

  1. lower bandwidth
  2. higher latency (high latency refers to a higher amount of time that it takes a packet to travel to a remote server and return again to the client)
  3. less connection stability
  4. less predictable availability

When looking at this topic, it was impressive to see the many efficiency improving techniques used to make WAP better suited for the more restricted wireless network infrastructure.

WAP Layers

The WAP protocol stack optimizes web protocols, like HTTP, for wireless networks.

WAP sits on top of existing wireless networks so that WAP can be successfully used over any wireless network. This is very useful because wireless networks often use different standards depending on geographical areas. So in order to allow WAP to be universally available, even when your telephone services are not, it is designed to run over any air interface.

Wireless Application Environment (WAE)

WML and WMLScript are examples of the application layer in WAP. WAE is built into the micro-browser present in the WAP device and handles WML and WMLScript in a similar fashion to how current web browsers handle HTML and Javascript. To make WAP more efficient at this layer though, WML and WMLScript are translated in binary code at the gateway (the gateway is the link from the air interface to the Internet). WAP also utilizes binary data converting algorithms to convert cumbersome HTTP text headers to a more compressed binary form before HTTP headers are transmitted on wireless networks.

Wireless Session Protocol (WSP)

WSP implements the session services of WAP. Sessions can be connection-oriented and connectionless and they may be suspended or resumed with little overhead. To be more specific, this layer has mechanisms to allow suspending and resuming of connections without the overhead of initial connection establishment.

Wireless Transaction Protocol (WTP)

The WTP is responsible for facilitating reliable communication between the communicating WAP device and the gateway. WTP deconstructs data into packets for sending and reconstructs received packets into useful data. WTP guarantees similar reliability that TCP does, but with more efficient behavior. For example, WTP cuts down on header size because it does not have header information for handling out of order packets since wireless networks only have one route from gateway to WAP device. WTP eliminates the need for the TCP to be installed on the phone and therefore decreases the amount of resources needed on the phone to support data transmission.

Wireless Transport Layer Security (WTLS)

WTLS is modeled after the Secure Sockets Layer (SSL). WTLS allows for the transmission of data along a secure connection. Many Internet applications require a secure connection and WTLS allows WAP to provide the necessary security abilities to users with WAP devices. WTLS handles authentication, denial of service and ensures privacy through crypting and decrypting. Again, WTLS has been optimized for use over wireless networks

This example, taken from the file WAP_White_Pages.pdf, shows the optimization of WAP over TCP/IP by displaying the number of packets that are required in order to retrieve the same stock quote on a standard web browser and a WAP device.

Wireless Markup Language (WML)

WML is a strong typed markup language, similar to HTML and XML, that is used to author WML pages primarily for download on wireless networks. Strongly typed refers to the fact that WML must always have opening and closing tags. WML code looks fairly similar to HTML, but there are fewer tags available. WML also provides some dynamic characteristics, not found in HTML, allowing the WML page designer to play around with variables, which therefore gives WML a flexible extension comparable to XML. WML pages are organized into multiple cards (WML sub-pages) contained in a WML deck (WML page). WML cards provide a simple document to be easily scrolled through on the minimal screen size of most WAP devices. Each WML card must be contained in a WML deck and so WML decks are downloaded from servers.

Keeping the comparison with current Internet technologies, WML has an available scripting language similar to JavaScript. It is called Wireless Markup Language Script (WMLScript) and is similar in syntax to JavaScript, but a little more restricted. It was designed to allow the WML page to validate user input without going to the server, give access to facilities on the wireless device that WML does not have access to (i.e. the ability to make a phone call or send a text message) and generate messages and dialogs locally without having to go to the server. It therefore provides many advantages to WML that Javascript provides to HTML. One major difference between WMLScript and JavaScript though is that WMLScript code must be kept in a separate file and cannot be included in the WML file via inline tags.

A WAP browser is required to view pages written in WML so WML pages cannot be viewed with a standard web browser. Several WAP browser emulators are available in order to view WML pages on your home PC.

As mentioned before, WML documents are divided into a set of units of user interaction called cards. Cards are well suited to be viewed on the limited screen size of WAP devices. A WML deck is located within the <WML></WML> tags. Each individual card that is then displayed on the WAP device is set apart by the <CARD> </CARD> tags. The content of the card and any functionality is contained within the CARD tags. Users can then scroll through WML cards on their WAP devices.

Wireless Bitmap (WBMP)

WBMP is the default picture format for WAP. WBMP’s are uncompressed, monochrome black/white bitmaps intended for use in devices with small screens and a narrow bandwidth connection. This makes WBMPs well suited for use with WAP devices.

WML and WMLScript Example

The following WML example was borrowed off the tutorial site www.wirel essdevnet.com

	<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTDWML1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">   
	<wml>   
	  <card id="SSN"  title="SSN:">   
	    <do type="accept"label="Results">
	      <go href="WMLScriptExample.wmls#validateSSN($(SSN))"/>
	    </do>
	    <p>Enter SSN: <input type="text" name="SSN"/>      
	    </p>
	  </card> 
	  <card id="Results" title="Results:">
	    <p> You entered:<br/> SSN:$(SSN)<br/> 
	    </p>
	  </card> 
	</wml>
	

The first WML card, named SSN, has a text input field for the users SSN and upon pressing the button above it, calls the WMLScript function shown below with the input field parameter SSN.

	extern function validateSSN(SSN){ 
	if (String.length(SSN) != 9) { 
		WMLBrowser.setVar("SSN", "Error: String must be 9 digits long."); 
	}
		WMLBrowser.go("WMLScriptExample.wml#Results");
	};
	

The WMLScript file makes use of two library functions. One sets the SSN variable to an error message (WMLBrowser.setVar()) and the other links the WAP device to the Results card in the WML document with the WMLBrowser.go() function. These functions are library functions and not supplied as part of the WMLScript code.

This example shows a WML document with two cards and a WMLScript source file with one WMLScript function. It is important to note that the WMLScript function is not embedded in the WML document, but is contained within its own .wmls source file. The WMLScript function is declared with the extern variable so it can be called by WML documents on events and other WMLScript functions not contained within the same source file. This is a simple example that shows the interaction between WML and WMLScript.

WAP Servers

Most web servers can handle WAP content. To be sure if your web server can handle WAP content, the following MIME types must be available:

  1. text/vnd.wap.wml for .wml files (WML source files)
  2. application/vnd.wap.wmlc for .wmlc files (WML compiled files)
  3. text/vnd.wap.wmlscript for .wmls files (WMLScript source files)
  4. application/vnd.wap.wmlscriptc for .wmlsc files (WMLScript compiled files)
  5. image/vnd.wap.wbmp for .wbmp files (wireless bitmaps)
WAP Gateway

The Wireless Application Protocol takes a client server approach. It incorporates a relatively simple browser into the mobile phone, requiring only limited resources on the mobile phone. WAP puts the intelligence in the WAP Gateways. The main philosophy behind Wireless Application Protocol's approach is therefore, to utilize as few resources as possible on the handheld device and compensate for the constraints of the device by enriching the functionality of the network and gateway. Therefore, Micro-browser based services and applications reside temporarily on servers, not permanently in phones.

WAP also does an excellent job leveraging the investment in existing Internet tools. For example, the gateway communicates with existing Internet nodes using the HTTP protocol. Also, as shown in the above diagram, the WAP architecture allows many existing Internet technologies to be utilized (i.e. CGI, ASP) completely transparent to the WAP client. When a WML request comes into a WAP gateway, it is converted to a TCP/IP, HTTP request and sent to the appropriate server on the Internet. To better utilize air interfaces, the TCP/IP HTTP response is converted to the optimized WAP format.

Gateways provide other features, useful in decreasing the amount of time for data retrieval. Gateways have extensive caching capabilities that decrease the access time to popular sites by caching WML pages directly. Obviously, with the restrictions on most current WAP devices, caching cannot be done locally. The gateway also controls DNS services and moves any DNS requirements (i.e. hosts file lookups on a Windows PC) from the WAP device to the gateway.

Process of Connecting a WAP device to a WWW site

WAP phones use the in-built browser to:

  1. Make a request in WML
  2. This request is passed to a WAP Gateway that then retrieves the information from an Internet server either in standard HTML format or WML/JWMLScript directly prepared for WAP devices. If the content being retrieved is in HTML format, a filter in the WAP Gateway may try to translate it into WML.
  3. The requested information is then sent from the WAP Gateway to the WAP client, using the underlying wireless infrastructure.
back to top

Looking Ahead

Potential Area of Application

The following list is extracted from a presentation by WAP Forum in M-commerce World London Feb 2001:

M-commerce
Shopping, ticket purchase, reservation, comparison shopping
Finance
Statements, fund transfer, shares trading
M-billing
Notification, presentation and payment of bills
Enterprise Access
Inventory, shipment/sales update, email access
M-care
Customer service, payment status, other backroom operations
Entertainment
Games, gambling, interactive multi-player events
Messaging
Communication and collaboration
Travel
Scheduling, advisories, reservations
Location-smart services
Traffic reports, parking information, store discounts, event recommendations
Technology Advancement

In the same presentation, WAP Forum project that WAP 2.0 will support:

Projected Growth

The following projection is also made in the same M-commerce presentation

By the end of year Annual Transaction Amount
2000 under $1 billion
2004 $14 billion
2006 over $230 billion
back to top

This presentation is for education purpose only and is submitted for the purpose of course assignment fulfilment
Last Update On: March 1, 2001