Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

Wireless transaction protocol (WTP)

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).
A special feature of WTP is its ability to provide a user acknowledgement or,
alternatively, an automatic acknowledgement by the WTP entity. If user
acknowledgement is required, a WTP user has to confirm every message received
by a WTP entity. A user acknowledgement provides a stronger version of a
confirmed service because it guarantees that the response comes from the user of
the WTP and not the WTP entity itself. WTP class 0 Class 0 offers an unreliable
transaction service without a result message. The transaction is stateless and cannot
be aborted. The service is requested with the TR-Invoke.req primitive as shown in
Figure 10.14. Parameters are the source address (SA), source port (SP), destination
address (DA), destination port (DP) as already explained in section 10.3.2.
Additionally, with the A flag the user of this service can determine, if the
responder WTP entity should generate an acknowledgement or if a user
acknowledgement should be used. The WTP layer will transmit the user data (UD)
transparently to its destination. The class type C indicates here class 0. Finally, the
transaction handle H provides a simple index to uniquely identify the transaction
and is an alias for the tuple (SA, SP, DA, DP), i.e., a socket pair, with only local
significance.
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.

WTP class 1 Class 1 offers a reliable transaction service but without a


result message. Again, the initiator sends an invoke PDU after a TR-Invoke.req
from a higher layer.

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.

WTP class 2 Finally, class 2 transaction service provides the classic


reliable request/response transaction known from many client/server scenarios.
Depending on user requirements, many different scenarios are possible for
initiator/responder interaction. Three examples are presented below. Figure shows
the basic transaction of class 2 without-user acknowledgement. Here, a user on the
initiators side requests the service and the WTP entity sends the invoke PDU to the
responder. The WTP entity on the responders side indicates the request with the
TR-Invoke.ind primitive to a user. The responder now waits for the processing of
the request, the user on the responders side can finally give the result UD* to the
WTP entity on the responder side using TR-Result.req. The result PDU can now be
sent back to the initiator, which implicitly acknowledges the invoke PDU. The
initiator can indicate the successful transmission of the invoke message and the
result with the two service primitives TR-Invoke.cnf and TR-Result.ind. A user
may respond to this result with TR-Result.res. An acknowledgement PDU is then
generated which finally triggers the TR-Result.cnf primitive on the responder‟s
side. This example clearly shows the combination of two reliable services (TR-
Invoke and TR-Result) with an efficient data transmission/acknowledgement.

An even more reliable service can be provided by user acknowledgement as


explained above. The time-sequence diagram looks different (see Figure 10.18).
The user on the responder‘s side now explicitly responds to the Invoke PDU using
the TR-Invoke.res primitive, which triggers the TR-Invoke.cnf on the initiator‘s side
via an ack PDU. The transmission of the result is also a confirmed service, as
indicated by the next four service primitives. This service will likely be the most
common in standard request/response scenarios as, e.g., distributed computing.
WSP

 WSP Services

• provides shared state between client and server, optimizes content transfer
• – session management (establish, release, suspend, resume)

• Design and Engineering – from security systems to integrated energy management


systems, and technology networks to digital engineering, our expertise and knowledge
can create environments that improve collaboration and wellbeing.

• Future Ready – we can protect the investment value of real estate by designing or
adapting buildings so that they accommodate future technology changes, thereby
avoiding obsolescence and reliance on single technology providers, and improving the
life cycle performance.

• Policy and Planning – from strategic planning and concept of operations development
to legislative coordination, to the intersection between ITS, tolling, managed lanes,
and traffic engineering; our practice brings this full spectrum of understanding and
rich experience in planning to the table for easy integration with your existing
programs.
• Engineering and Integration – from roadside infrastructure assistance to
telecommunications expertise, data management to asset and configuration
management to C/AV research; we offer our unique experience in having actually
deployed roadside infrastructure as part of multiple projects, and with the most current
standards.

• Adaptation to Change – from assisting agencies in adapting to a customer/operations


