|
Tik-111-350 Multimediaseminaari Turo Heikkinen, 40467U 8.4.1999 |
| 1. | Contents | 1 |
| 2. | Introduction | 2 |
| 3. | General | 2 |
| 4. | Wireless vs Fixed | 2 |
| 4.1 | Devices | 2 |
| 4.2 | Networks | 3 |
| 4.3 | Network Operators | 3 |
| 4.4 | Current Protocols | 3 |
| 4.5 | What's Wrong with Existing Protocols? | 3 |
| 4.6 | The Solution | 3 |
| 5. | Original Requirements | 4 |
| 6. | Technology | 4 |
| 6.1 | Wireless Application Environment (WAE) | 4 |
| 6.1.1 | Wireless Markup Language (WML) | 4 |
| 6.1.2 | WMLScript | 5 |
| 6.1.3 | Wireless Telephony Application (WTA) | 5 |
| 6.2 | Wireless Session Protocol (WSP) | 5 |
| 6.3 | Wireless Transaction Protocol (WTP) | 5 |
| 6.4 | Wireless Transport Layer Security protocol (WTLS) | 5 |
| 6.5 | Wireless Datagram Protocol (WDP) | 5 |
| 7. | Client-Server Operation | 5 |
| 8. | Current Status | 6 |
| 9. | The Future - Conclusion | 7 |
| Appendix A | Examples of WML and WMLS | 8 |
| A.1 | WML Example | 8 |
| A.2 | WMLS Example | 8 |
| Appendix B | Abbreviations | 9 |
| Appendix C | References | 10 |
WAP is a general small application protocol mainly for small handheld communication devices like cellular phones and PDAs. WAP was originally founded by the cellular equipment giants Nokia, Ericsson, and Motorola and the handheld device software platform developer Unwired Planet, since that several dozens of companies, mainly hardware and software manufacturers and network operators, have joined the WAP and are developing all kinds of devices, applications, and services.
3. General
WAP is developed to be the standard means of information transportation and Internet service gateway for mobile communication services. WAP is hardware, software platform and network independent. It uses a lightweight browser, called the micro browser, client software that can be designed to have minimal footprint and hardware requirements to fit in a very large span of different devices.
WAP has been designed from various currently used Internet standards like HTML, HTTP, XML, TCP, IP, UDP, and TLS. The main points in developing this new protocol were to make it very bandwidth optimised to work as quickly as possible in slow wireless networks (compared to fixed line networks that conventional protocols are designed for) and flexible to work in small screens of different shapes and various user input devices. Bandwidth requirements are made low by transferring all information as compressed binary and not as plain text as current similar protocols like HTTP. Header information is optimised to be small and the page markup language supports making applications small and flexible.
WAP is an evolving standard. The current version of specifications is 1.0 which was released in April 1998 and the next version, v1.1, is being developed by feedback regeived from the first version and will be approved in May 1999.
4. Wireless vs Fixed
Portable wireless applications have very different premises from conventional fixed applications on many levels.
4.1 Devices
The need for a mobile communication device specific set of protocols arises from the basic differences between mobile and fixed devices. Mobile devices tend to have:

