Unit 3-WAP
Unit 3-WAP
Unit 3-WAP
scalable. As a result, the WAP protocol stack is divided into five layers −
Application Layer
Wireless Application Environment (WAE). This layer is of most interest to
content developers because it contains among other things, device specifications,
and the content development programming languages, WML, and WMLScript.
Session Layer
Wireless Session Protocol (WSP). Unlike HTTP, WSP has been designed by the
WAP Forum to provide fast connection suspension and reconnection.
Transaction Layer
Security Layer
Transport Layer
Note that the mobile network bearers in the lower part of the figure above are
not part of the WAP protocol stack.
Wireless Application Environment (WAE), the uppermost layer in the WAP
stack, provides an environment that enables a wide range of applications to be
used on the wireless devices. We have earlier discussed about the WAP WAE
programming model. In this chapter, we will focus on the various components
of WAE.
Components of WAE
Addressing Model
A syntax suitable for naming resources stored on servers. WAP use the same
addressing model as the one used on the Internet that is Uniform Resource
Locators (URL).
WMLScript
FEATURES OF WAP
Though WAP is a new technology, but it reuse the concepts found on the
Internet. This reuse enables a quick introduction of WAP-based services, since
both service developers and manufacturers are familiar with these concepts
today.
WMLScript
Once again, you must be using Java Script or VB script to enhance the
functionality of your web applications. Same way, WMLScript can be used to
enhance the functionality of a service, just as Java script can be utilized in
HTML. It makes it possible to add procedural logic and computational functions
to WAPbased services.
The protocols used in WAP are based on well-known Internet protocols, such
as HTTP and Transmission Control Protocol (TCP), but they have been
optimized to address the constraints of a wireless environment, such as low
bandwidth and high latency.
WDP SERVICE PRIMITIVES
The primitive types and their abbreviations are listed the table below.
Request req Used when a higher level requests a service from a lower leve
Speed / Bandwidth High Speed upto 1 Gbps Lower speed than Wired Network.
Installation activity Cumbersome and manpower Less labor intensive and easy
intensive
Installation Time Takes longer time to perform Very less deployment time
• For link layers that support IP, UDP is used as the Wireless
Datagram Protocol layer
In order to support the different bearer services with its specific capabilities and
characteristics, an adaptation is required to keep WDP as a common layer for
the various bearer services. Therefore, WDP, with its type of adaptation layer,
cooperates with its underlying bearer layer.
General WDP architecture
WDP messages are sent by the WAP terminal to the wireless data gateway
using the bearer services. The wireless data gateway has the choice to pass
WDP packets on to the WAP proxy/server through a tunneling protocol, which
is the interface between the gateway that provides bearer service and the WAP
proxy server.
For example, if the bearer service was an GSM SMS, the gateway would be a
GSM SMSC and would support a specific tunneling protocol to interface the
SMSC to other servers. It is also possible to use a subnetwork as a common
technology in order to connect two communication devices. This connection
can be, for example, through a wide area network based on TCP/IP or frame
relay, or a LAN operating TCP/IP over Ethernet.
• The wireless transaction protocol (WTP) is on top of either WDP or, if security
is required, WTLS .
• WTP has been designed to run on very thin clients, such as mobile phones.
• WTP offers several advantages to higher layers, including an improved
reliability over datagram services, improved efficiency over connection-
oriented services, and support for transaction-oriented services such as web
browsing. In this context, a transaction is defined as a request with its
response, e.g. for a web page.
• WTP offers many features to the higher layers. The basis is formed from three
classes of transaction service as explained in the following paragraphs.
• Class 0 provides unreliable message transfer without any result message.
• Classes 1 and 2 provide reliable message transfer, class 1 without, class 2 with,
exactly one reliable result message (the typical request/response case).
• WTP achieves reliability using duplicate removal, retransmission,
acknowledgements and unique transaction identifiers.
• No WTP-class requires any connection set-up or tear-down phase. This avoids
unnecessary overhead on the communication link.
• WTP allows for asynchronous transactions, abort of transactions,
concatenation of messages, and can report success or failure of reliable
messages (e.g., a server cannot handle the request). To be consistent with the
specification, in the following the term initiator is used for a WTP entity
initiating a transaction (aka client), and the term responder for the WTP entity
responding to a transaction (aka server). The three service primitives offered
by WTP are TR-Invoke to initiate a new transaction, TR-Result to send back
the result of a previously initiated transaction, and TR-Abort to abort an
existing transaction. The PDUs exchanged between two WTP entities for
normal transactions are the invoke PDU, ack PDU, and result PDU.
The WTP entity at the initiator sends an invoke PDU which the responder
receives. The WTP entity at the responder then generates a TR-Invoke.ind
primitive with the same parameters as on the initiators side, except for which is
now the local handle for the transaction on the responders side. In this class, the
responder does not acknowledge the message and the initiator does not perform
any retransmission. Although this resembles a simple datagram service, it is
recommended to use WDP if only a datagram service is required. WTP class 0
augments the transaction service with a simple datagram like service for
occasional use by higher layers.
This time, class equals „1, and no user acknowledgement has been selected as
shown in Figure 10.15. The responder signals the incoming invoke PDU via the
TR-Invoke.ind primitive to the higher layer and acknowledges automatically
without user intervention. The specification also allows the user on the responders
side to acknowledge, but this acknowledgement is not required. For the initiator
the transaction ends with the reception of the acknowledgement. The responder
keeps the transaction state for some time to be able to retransmit the
acknowledgement if it receives the same invoke PDU again indicating a loss of
the acknowledgement.
If a user of the WTP class 1 service on the initiators side requests a user
acknowledgement on the responders side, the sequence diagram looks like
Figure. Now the WTP entity on the responders side does not send an
acknowledgement automatically, but waits for the TR-Invoke.res service
primitive from the user. This service primitive must have the appropriate local
handle H for identification of the right transaction. The WTP entity can now send
the ack PDU. Typical uses for this transaction class are reliable push services.