0% found this document useful (0 votes)
20 views8 pages

Wireless Gateway Programming Model

wireless gateway programming model

Uploaded by

tiger12
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views8 pages

Wireless Gateway Programming Model

wireless gateway programming model

Uploaded by

tiger12
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/224151706

Wireless Gateway Programming Model

Conference Paper · May 2010


Source: IEEE Xplore

CITATIONS READS
0 409

1 author:

Qadri Hamarsheh
Philadelphia University
58 PUBLICATIONS 126 CITATIONS

SEE PROFILE

All content following this page was uploaded by Qadri Hamarsheh on 19 May 2014.

The user has requested enhancement of the downloaded file.


1

Wireless Gateway Programming Model


Qadri Hamarsheh
Department of Computer Engineering, Faculty of Engineering, Philadelphia University
Amman, Jordan
E-mail: [email protected]

Abstract systems and available formats for different types


This paper suggests architecture for Wireless of information.
Gateway Programming Model that consists of 3. User Interface and Business Considerations
building blocks to solve the main WAP The business factors are the following: simple user
Gateway functions. The design of the suggested interface and building a system for mobile services
architecture takes into consideration the needs to be profitable.
technical and business problems of wireless WAP Evolution [19, 20]
environment. The paper describes various WAP is an open de-facto world standard (created
fundamental aspects of the WAP model, the by phone.com, Ericsson, Nokia and Motorola ) for
integration of the wireless networks over the presentation and access of applications,
internet technologies according to the topics information and telephony services on mobile
related to the security, caching, state phones and other terminals that operate over
management, etc. wireless communication networks.
Table 1 provides the main WAP evolution stages.
Keywords – Wireless Application Protocol Year Company Protocol Software/
(WAP), Wireless Gateway, WAP Client, WAP Language
Security, WAP Gateway Programming Model. Nippon Telegraph cHTML Lang.
1992 and Telephone i-mode
(NTT) Japan Gateway
I. INTRODUCTION
Unwired Planet HDML Lang.
This paper is organized as follows: section I 1994 Now Phone.com HDTP Gateway
presents an overview and general WAP USA [27, 30] Browser
architecture: technical and business problems, 1995 Ericsson [31] ITTP --------
TTML Lang.
WAP evolution and the WAP Programming 1997 Nokia [28] -------- NBS Lang.
Model with brief introduction to WAP Gateway Gateway
technology. In section II, WAP Gateway duties are 1997 Ericsson, Nokia, WML 1.0
introduced. The suggested Gateway programming Motorola and WAP 1.0 WMLScript
structure is presented in section III. Conclusions of Phone.com (1998)
(WAP Forum) [29] Standard Other Software
this work are presented in section IV and the list of and Languages
references is written in section V. Table 1: WAP Evolution
The WAP Model
Technical and Business Problems
One of the prevailing tendencies of the modern
Over the time, WAP suffers from many technical
stage of wireless communication' development is
and business problems that are unique to the
the wireless networks integration over internet
wireless environment over internet and related to
technologies. WAP specifications (which are
different factors: hardware factors, user interface
defined by the following components: Application
consideration, and optimization of the network
layer, Session layer, Transaction layer, Security
resources.
layer, and Transport layer) allow the use of
1. Hardware Factors[3,4,6,9]
integrated WAP application architecture that
The hardware factors are the following: small
includes, in general, content provider (application
screen (mobile size and weight), limited CPU,
or origin server), mobile device (WAP client),
memory size, batteries and power.
WAP Gateway and WAP proxy. The WAP
2. Network Optimization Factors[1,2,26]
architecture can easily support other
The network factors are the following: less
configurations for accessing information through
bandwidth of wireless networks, TCP\IP protocol
internet. The WAP Programming Model is
not suitable to the wireless telecommunications
presented in Figure 1.
environment, error Prone, many overheads,
requiring messages between client and server, less
connection stability, less predictable availability,
and interoperability, usability and incompatibility
of many mobile devices according to operating
2

WAP Programming Model Parts


