Skip to main content

WAP 1.1 Architecture

The Wireless Application Protocol (WAP) Version 1.1 defines specifications for the communication with wireless devices, like mobile phones or personal digital assistants (PDAs). The specifications of the protocol are based on existing Internet and network technologies and extend or optimize them for the use in a wireless environment.





Above figure shows the usual infrastructure for a connection from a wireless WAP-enabled device to a standard Internet HTTP server. WAP protocols are used between the WAP client and WAP gateway. Between the WAP gateway and the HTTP server, TCP/IP and HTTP are used. It is the responsibility of the WAP gateway to translate requests from the WAP protocol stack to the WWW protocol stack (TCP/IP and HTTP) and to decode requests sent from the WAP client to the server. The responses from the server are encoded by the gateway into a compact binary format, which the client is able to interpret.
The WAE (Wireless Application Environment) User Agent uses WML (Wireless Markup Language) as the format to display the content. The WAP gateway transforms the HTML documents received from the server into WML in case the server does not provides WML.
WAP 1.1 uses a layered model similar to the ISO OSI Reference Model. On top of the bearers, which are not in the scope of WAP, the WAP Forum has defined protocols for the following layers.
WAE
The Wireless Application Environment (WAE) is the top-most level in the WAP architecture. It is based on WWW and Mobile Telephony technologies. The primary objective of the WAE is to provide the operators and service providers an interoperable environment on which they can build applications and services which, in turn, can be used in a wide variety of hand-held client terminals. WAE includes the micro-browser that contains functionality for using not only WML and WML Script as previously stated, but also Wireless Telephony Application, namely (WTA and WTAI) -telephony services and programming interfaces as well as content formats including well-defined data formats, images, phone book records and calendar information.
WSP
The Wireless Session Protocol (WSP) layer provides a lightweight session layer to allow efficient exchange of data between applications. It provides a connection-oriented service on top of WTP. In addition, it provides a second connection-less service that is based on WDP. WSP currently supports service for browsing, like HTTP 1.1 functionality and semantics in a compact format for wireless connections, long-lived session state, session suspend and resume with session migration, and protocol negotiation. Data push will come with WAP 1.2.
WTP
The Wireless Transaction Protocol operates efficiently over either secure or non-secure wireless datagram networks. It provides three different kinds of transaction services, namely unreliable one-way, reliable one-way and reliable two-way transactions. This layer also includes optional user-to-user reliability by triggering the confirmation of each received message. To reduce the number of messages sent, the feature of delaying acknowledgements can be used.
WTLS
The Wireless Transport Layer Security protocol is based on Transport Layer Security (TLS) or formely known as Secure Sockets Layer (SSL). It is designed to be used with other WAP protocols and to support narrow-band networks. It uses data encryption with a method that is negotiated at the start of the session to provide privacy, data integrity, authentication and denial-of-service protection. The latter is needed in cases when data is replayed or not properly verified. When that happens, WTLS detects the misuse and rejects the data in order to make many typical denial-of-service attacks harder to accomplish.
WDP
The Wireless Datagram Protocol is the transport layer that sends and receives messages via any available bearer network, including SMS, USSD, CSD, and GPRS. The bearer services, over which WAP is designed to operate, include short message, circuit-switched data and packet data services. Since the bearers offer different types of quality of service with respect to throughput, error rate and delays, the WDP is designed to either compensate for or tolerate these changes. Also, WDP lists all the bearers that are supported and the techniques applied when transmitting data over a certain bearer. These lists will change with new bearers being added as the wireless market grows.
Resource Used:
Principles of Mobile Computing
Uwe Hansmann
Lothar Merk
Martin S. Nicklous
Thomas Stober

Posted By: Chaudhary Amit V.


Comments

Popular posts from this blog

Characteristics of a Good Programming Language

Till now there are many high level languages which are very popular, and there are others, which could not become so popular in-spite of being very powerful. There might be many reasons for the success of a language, but one obvious reason is the characteristics of the language. Several characteristics believed to be important with respect to making a programming language good are briefly discussed below. Simplicity A good programming language must be simple and easy to learn and use. For example, BASIC is liked by many programmers only because of its simplicity. Thus, a good programming language should provide a programmer with a clear, simple and unified set of concepts which can be easily grasped. It is also easy to develop and implement a compiler or an interpreter for a programming language that is simple. However, the power needed for the language should not be sacrificed for simplicity. The overall simplicity of a programming language strongly affects the readability of the pr...

Angular 4 and Firebase Authentication: Email/Password

In our  previous  article we saw how to create authentication module using Google identity provider. Now we will see how to implement Email and Password authentication using Firebase. We will use Bootstrap form to create intuitive user interface for sign-up and login using Email and Password. Step 1: Create signUp component. ng generate component signUp Step 2: Create custom form in sign-up.component.html file. The result of above code: Step 3: Add two functions for creating the user and login using Email and Password in src/app/providers/AFAuth.ts file. Step 4: Call createUserWithEmailAndPassword function in service from sign-up.component.ts. Step 5: Update routing configuration in app.module.ts  to include signUp component. Step 6: Update Login form to have Bootstrap form. The result of the above code. Step 7: Enable Email/Password component in Firebas...

Angular 4 and Firebase Authentication: Setup

If you have come to this article, it means you are keen to learn new technology and that too Firebase. I love Firebase because it provides all basic but important features of any web application. Take for example, authentication, which is cumbersome and risky if not implemented with utmost care. And when we have the integration of Angular and Firebase, it becomes a lot easier for a developer to build such crucial modules in less time with minimal efforts. In this article we will create a simple Angular application using Firebase. I am going ahead with the understanding that you know the benefits of Firebase and have little knowledge about it. There are plenty of posts out on the web if you are behind. Step 1: Install Angular CLI (if not installed). npm install -g angular-cli Step 2: Create new Angular 4 project. By default now angular CLI will create Angular 4 project so you need not fret. ng new firebase-authentication Step 3: Check whether the ne...