The Wireless Application Protocol (WAP) is the result of a collaborative work between many wireless industry players, carried out in the scope of the WAP Forum. The forum, launched in 1997 by Nokia, Phone.Com (now Openwave), Motorola, and Ericsson produced technical specifications enabling the support of applications over various wireless platforms (GSM, GPRS, UMTS, etc.).
Introduction to WAPThe WAP technology is an enabler for building applications (e.g., browsing, messaging, etc.) that run seamlessly over various wireless platforms. focus on the following aspects:
• Interoperability: applications developed by various parties and hosted on devices, produced by different manufacturers, interoperate in a satisfactory manner.
• Scalability: mobile network operators are able to scale services to subscribers’ needs.
• Efficiency: the framework offers a quality of service suited to the capabilities of underlying wireless networks.
• Reliability: the framework represents a stable platform for deploying services.
• Security: the framework ensures that user data can be safely transmitted over a serving mobile network, which may not always be the home network. This includes the protection of services and devices and the confidentiality of subscriber data.
In line with these considerations, the WAP technology provides an application model close to the World Wide Web model. The web model includes the following key elements:
• Standard naming model: objects available over the web are uniquely identified by Uniform Resource Identifiers (URIs).
• Content type: objects available on the web are typed. Consequently, web browsers can correctly determine the type of a specific content.
• Standard content format: web browsers support a number of standard content formats such as the HyperText Markup Language (HTML).
• Standard content format: web browsers support a number of standard content formats such as the HyperText Markup Language (HTML).
the web model, as it is, does not efficiently cope with constraints of today’s mobile networks and devices. To cope with these constraints, the WAP model leverages the web model by adding the following improvements:
• The push technology allows content to be pushed directly from the server to the mobile device without any prior explicit request from the user.
• The adaptation of content to the capabilities of WAP devices relies on a mechanism known as the User Agent Profile (UAProf).
• The support of advanced telephony features by applications, such as the handling of calls (establishment and release of calls, placing a call on hold, or redirecting the call to another user, etc.).
• The External Functionality Interface (EFI ) allows ‘‘plug-in’’ modules to be added to browsers and applications hosted in WAP devices in order to increase their overall capabilities.
• The persistent storage allows users to organize, access, store, and retrieve content from/to remote locations.
• The Multimedia Messaging Service (MMS) is a significant added value of the WAP model over the web model. It relies on generic WAP mechanisms such as the push technology and the UAProf to offer a sophisticated multimedia messaging service to mobile users.
The WAP model uses the standard naming model and content types defined in the web model. In addition, the WAP model includes the following:
• Standard content formats: browsers in the WAP environment, known as microbrowsers, support a number of standard content formats/languages including the Wireless Markup Language (WML) and the eXtensible HTML (XHTML). WML and XHTML are both applications of the eXtensible Markup Language (XML).
• Standard protocols: microbrowsers communicate according to protocols that have been optimized for mobile networks, including the Wireless Session Protocol (WSP) and HTTP from the web model.
WAP ArchitectureThe WAP device can communicate with remote servers directly or via a number of intermediary proxies and gateways. The primary function of proxies/gateways is to optimize the transport of content from servers to WAP devices.
Push TechnologyWith push technology, a server is able to push some data to the WAP device with no prior explicit request from the client. In the push framework, the push initiator initiates the push transaction. The push initiator, usually an application server (e.g., web server, MMS center, etc.) transmits the content to be pushed along with XML-formatted delivery instructions to a Push Proxy Gateway (PPG).
The PPG then delivers the push content to the WAP device. The push initiator interacts with the PPG using the Push Access Protocol (PAP). On the other side, the PPG uses the Push Over The Air (OTA) protocol (based on WSP or HTTP) to deliver the push content to the WAP device.
User Agent ProfileThe objective of this specification is to define a method for describing the capabilities of clients and the preferences of subscribers. For this purpose, the user agent profile is formatted using a Resource Description Framework (RDF) schema in accordance with Composite Capability/Preference Profiles (CC/PP).
UAProf is composed of the following components:
• Hardware platform: this component gathers a set of properties indicating the hardware capabilities of a device (screen size, etc.).
• Software platform: this component groups a set of properties indicating the software capabilities of a device (operating system, supported image formats, etc.).
• Browser user agent: this component gathers properties characterizing the Internet Browser capabilities.
• Network characteristics: this component informs on network and environment Characteristics such as the bearer capacity.
• WAP characteristics: this component advertises WAP browsing capabilities of the device. This includes information on the configuration of the WML browser and so on.
• Push characteristics: this component indicates push capabilities of the device. This includes the set of supported content types, the maximum message size that can be handled, and whether or not the device can buffer push messages.
• MMS characteristics: this component describes the device capabilities for retrieving and rendering multimedia messages (MMS version, maximum message size, supported content types, etc.).