The WAP architectural model is similar to the Internet WWW
model with a few enhancements. Figure
13-1(a) shows the communication model for WWW and WAP. The WWW model in a
wired network is a client/server model, with HTTP requests being generated from
the browser on the user terminal. Figure
13-1(b) shows the WAP communication model involving a proxy between user
terminals and the content servers. The WAP proxy provides the WAP protocol
interfaces to the user terminal over the radio with encoded communications. This
model also includes a push server to push services toward the user through the
proxy. Another enhancement from the WWW model not shown in Figure 13-1 is the support for telephony applications in
the WAP model.
Figure 13-1. Communication
The use of proxy server in the WAP communication model is to
optimize and enhance the communications between wireless devices and the
Internet. Specifically, the WAP proxy provides the following functions:
Protocol gateway: The proxy
translates the WAP protocols to the protocols understood in the Web, like HTTP
and TCP/IP. Another function of the gateway is to perform DNS lookups of the
servers named by the WAP clients in the URL requests.
Content encoders and decoders:
The use of content encoders is to translate WAP content into a compact format
for transfer over the radio.
User agent profile management:
User agent profiles that define the client capabilities and user preferences are
composed and presented to application servers for personalized services.
Caching proxy: Frequently,
request pages can be cached for improvement in performance and network
Figure 13-2 shows the
WAP protocol architecture and the corresponding protocols in the Internet
Protocol stack. Different layers within the WAP protocol stack provide different
features. Applications and services, based on need, can use any layer of the
protocol directly. The following sections define requirements and deployment
details of individual layers.
Figure 13-2. WAP
13.1.1 Wireless Datagram Protocol
The main goal of WDP is to allow application services to be
designed independent of the specific transports. Hence, WDP provides a common
interface to various physical transport mechanisms, called bearers. WDP is
designed for narrow to medium bandwidth channels and also to be extensible to a
wide variety of cellular protocols with scope for future transport definitions.
It provides an abstraction to the upper-layer protocols by providing a
The basic capability of WDP is to provide a connectionless,
unreliable datagram communication service. It provides similar functions as the
UDP in the Internet stack of protocols. It allows peer-to-peer, client/server,
and one-to-many applications while ensuring multivendor and multidevice
interoperability at the WDP layer. WDP provides implementation capability for
standard or resource-constrained devices.
13.1.2 Wireless Transport Layer Security
The WTLS layer is responsible for security features between the
terminal and the counterpart application server. It must support security
features like privacy, integrity, authentication, and end-to-end security
between protocol endpoints. WTLS is based on transport layer security (TLS) 1.0
and is very efficient in bandwidth usage. It implements optimized handshaking
and supports datagram-oriented bearers and lightweight public key certificate
format. WTLS can enable long-living secure sessions and provides a choice of
13.1.3 Wireless Transaction Protocol
The WTP layer provides both reliable connection-oriented and
transaction-oriented services for certain application services that require
these features. WTP also supports the selection of underlying bearers to the
upper layers of the protocol stack. WTP allows packet concatenation and supports
transaction ID negotiation.
The primary characteristics of the connection-oriented WTP
(WTP/C) layer is to allow negotiation of connection setup parameters. It
provides a deterministic flow control appropriate for radio transmissions,
retransmission of lost packets, selective retransmission,
segmentation/reassembly, and port number addressing.
One of the important requirements of both WDP and WTP is to be
efficient with respect to communications and, hence, provide the support for
header compression with low transmission overhead with optimum handshakes. Other
requirements are with respect to scalability to operate over a range of wireless
networks and devices and to be modular to allow various security solutions.
The following classes of service are supported in the WTP
Class 0 provides an unconfirmed Invoke message with no result message.
Class 1 provides a confirmed Invoke message with no result message. This service
class is used for push data operations, where no response from the destination
Class 2 provides a confirmed Invoke message with one confirmed result message. In
this mode, a single request produces a single reply.
13.1.4 Wireless Session Protocol
The main requirements of the Wireless Session Protocol (WSP)
are to provide HTTP 1.1 functionality, interrupt ongoing transactions if needed,
provide application acknowledgment, push content from the server to client
asynchronously, and exchange static client and server state during session
creation. Some of the ongoing work items in the WSP group are to support QoS
parameters, multicast data, ordered pipelining, chunked data transfer, and WSP
13.1.5 Wireless Application Environment
The wireless application environment (WAE) provides
application-level services, tools, and languages required for authoring content
and for transferring content in WAP-enabled wireless networks. One of the
objectives is to leverage the existing technology and provide a universal
applications platform for Web browsing and telephony services. The WAE work
group within the WAP Forum focuses on the core areas of application
architecture, markup languages, scripting languages, and telephony
The wireless network and mobile device characteristics have a
great influence on the design of markup and scripting languages. Figure 13-3 shows the client-side WAE
architecture. The WAE framework involves the user agents and services and
formats to support the user agents.
Figure 13-3. WAE client