This site has been taken over by the staff of www.ASPDeveloper.Net

Please report errors to suggest@aspdeveloper.net

BizTalk Utilities CV ,   Jobs ,   Code library  
 
Home Page
Uncategorized
The Rise of the Cooperative Economy
WAP - Part II - A Descent Through the WAP Protocol Stack.
Get started in XML now!
WAPReetings - A WAP Greeting card example
XML, releasing the power of the future?
XML for Not Yet Techies
XML Structures for Existing Databases
Riding the Media Wave
XML and Server-Side Processing
XML Interoperability
Connecting E-commerce Systems with XML
Bluetooth: A Programmer's Primer
Building Dynamic WAP Applications with ColdFusion
Creating a Dynamic WAP Application
WAP Subscriber Identity Modules
The Future of WAP: v1.2 and Beyond
Learning the Lessons of WAP
WAP Overview
Building Usable WAP Applications
Version Forward
<< System.XML
WCF, WS, SOAP >>

By :Mark Wilson
I am the creator of TopXML. I am available for international and local (Australia) contracts. I am a Solution Architect/Business Analyst. I have worked in IT in several countries (NZ, Australia, South Africa, UK) building and training teams for government and very large non-governmental organizations. I am ex-Microsoft Consulting Services. I wrote the first book on Microsoft XML published in 2000 called XML Programming with VB and ASP. Most recently I have been building tools for the SEO industry. Ask me for a 37 point SEO health-checkup for your website.
First posted :06/10/2000
Times viewed :1941

 

The Wireless Application Protocol

James Ewing

Part I - A Brief Overview of the WAP protocol suite

Several years ago a company called Unwired Planet developed a micro-browser and a markup language called Handheld Device Markup Language (HDML). After some initial success with individual vendors in the U.S., Unwired Planet decided to push for an open standard in order to create the critical mass needed to create the "next big thing" in information access. They began talking to some of the bigger players in the mobile world, Ericsson, Nokia and Motorola, about an open, unified standard. They dubbed the standard the Wireless Access Protocol, and formed a group called the WAP forum to jointly develop it. While HDML hasn't disappeared entirely, the Wireless Access Protocol has eclipsed it. WAP has gotten a lot of press the last couple of years and appears to be on the brink of becoming the standard for handheld, mobile devices.

Unwired Planet changed its name to Phone.com and has successfully marketed its line of "UP" browsers and servers to most of the WAP vendors in the United States. They have also made some inroads in Japan. WAP's growth in Europe is driven by a company that grew up on the banks of a river in Finland called the Nokia, and by the Swedish telecommunications giant L.M. Ericsson.

WAP's protocols mimic the World Wide Web's to a great degree. The Wireless Markup Language (WML) is a dialect of XML, and uses the same type of "tag" format as the HyperText Markup Language (HTML). World Wide Web servers communicate with WWW clients (i.e. we browsers) using an ASCII based protocol called the HyperText Transport Protocol (HTTP). HTTP is a very simple protocol consisting of field names and field contents separated by carriage return and linefeed characters. HTML and HTTP themselves are transported using the Transaction Control Protocol/Internet Protocol (TCP/IP) whose job is to make sure that any data sent is properly delivered to its destination. TCP/IP creates what is known in networking parlance as a "virtual circuit". Any data sent is either delivered properly or triggers an error condition back to the sender.





Although the WAP protocol mirrors Internet standards to a great degree, it obstinately manages to be almost completely incompatible with them. Because of this incompatibility, WAP devices cannot communicate directly with WWW servers. The WAP protocols must first be translated from their WAP formats to the protocols used by the WWW. This is why every WAP device needs to communicate with a WAP gateway in order to request WML pages (or "decks" as they are referred to in WAP) on a web server. The WAP gateway's job is to translate the WAP binary protocols into the HTTP text protocol that the World Wide Web servers "speak".





