Programming WebLogic Server for Wireless Services
Wireless Application Protocol (WAP) is an open, global specification, developed and deployed by the WAP Forum, that allows for the development of Internet and Web-based services for mobile phones and other wireless digital devices. Its founder members include the major wireless vendors of Ericsson, Motorola, Nokia, and Phone.com (formerly Unwired Planet and now Openwave Systems Inc).
The WAP specification addresses the limitations of wireless networks (low bandwidth, high latency, and unpredictable availability and stability) and wireless devices (limited CPU, memory, and battery life, and a simple user interface). It specifies two essential elements of wireless communication: an over-the-air wireless protocol and an application environment.
WAP gateways form the connection between clients on the wireless network and applications hosted on application servers on the Internet. The WAP gateway builds a bridge between the telecommunication and computer networks by routing requests from wireless clients to the application servers. It can be physically located in either network, though it is needed in only one of them.
The WAP application environment defines the framework for network-neutral, wireless applications for narrowband devices. Two of the main components of the WAP application environment are Wireless Markup Language (WML) and WMLScript.
WML for WAP applications is analogous to HTML for TCP/IP applications. It is an XML-based language that is specifically designed to interface with the microbrowsers that exist in WAP-enabled devices. The Wireless Markup Language Specification defines the tags and structure of a WML document.
A WML document is a collection—referred to as a deck—of one or more cards. Each card in a deck of cards is considered a well defined unit of interaction. The general rule of thumb is that a card carries enough information to fit in one screen of a wireless device. For information on ways to serve WML documents to wireless clients, see WAP Gateway. For general information on WML, see Additional Resources.
WMLScript provides generalWebLogic Server scripting capability to the WAP architecture. It is designed to overcome the limitations of narrowband communication and wireless clients. For example, WMLScript is a good way to validate form input without making a round trip to the server.
WMLScript resides in
.wmls files that are made available to wireless clients by placing them into the document root. The document root is the root directory for files that are publicly available on WebLogic Server. For more detail, see the information on directory structures in Web Applications Basics. For general information on WMLScript, see Additional Resources.
When a wireless client sends a request to a WAP application running on WebLogic Server, the request is first routed through the WAP gateway where it is decoded, translated to HTTP, then forwarded to the appropriate URL. The response is then re-routed back through the gateway, translated to WAP, encoded, and forward to the wireless client. This proxy architecture allows application developers to build services that are network and terminal independent.
For a secure connection employing the WAP protocol, a very small security risk exists at the WAP gateway during the switching of WTLS (WAP side) to SSL (IP side) and SSL to WTLS. Since the WAP protocol allows a session to be redirected from the carrier's gateway to the enterprise's gateway, an enterprise may want to control this minimal risk by including a WAP gateway behind its firewall. As shown in the following figure, the enterprise secures the server running the WAP gateway in a controlled environment to eliminate any exposure to the security risk.
There are a growing number of vendors that provide WAP gateways. WebLogic Server should work with any WAP-compliant gateway. For a list of WAP-compliant gateways and other WAP products, refer to the WAP Deployment Fact Sheet compiled by the WAP Forum.