A. Application Server
The WAP programming model allows content and
applications to be hosted on web servers and to be
developed using web technologies such as CGI
scripting, ASP, ADO, etc.
B. WAP Client
The WAP client can communicate with two
The WAP protocol stack is similar to the OSI servers in the wireless network: the WAP Gateway
network model and it is based on layered, scalable and the WTA Server. To provide different
and extensible architecture, these layers consist of: facilities the WAP client contains the following
WAE (Wireless Application Environment) components [20, 23, 24, 25]:
[6,7,17], WSP (Wireless Session Protocol) 1. WAE User Agent(s): the browser or the client
[6,15,17], WTP (Wireless Transaction Protocol) program that renders the WAP content.
[16,17], WTLS (Wireless Transport Layer 2. WTA User Agent(s): WTA (telephony
Security ) [10,17], WDP (Wireless Transport services and programming interfaces) receives
Protocol) [13,17,18]. compiled WTA files from WTA server and
The WAP protocols are designed to operate over a executes them.
variety of different bearer services and networks 3. WAP Stack: WAP stack allows the phone to
[2], including: Short Message Service (SMS), connect to the WAP Gateway using the WAP
Circuit-Switched Data (CSD) and Packet Data: protocol.
General Packet Radio Service (GPRS) The WAP client works straightforward with the
The most popular networks types supported by the WAE protocol that:
WAP technology are  Provides an interoperable environment to
IP-based networks (standard specific) that build services in wireless space.
use UDP over IP where possible, examples of  Includes a micro-browser containing the
these networks are GSM CSD, GSM GPRS, following functionality: Wireless Markup
CDMA CSD, CDMA Packet Data, W-CDMA, Language (WML), WMLScript Scripting
iDEN CSD, iDEN Packet Data, PDC CSD, PDC Language, WTA and WTAI Interface, EFI
Packet Data, PDC-P, TDMA CSD, TETRA Packet (External Functionality Interface), Multimedia
Data, DECT connection oriented services, CDPD Messaging, WAP Push Architecture, Persistent
and PHS CSD. Storage and other Media Types-Content Formats.
Non-IP based networks (WAP-specific)  Supports different services like: Capability
that use WDP, examples of these networks are Negotiation to determine characteristics of the
GSM SMS, GSM USSD, GSMCB (Cell mobile device, HTTP State Management,
Broadcast), CDMA SMS, iDEN SMS, FLEX, Synchronization, Push-OTA, Hypermedia
ReFLEX, TDMA R-data, TETRA SDS (Short Transfer, Caching Model, Multipart Messages,
Data Service) and DECT Packet Switched Service Indication, Different Character Encoding
Services. Schemas, HTTP/1.1 Basic Authentication, etc.
On the other hand, depends on the data transferred The WAP client architecture is presented in Figure
between client and server, the WAP programming 2.
model contains:
1. WAP Pull Data Transfer Model.
It's closely to web programming model and
implemented using the request-response
mechanism from HTTP 1.1.
2. WAP Push Data Transfer Model [12, 14].
 The WAP specification defines a Push
mechanism that allows any web server proactively C. WAP Gateway
and without a synchronous request send content to The WAP Gateway, also called protocol
the client using the Push Proxy Gateway (PPG). converters, acts as the intermediary mean between
3. WTA Telephony Model [24, 25]. the wireless networks and the internet and provides
This model contains WTAI Interface (WTAI WAP users the access to the WAP content.
function libraries) that can be accessed from the The Gateway takes requests from WAP-capable
server side using URL's; or from the client through devices and connects to other servers to get the
WMLScript language. In general WTAI contains content (WML documents, images, etc), the WAP
the following library functions: Voice Call session execution include different steps such:
Control, Network Text, Phonebook and Call Logs. • Connection creation between WAP device
and WAP Gateway via WSP.
3