Figure 1 - The WAP Protocol Stack.
6.1 Wireless Application Environment (WAE)
WAE offers the software platform environment for the application software. WAE is built into the so-called micro browser program that works much like normal WWW browsers that interprets HTML and JavaScript. WAE consists of Wireless Markup Language (WML), WMLScript, and Wireless Telephony Application (WTA).
6.1.1 Wireless Markup Language (WML)
WML is WAP's markup language much like HTML is WWW's. WML is a DTD (Document Type Definition) of XML (EXtendable Markup Language) that is a subset of SGML (Standard Generalized Markup Language) so it is tag based like HTML. See Appendix A for a WML example.
6.1.2 WMLScript
WMLScript is WML's integrated scripting language much like JavaScript or ECMAScript that can control many functions of the browser and the phone itself by scripts downloaded from the server. See Appendix A for a WMLS example.
6.1.3 Wireless Telephony Application (WTA)
WTA is the telephony interface of WAE that can be used to control telephony functions of the device from WML, WLMScript or the network and to invoke functions by requests from the network.
6.2 Wireless Session Protocol (WSP)
WSP implements session services of WAP. Sessions can be connection-oriented and connectionless and they may be suspended and resumed at will.
6.3 Wireless Transaction Protocol (WTP)
WTP is WAP's transaction protocol that works between the session protocol WSP and security protocol WTLS. WTP chops data packets into lower level datagrams and concatenates received datagrams into useful data. WTP also keeps track of received and sent packets and does re-transmissions and acknowledgement sending when needed.
6.4 Wireless Transport Layer Security protocol (WTLS)
WTLS does all cryptography oriented features of WAP. WTLS handles crypting, decrypting, user authentications and data integrity checking. WTLS is based on the fixed network Transport Layer Security protocol (TLS), formerly known as Secure Sockets Layer (SSL).
6.5 Wireless Datagram Protocol (WDP)
WPD works as the transport layer of WAP. WDP processes datagrams from upper layers to formats required by different physical datapaths, bearers, that may be for example GSM SMS or CDMA Packet Data. WDP is adapted to the bearers available in the device so upper layers don't need to care about the physical level.
7. Client-Server Operation
WAP uses special WAP gateway proxies to convert data from HTTP to WAP and vice versa so that any conventional WWW server may be used as the document origin server with WAP. The programs in the WWW server may be either directly programmed in WML or standard HTML which will be converted to WML by the proxy server. The proxy converts client's WAP requests into HTTP requests understood by standard WWW servers and CGI programs and then converts their output to WAP formats such as WML and WMLScript and compresses them to packed binary for sending to the client.