focus, to helping them understand where an agency lies in the C/AV development
continuum; we can then help them take the necessary steps to advance to the next
level.
Wireless Application Environment
Wireless Application Environment (WAE) standards that are most relevant to application developers.

The WAE provides a vendor-neutral application architecture based on Internet standards.

The WAE specifications outline an application programming model that supports browsing, scripting, and
extensions that allow cellular network operators to offer network services within WAP..

The WAE defines user agents, services, and formats. User agents are simply applications that run inside a
WAP-capable device such as a mobile phone. The standards support independent user agents to allow for
expanded device functionality and to ensure that special services such as mobile network access are
isolated from regular Internet services. The services that comprise the WAE include an eXtensible
Markup Language (XML)-compliant Wireless Markup Language, a scripting language (WMLScript) and
supporting libraries, as well as telephony services provided by the Wireless Telephony Application
libraries. Each class of information within the WAE is identified by a unique format. Encoding and
decoding of content (e.g., WML) ensures that information sent between a user agent and the WAP
gateway uses minimal bandwidth.
• A client issues an encoded request for an operation on a remote server.(encoding is necessary to
minimize data sent over the air and to save resources on hand held devices)
• Decoders in a gateway translate this encoded request into a standard request understood
by origin servers
• The origin servers will respond to this request by encoding the response and its content and
transfers it to client.
• WAE logical model also includes push services.
• Several user agents reside within the client
• WML user agent supports WML, WMLscript or both.
• WTA user agent handles access to and interaction with,mobile telephone features (such as call
control)
• The standard defines a user agent profile (UAProf) which describes capabilities of user agents.

Wireless Telephony Application (WTA)


WTA is a collection of telephony specific extensions for call and
feature control mechanisms, merging data networks and voice
networks.

network model for interaction

• client requests to server


• event signaling: server can push content to the client
– event handling

• table indicating how to react on certain events from the network


• client may now be able to handle unknown events

–telephony functions

• some application on the client may access telephony functions

WTAI (Wireless Telephony Application Interface) includes:

–Call control
–Network text messaging
–Phone book interface
–Event processing

Security model: segregation

–Separate WTA browser


–Separate WTA port
WTA logical architecture

The client is connected via a mobile network with a WTA server,


other telephone networks and a WAP gateway.

• A WML user agent running on the client is not shown here.


• The client may have voice and data connections over the
network.
• Other origin servers can be connected via the WAP gateway.
Wireless Markup Language
WAP (Wireless Application Protocol) architecture is made up of WAE (Wireless
Application Environment), which consists of WML and WML scripting language.
• WML stands for Wireless Markup Language
• WML is an application of XML, which is defined in a document-type definition.
• WML is based on HDML and is modified so that it can be compared with HTML.
• WML takes care of the small screen and the low bandwidth of transmission.
• WML is the markup language defined in the WAP specification.
• WAP sites are written in WML, while web sites are written in HTML.
• WML is very similar to HTML. Both of them use tags and are written in plain text format.
• WML files have the extension ".wml". The MIME type of WML is "text/vnd.wap.wml".
• WML supports client-side scripting. The scripting language supported is called WMLScript.

WML Versions:
WAP Forum has released a latest version WAP 2.0. The markup language defined in
WAP 2.0 is XHTML Mobile Profile (MP). The WML MP is a subset of the XHTML. A
style sheet called WCSS (WAP CSS) has been introduced alongwith XHTML MP. The
WCSS is a subset of the CSS2.
Most of the new mobile phone models released are WAP 2.0-enabled. Because WAP
2.0 is backward compatible to WAP 1.x, WAP 2.0-enabled mobile devices can display
both XHTML MP and WML documents.
WML 1.x is an earlier technology. However, that does not mean it is of no use, since a
lot of wireless devices that only supports WML 1.x are still being used. Latest version
of WML is 2.0 and it is created for backward compatibility purposes. So WAP site
developers need not to worry about WML 2.0.
• A WAP enabled Web Server: You can enable your Apache or Microsoft IIS to serve all the
WAP client request.
• A WAP Gateway Simulator: This is required to interact to your WAP server.
• A WAP Phone Simulator: This is required to test your WAP Pages and to show all the
WAP pages.
You can write your WAP pages using the following languages:

• Wireless Markup Language(WML) to develop WAP application.


• WML Script to enhance the functionality of WAP application.

Configuring Web Server:


You simply need to add support for the MIME types and extensions listed below.

File Extension MIME type

WML (.wml) text/vnd.wap.wml

WMLScript (.wmls) text/vmd.wap.wmlscript


WMLScriptc (.wmlsx) application/vnd.wap.wmlscriptc

WMLC (.wmlc) application/vnd.wap.wmlc

WBMP (.wbmp) image/vnd.wap.wbmp

A WML program is typically divided into two parts: the document prolog and the body.
Consider the following code:
Following is the basic structure of a WML program:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">

<wml>

<card id="one" title="First Card">


<p>
This is the first card in the deck

</p>
</card>

<card id="two" title="Second Card">


<p>
Ths is the second card in the deck
</p>
</card>

</wml>

WML Document Body:


The body is enclosed within a <wml> </wml> tag pair. The body of a WML document
can consist of one or more of the following:
• Deck
• Card
• Content to be shown
• Navigation instructions
WML is defined by a set of elements that specify all markup and structural information
for a WML deck. Elements are identified by tags, which are each enclosed in a pair of
angle brackets.
Unlike HTML, WML strictly adheres to the XML hierarchical structure, and thus,
elements must contain a start tag; any content such as text and/or other elements; and
an end tag. Elements have one of the following two structures:
• <tag> content </tag> : This form is identical to HTML.
• <tag />: This is used when an element cannot contain visible content or is empty, such as a
line break. WML document's prolog part does not have any element which has closing
element.
Following table lists the majority of valid elements.

WML Elements Purpose

<!--> Defines a WML comment

<wml> Defines a WML deck (WML root)

<head> Defines head information

<meta> Defines meta information

<card> Defines a card in a deck

<access> Defines information about the access control of a deck

<template> Defines a code template for all the cards in a deck

Text Elements
WML Elements Purpose

<br> Defines a line break


<p> Defines a paragraph

<table> Defines a table

<td> Defines a table cell (table data)

<tr> Defines a table row

<pre> Defines preformatted text

Text Formatting Tags


WML Elements Purpose

<b> Defines bold text

<big> Defines big text

<em> Defines emphasized text

<i> Defines italic text

<small> Defines small text

<strong> Defines strong text

<u> Defines underlined text

Image Elements
WML Elements Purpose

<img> Defines an image

Anchor Elements
WML Elements Purpose

<a> Defines an anchor

<anchor> Defines an anchor

Event Elements
WML Elements Purpose

<do> Defines a do event handler

<onevent> Defines an onevent event handler

<postfield> Defines a postfield event handler

<ontimer> Defines an ontimer event handler

<onenterforward> Defines an onenterforward handler

<onenterbackward> Defines an onenterbackward handler

<onpick> Defines an onpick event handler


Task Elements
WML Elements Purpose

<go> Represents the action of switching to a new card

<noop> Says that nothing should be done

<prev> Represents the action of going back to the previous card

<refresh> Refreshes some specified card variables.

Input Elements
WML Elements Purpose

<input> Defines an input field

<select> Defines a select group

<option> Defines an option in a selectable list

<fieldset> Defines a set of input fields

<optgroup> Defines an option group in a selectable list

Variable Elements
WML Elements Purpose
<setvar> Defines and sets a variable

<timer> Defines a timer

WML - Formatting
Line Break:
The <br /> element defines a line break and almost all WAP browsers supports a line
break tag.
The <br /> element supports the following attributes:

Attribute Value Description

xml:lang language_code Sets the language used in the element

class class data Sets a class name for the element.

id element ID A unique ID for the element

Following is the example showing usage of <br /> element.


<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">

<wml>

<card title="Line Break Example">


<p align="center">
This is a <br /> paragraph with a line break.
</p>
</card>

</wml>

You might also like