• Sending the URL request by the WAP phone 3. The WAP protocol stack layers'
to the WAP Gateway. Configuration
• Translating the WAP request by the Gateway In general, Gateway Configuration model (GC)
into an HTTP request and sending it to the deals with issues related to initialization,
appropriate origin server. configuration and dynamic re- configuration to set
• Sending back the request information by the various configurations of WAP protocol stack
origin server to the Gateway via HTTP protocol. layers used by WAP technology. During the
• Converting the information (HTTP responses) implementation of WAP protocol stack layers,
by the Gateway to a format suitable for the mobile depend on whether the type of service is
device if necessary and sending it back to the connection–oriented or connectionless, secure or
browser in the mobile device. none secure, the WAP Gateway's GC model
• Terminating the session by the phone. supports all transmissions and their configurations
In case of security related applications (m- that are specified for WAP over UDP/IP. Table 2
commerce) the transmission can be encrypted and illustrates the required layers needed to be
the Gateway can be authenticated using electronic implemented to get these configurations and
certificates. provides transaction kinds: reliable and unreliable
II. WAP Gateway Building Blocks for the WAP datagram service.
This section summarizes the duties and, according The main difference between the connectionless
to them, the building blocks of the WAP gateway. session services and the connection oriented
The basic duties are the following: session services that the connectionless are
1. Resolving DNS hostnames into IP unreliable and the connection oriented are reliable.
Connection Security Required Transaction
addresses (RDNS Model) oriented Layers Kind
WAP Gateway takes over all DNS services to for Configuration
resolve domain names used in URLs, this is √ √ WAE–WSP-WTP- Reliable
WTLS-WDP
optional if the Gateway uses an HTTP proxy to Χ √ WAE-WSP-WTLS- Unreliable
retrieve the content and in the case of public WDP
internet HTTP proxy has the responsibility of √ Χ WAE–WSP-WTP- Reliable
resolving internet domain names instead of WAP WDP
Gateway. Χ Χ WAE–WSP-WDP Unreliable
Table 2: The WAP protocol stack layers ' configuration
2. Protocol conversion: WSP HTTP (PC
Table 3 illustrates the required messages
Model)
primitives at the client and server sides that must
WAP Gateway's PC Model translates requests
be used in both services.
from the WAP protocol stack (WSP, WTP, Messages Primitives
WTLS, and WDP) to the WWW protocol stack Service
Client Side Server Side
Kind
(HTTP and TCP/IP). This means that a PC model request response indication confirm
can accept a packet formatted for one protocol and Connection A* N/A A N/A
convert it to a packet formatted for another -less
connection A A A A
protocol before forwarding it. oriented
WSP provides complete HTTP 1.1 functionality, Table 3: Service kind and their messages primitives;
this includes: Extensible request-reply methods: A- Available, N/A – Not available
Get, Post, etc., Request, Response, Push content, 4. Content Encoders and Decoders (CED)
WSP optionally supports asynchronous requests, Model
so that a client can submit multiple requests The internal structure of wireless network called
simultaneously, content type negotiation: the latency due to:
process of selecting the best representation for a • The information coming from the internet and
client for a given response when there are multiple going to the WAP devices has to go through
representations for the same content, exchange different parts in the mobile networks.
client and server session entity headers. • A narrow bandwidth of the air interface used
The WAP Gateway's PC model supports the to transmit data to mobile phones (9600 bit per
following entity headers: second in GSM network compared to 28-56 kbps
 Request Header: Meta information that is sent on wired networks).
along with HTTP request. So the WAP Gateway contains the Content
 Response Header: Meta information in a Encoders and Decoders that convert the WAP
HTTP response. content into a binary, compressed and encoded
 WSP Headers: they are in a compact format that better suited for over-the-air
tokenized form as defined in the WAP transmission and limited WAP client device
specification. processing [1, 2].
4

Two kinds of encoders and decoders are used by Cache Server. The WAP caching model is based
the WAP Gateway are: on HTTP/1.1 caching as defined in RFC2616 [26].
• WML Encoder/Decoder – Global Tokenizer. 6. Heterogeneous Security Model (HS Model)
• WMLScript Compiler–Application Tokenizer. WAP Gateway enables a flexible heterogeneous
WML is an XML (Extensible Markup Language) security infrastructure that focuses on providing
tag-based document manipulation language. It is capabilities for secure connection between a WAP
designed for specifying user interface behavior and client and server to protect WAP pages and other
displaying content on wireless devices such as applications from external attacks. Security is an
phones, pagers, and PDAs. optional layer above the transport layer.
WMLScript is an extended subset of JavaScript There are actually two secure sessions in play:
language and it is used to add the power of • One is defined for secure transport over
procedural logic to WML documents. datagrams between the mobile device and the
The conversion of WML and WMLScript to their WAP Gateway using WTLS [5,8,9,10].
compact binary representations is done by two • The other is defined between the WAP
independent conversion modules [26]. Gateway and the HTTP server. Using Transport
The encoding of WML content into its binary form Layer Security (TLS), formerly known as Secure
process is known as tokenization (global tokens) Socket Layer (SSL) to provide security of data
[21], during this process, the Gateway must: over public networks like Internet (this session
 Verify that the WML content (WML decks) acts over connections i.e. TCP).
has no errors and is well formatted (WML WTLS uses public-key cryptography–based
documents are an XML documents type). algorithms and mechanism such as RSA, DES,
 Convert all markup and WML syntax (i.e., MD5, Triple DES and RC5 [11].
entities, tags, attributes, etc.) into their WTLS has the following Features: datagram
corresponding tokenized format. support, optimized handshake, dynamic key
 Perform various optimizations which make refreshing and interface for creating and