Figure 2 - WAP Client-Server Architecture
The gateway- and origin servers may be integrated into a single WAP server that will directly deliver WML data for WAP requests. The server may also include a WTA (Wireless Telephony Application) server that can be directly connected by the mobile data terminal's data bearer layer like GSM SMS to speed up connections. The Nokia WAP server currently piloting is such integrated origin, gateway and WTA-server.
8. Current Status
|
Although, there are no actual WAP devices on the market yet, some have been introduced and many others are under development. For developing and previewing WAP applications there is the Nokia WAP SDK that is a Java-based application that emulates a WAP-enabled cellular phone and can be used to create WAP applications with any computer with a recent Java Runtime Engine.
| ![]() |
![]() | The first WAP device introduced was the Nokia 7110 which looks much like any current mobile phone but has a relatively big display and a rolling wheel as an input device. The 7110 was introduced in the Cannes GSM World Conference 29.2.1999 and will be available in volume (according to the press release) in the second quarter of 1999. |
|
Ericssons first WAP product will be the MC218 Mobile Companion that has the Psion V handheld computer as it's hardware platform and Symbian's WAP-enabled EPOC operating system with Ericsson's extensions and applications. The MC218 was introduced 12.3.1999 and will be available (according to the press release) during mid 1999.
| ![]() |
![]() |
Another WAP device by Ericsson will be the R380 mobile phone/PDA that will have size of current mobile phones and a large screen under a protective lid. The R380 was introduced in CeBIT 18.3.1999 and should be available in early 2000.
|
The currently introduced devices will cover a wide base of customer needs when they hit markets and many more are following since most mobile phone manufacturers are developing new ones to keep up with others. According to mobile phone manufacturers committed to WAP, most mobile phones will be WAP-enabled in a couple of years and since all major mobile phone manufacturers do support WAP, there doesn't seem to be anything in the way of WAP success.
Appendix A - Examples of WML and WMLS
These examples are from the Nokia WAP SDK, this is a mortgage calculating application consisting of a WML file for the user interface layout and a WMLS file for the calculation function.
A.1 - WML Example
<b><?XML VERSION="1.0"?>
<WML>
<CARD NAME="card1" TITLE="Mortgage Calc" NEWCONTEXT="TRUE">
Principal: <INPUT FORMAT="*N" KEY="principal"
TITLE="Principal:" DEFAULT="150000"/>
<BR/>
Interest: <INPUT FORMAT="*N" KEY="interest" TITLE="Interest:" DEFAULT="8.00"/>
<BR/>
Num payments:<INPUT FORMAT="*N" KEY="num_payments"
TITLE="Num. payments:" DEFAULT="360"/>
<BR/>
Payment = <U>$(payment)</U>
<DO TYPE="ACCEPT" LABEL="Calculate">
<GO URL="mortgage.wmls#payment('$(payment)','$(principal)',
'$(interest)','$(num_payments)')">
<VAR NAME="payment" VALUE="payment"/>
</GO>
</DO>
<DO TYPE="HELP" LABEL="Help">
<GO URL="#help"/>
</DO>
</CARD>
<CARD NAME="help" TITLE="Help">
<U>Principal</U> - $$ amount<BR/>
<U>Interest</U> - e.g. 0.075.<BR/>
<U>Payments</U> - e.g. 360 for 30 years<BR/>
<DO TYPE="PREV" LABEL="Back">
<PREV/>
</DO>
</CARD>
</WML>
/*
* Calculate a mortgage's payment
*
*@param varname the variable name to store the result
*@param principal the principal
*@param interest the interest rate
*@param num_payments the number of payements
*@return the payment
*/
external function payment(varname, principal, interest, num_payments) {
/*
* Interest formulae:
*
* If (i != 0), then:
* pmt = principal * [i * (1+i)^n / ((1+i)^n - 1)]
*
* If (i == 0), then:
* pmt = principal / n
*/
var mi = interest/1200; // monthly interest from annual percentage
var payment;
if (mi != 0) {
var tmp = Float.pow((1 + mi), num_payments);
payment = principal * (mi * tmp / (tmp - 1));
} else {
payment = principal / num_payments;
}
var s = String.format("$%6.2f", payment);
/*
* Send the result to the browser
*/
WMLBrowser.setVar(varname, s);
/*
* Make sure the browser updates its current card
*/
WMLBrowser.refresh();
};
| DTD | Document Type Definition, definition of a language built on XML or SGML |
| HTML | HyperText Markup Language, document definition language of WWW |
| HTTP | HyperText Transfer Protocol, transfer protocol of WWW |
| PDA | Personal Digital Assistant, palmtop computer for storing calendar and contact information etc. |
| SGML | Standardised General Markup Language, a general markup language that can be adapted to different applications with DTD:s like HTML |
| SSL | Secure Sockets Layer, security protocol now known as TLS |
| TLS | Transport Layer Security, security protocol formerly known as SSL |
| WAE | Wireless Application Environment, execution environment for WAP applications |
| WAP | Wireless Application Protocol, a set of protocols and standards for wireless applications |
| WDP | Wireless Datagram Protocol, the transport protocol of WAP |
| WSP | Wireless Session Protocol, the session protocol of WAP |
| WTA | Wireless Telephony Application, application programming interface for controlling telephony features of the device |
| WTLS | Wireless Transport Layer Security, the security protocol of WAP |
| WTP | Wireless Transaction Protocol, the transaction protocol of WAP |
| WWW | World Wide Web |
| XML | Extendable Markup Language, a subset of SGML |
WAP Forum is the official coalition between all parties committed to WAP and its home page has most of technical and non-technical information about WAP released to the public. WAP Forum home page is a good source for general information, list of members, technical specifications and other technical documents.
Another useful site is the Nokia Wireless Data Forum at http://www.forum.nokia.com. The Nokia WAP SDK, its documentation and WAP reference manuals may be obtained from the Wireless Data Forum after free registration.