The WAP protocol suite is built up on hierarchical series of layers, some of which are optional. The bottom most layer is called the WAP Datagram Protocol (WDP) and is responsible for moving WAP data from sender to receiver and back again. WDP is patterned after TCP/IP's little brother, the User Datagram Protocol (UDP). Unlike TCP/IP, the protocol used for WWW data transfers, UDP makes no guarantees about the delivery of data. It is known as a "best effort" delivery service. What this means is that packets may be lost or corrupted in transit and the receiver will never know that the data is missing. UDP is generally used on the Internet for data that is not affected if a few pieces are missing, like audio or video streams for example. UDP was chosen as the basis for the WAP transport mainly because of its compactness and simplicity. Like UDP, WDP is an unreliable, "best effort" delivery protocol. 

WDP is often exactly the same as UDP, though this is not always the case. The rule of thumb, as expressed in the WAP technical specifications, is that WDP is synonymous with UDP (i.e. they are the same protocol) if, and only if, the WAP devices are communicating on a network where Internet protocols are available. Basically this means that if UDP is present, then WDP equals UDP. But in cases where no Internet protocols are available, the WAP specifications designate different forms of UDP "mapping" protocols that create the equivalent of UDP (usually through some kind of text message exchange). The WDP to UDP "mapping" protocols specified so far are SMS, SMS CSID, USSD, and ..95. 

The next protocol up the ladder is the WAP Transaction Protocol (WTP). WTP is designed to add back the pieces that UDP lacks compared to its bigger brother TCP/IP. WTP's job is to make sure that packets sent via WDP actually arrive at their destination. It does this by waiting for an "ACK" or acknowledgement packet back from the receiver. Any packet sent the other side must explicitly acknowledge using WTP. If an acknowledgement packet is not received within a specific time window, WTP will resend the packet. Unacknowledged packets will be resent a certain number of times until an error is generated if no acknowledgment is received. WTP is an optional protocol, however, and is not present in all WAP communications.

Above WTP, sits the WAP Session Protocol (WSP), which is responsible for two different types of functionality. The first is to create a "session" between the WAP client and the WAP gateway. Each session has a unique ID and must be explicitly started, stopped, resumed, or disconnected. This mode is known as "connected" or "continuous" mode WSP, and it is always used in conjunction with WTP. A WAP client must explicitly create a session, and each packet exchange must be sent and acknowledged via WTP (thus guaranteeing either delivery or an error condition). But, again, WTP is an optional protocol and so is using WSP connected mode.

The other mode of WSP exactly mirrors the functionality of HTTP. WSP's functionality in this case is not optional and is present in every WAP exchange. If WAP is operating with just the WSP protocol then no sessions is created and communication becomes a simple request-response pairing. This is very similar to how the WWW functions. When WSP is used alone it is referred to as "connectionless" or "temporary" WSP. Connectionless mode WSP is also called WSP/B in some of the documentation available from the WAP forum.

The next part of this article series will explain the WAP protocols in more detail. We will also examine the WTLS security layer and the coming GPRS mobile networking system that will make WAP far more usable than it is today.

James Ewing
mi4e Incorporated
Stockholm, Sweden

Copyright ( 2000 mi4e Incorporated, Stockholm, Sweden. All rights reserved.


Rate this article on a scale of 1 to 10

Your vote :  


 

Recent Jobs

Software Specialist, Linux - Finlan
Linux Core Technical Project Manage
Graphics designer at Tanzania. Expe
Integration Specialist Needed - Wor
Virtualization Server Infrastructur

View all Jobs (Add yours)
View all CV (Add yours)






    Email TopXML  

Front Page Daily Stuff TopXML Forum XML blogs XML Newsgroups BizTalk Biztalk Utilities Biztalk Utilities Tutorial B2B SAP XML Microsoft .NET Dotnet System XML Soapformatter SQLXML XMLserializer XQuery PHP PHP SimpleXML PHP XML Dom PHP XML RPC PHP XSLT Java Java Java XML Xalan Microsoft ASP ASP Schemas XML SQL Server XML XMLDom XSL XSL Tutorial XSLT Stylesheets General Javascript CSS XHTML WAP