heavy use of the string-table that is defined for the terminating secure connections.
binary format of WML, an example of these WTLS provides the following basic security
optimizations is the removing of all comments, issues:
WML declaration, document type declaration and  Authentication: being able to validate that the
other meta information. other party participating in a transaction is who the
WMLScript Compiler [22] that performs the party claims to be.
process of tokenizing the WMLScript programs  Authorization: being able to validate that a
into a bytecode format (application tokens). The party wanting to perform some action is entitled to
Gateway's WMLScript compiler reduces the need perform that action within the given context
for round trips to the origin server. WAP Gateway  Privacy or Confidentiality: being able to
informs WAE User Agents about compilation ensure that the content transferred on the network
errors using the HTTP status code 502. The and meaning of communications between two
Gateway involves syntax and semantic checks and parties do not become known to third parties. This
generates the bytecode according to the is usually solved by encrypting.
WMLScript instruction set; it is not entirely  Integrity: being able to ensure that no one can
analogous to WML encoding. tamper with the content transferred on the
The most important difference between WML network.
encoding and WMLScript compilation is that in  Non-repudiation: being able to ensure that a
WML, the global tokens are assigned a fixed set of user can not deny having done a transaction. This
codes in all contexts (standard binary values that can be solved by the use of digital signature.
have been defined in the specification) and in The WAP Gateway generates the public and
WMLScript, the application tokens have a context- private keys and enables a flexible security
dependent meaning, WMLScript is compiled in a infrastructure that supports two models of security:
manner to compilation of programs like other "Two Phase Security" model and “End to End
programming languages (non-existing Security” model [10,11], the steps for each model
architecture). are describe in figure 3, where in "Two Phase
5. Caching Frequently Used Information Security" model the steps are the following:
(CFUI Model) [23] (1) WAP Gateway sends Certificate Request (CR)
WAP Gateways help to reduce the time needed to to PKI Portal.
fetch a document or resources from the origin (2) PKI Portal confirms ID and forwards request
server; they contain the procedures required to (CID) to Certificate Authority (CA).
configure the caching mechanism to optimize (3) CA sends Gateway Public Certificate (GPC)
WAP client performance and to update cache to WAP Gateway.
content automatically using Acceleration and
5

(4) WTLS session established between WAP 8. WAP Client State Management Model
phone and WAP Gateway. (WCSM Model)
(5) SSL/TLS session established between WAP The WAP Gateway can store and manage the state
Gateway and WAP server. of the WAP client information using Cookies and
The steps in "End to End Security” model are the WAP HTTP state management mechanism. It is
following: responsible for caching, sending and deleting the
(6) WAP server sends CR to PKI Portal. cookies.
(7) PKI Portal confirms ID and forwards request 9. User Authentication Model (UA Model)
(CID) to CA. [26]
(8) CA sends Server Public Certificate (SPC) to The gateway can often identify the actual user
WAP server. depending on bearer network used.
(9) WTLS session established from WAP phone 10. Push Functionality Model (PF Model) [12,
to WAP server (routing is via WAP Gateway, but 14].
communication is opaque to Gateway). WAP Gateway allows content to be pushed from
wired networks to WAP compliant mobile devices.
A gateway intended to provide push connectivity
between wired and wireless networks using Push
Access Protocol (PAP) and Push Over-the-Air
Protocol (OTA). The operations performed by a
PPG include push submission processing, result
notification, delivery cancellation, and Push
Access Protocol (PAP) status query.
11. Fault Isolation Model (FI Model) [26]
WAP Gateway provides an efficient mechanism to
handle the errors and generates reports about them
using the Wireless Control Message Protocol
The security services span all the various layers of (WCMP) [18].
the WAP architecture. Some specific examples of 12. Data Rate Converting Model (DRC Model)
the security services, their layers and security issue DRC works between different networks [26].
achievement are provided in table 4: 13. Signal Translator Model (ST Model) as
Security Services Layer Security necessary to provide system interoperability.
Issue * III. Gateway General Architecture
P A I N Figure 4 illustrates the suggested general
Cryptographic Libraries Application Χ Χ √ √ architecture of a WAP Gateway; this architecture
[WMLScriptCrypto]
HTTP Client Session Χ √ Χ Χ is designed based on the duties and building
Authentication blocks described in the previous section.
WTLS and TLS Transport Χ √ Χ Χ IV. Conclusion
handshakes
• WAP Gateway Programming Model that
WIM functions [WIM] Application Χ √ Χ Χ
PKI [WPKI] Application √ √ √ √
consists of building blocks to solve the Gateway'
Secure Bearer Networks Bearer ? ? ? ? main functions and to enhance the performance of
P – Privacy, A – Authentication, I - Integrity, N - Non-repudiation the WAP communication is suggested.
Table 4: Security ( Services, layers and issues) • Technical and business problems of wireless
7. HTML to WML conversion (HWC Model) environment and how to take into consideration
If the server provides WWW contents and WAP these problems during the design stage of the
contents then Wireless Gateway Programming Model are
a. An automated system (filter) can be used to presented and explained.
translate the WWW contents into WAP contents, • Various fundamental aspects of the WAP
but this translation will not be perfect, and it will model related to the security, caching, state
not be rendered probably on a wireless device. management, resolving DNS hostnames into IP
b. The server can decide which content to send addresses, session management, etc. and the role
depending on "User-Agent" and /or "Accept" of each WAP model component to solve these
HTTP request header. tasks are described.
c. Providing content in XML and convert it to V. References
HTML or WML using XSLT processor. [1] Dharma P. A, Qing-An Zeng, Introduction to
Many WAP Gateways include additional duties Wireless and Mobile System, 2e, Thomson
and functions depending on how the gateway is Canada Limited, 2006.
used, these duties related to: [2] Asoke K Talukder, Roopa R Yavagal.
"Mobile Computing Technology, Application and
6

