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.
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.
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:
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.
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. |
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.
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.
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.
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. |
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.
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.
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 ServersMost web servers can handle WAP content. To be sure if your web server can handle WAP content, the following MIME types must be available:
|
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.
WAP phones use the in-built browser to:
The following list is extracted from a presentation by WAP Forum in M-commerce World London Feb 2001:
In the same presentation, WAP Forum project that WAP 2.0 will support:
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 |