Service Creation", Tata McGraw-Hill Publishing [27] http://www.openwave.com .


Company Limited, New Delhi, 2005. [28] http://forum.nokia.com/main.html .
[3] Valentino Lee, et al. “Mobile Applications: [29] http://www.wapforum.org .
Architecture, Design, and Development”, Prentice [30] http://developer.phone.com .
Hall 2004. [31] http://www.ericsson.com .
[4] Mark Ridgeway. “.NET Wireless
Programming”, Sybex 2002.
[5] Steve Milory, et al. “.NET Mobile Web
Developer’s Guide”, Syngress 2002.
[6] Wireless Application Protocol WAP 2.0,
Technical White Paper, WAPForum, January
2002.
[7] Wireless Application Protocol Wireless
Application Environment Specification, Version 2,
7-Feb-2002.
[8] Microsoft Mobile Internet Toolkit, Microsoft
Corporation, 2001.
[9] Ryan Fife, et al. “Webmaster’s Guide to the
Wireless Internet”, Syngress 2001.
[10] Wireless Transport Layer Security, Version
06-Apr- 2001: WAP-261-WTLS-20010406-a;
[11] Wireless Application Protocol, Public Key
Infrastructure Definition, Version 24-Apr-2001.
[12] Wireless Application Protocol, Push OTA
Protocol, Version 25-April-2001.
[13] Wireless Application Protocol, Wireless
Datagram Protocol, Version 14-Jun-2001.
[14] Wireless Application Protocol, WAP Push
Architectural Overview, Version 03-Jul-2001.
[15] Wireless Application Protocol, Wireless
Session Protocol Specification, Version 5-July-
2001.
[16] Wireless Application Protocol, Wireless
Transaction Protocol, Version 10-Jul-2001.
[17] Wireless Application Protocol Architecture
Specification, WAPForum, Version 12-July-2001.
[18] Wireless Application Protocol, WDP and
WCMP Wireless Data Gateway Adaptation,
Version 13-Jul-2001.
[19] Ben Forta, et al. “WAP Development with
WML and WMLScript”, Sams 2000.
[20] Charles Arehart, et al, Professional WAP,
Wrox Press, 2000.
[21] Wireless Application Protocol Wireless
Markup Language Specification, Version 1.3, 19
February 2000.
[22] Wireless Application Protocol WMLScript
Language Specification, Version 1.1, WAPForum,
25-Oct-2000.
[23] Wireless Application Protocol, User Agent
Caching Model, Version 011-FEB-1999.
[24] Wireless Application Protocol Wireless
Application Environment Overview, WAPForum,
Nov-1999.
[25] Wireless Application Protocol Wireless
Application Environment Specification, Version
1.2, WAPForum, Nov-1999.
[26] Kannel WAP and SMS Gateway:
http://www.kannel.com .
7

View publication stats

You might also like