UP.SDK Getting Started Guide

[Cover] [Previous Section] [Next Section] [Index]

Current chapter: Chapter 1 - Introduction
Section 8 out of 26 total sections , Section 2 out of 4 sections in this chapter


The UP.Link Platform

The UP.Link platform, shown in Figure 1-1 below, provides subscribers with secure, wireless access to a wide array of Internet and other network services using data-capable wireless phones or personal digital assistants (PDAs). For the purposes of this documentation, these specially enabled handheld devices are called UP.Phones.

Figure 1-1.  The UP.Link platform

Using an UP.Phone is much like using a conventional Web browser. The user presses keys to navigate and request URLs. Unlike standard browsers which use the Hypertext Markup Language (HTML) to display information on a computer screen, UP.Phones use the Wireless Markup Language (WML), an open language developed by the Wireless Application Protocol (WAP) Forum1 to accommodate small handheld devices. Like HTML, WML is tag-based and supports text and image presentation, data input, and forms.

The UP.Phone uses the data capabilities of conventional wireless networks to send user requests to the UP.Link Server. The UP.Link Server converts these requests into Hypertext Transport Protocol (HTTP) requests and forwards them over the Internet. When the target service responds, the UP.Link Server relays that information back to the UP.Phone.

Figure 1-2.  Overview of UP.Phone transaction

The UP.Link Server is the core of the UP.Link platform. Its ability to serve as an HTTP proxy for UP.Phones lets subscribers access any site on the World Wide Web. Some information providers also offer WML services that use WML to take advantage of the UP.Phone interface. These services can also initiate communication by "pushing" information to the UP.Link Server, which, in turn, relays it to an UP.Phone. This process is called notification.

In addition to HTML translation, the UP.Link Server provides a number of other services. It acts as an information gatekeeper by maintaining a database of UP.Phones and their access privileges. It provides optional fax services that let UP.Phone users fax Web site content (including text, Microsoft Word, and Postscript files) to a local fax machine. It also provides configuration parameters that allow administrators to monitor or log transactions.

The final component of the UP.Link platform is the UP.AppsTM suite of WML services. These packages are optional and consist of the following:



UP.Phone Features

Although UP.Phone user interfaces vary, all UP.Phones have the following features:



The WML Language

WML is a markup language based on Extensible Markup Language (XML). XML, like HTML, is a Standardized Generalized Markup Language (SGML) variant. The WAP Forum provides a formal Document Type Definition (DTD) for WML at:

http://www.wapforum.org  

The WML language defines elements and attributes that let you specify the user interface components, called cards, that users see on their UP.Phones. Just as a Web browser can navigate from one page to another, the UP.Browser can navigate from one card to another.

A card can specify multiple user actions by including one or more of the following:

The smallest unit of WML you can send to an UP.Phone is a deck--one or more cards that a user is likely to access together. When an UP.Phone receives a WML deck, it displays the content defined in the first card and allows the user to respond. Depending on the card definition, the user can respond by entering text or choosing an option. UP.Phones with larger displays typically present each card as a single screen. Some smaller devices present each card as a collection of screens.


Example

The following WML statements define a simple deck. The deck contains a single card that displays a line of text:

1    <?xml version="1.0"?>
2    <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
3        "http://www.wapforum.org/DTD/wml_1.1.xml">
4    <wml>
5        <card>
6          <p>
7            Hello, Unwired World!
8          </p>
9        </card>
10    </wml>

Loading this deck displays a screen similar to that shown in Figure 1-3.

Figure 1-3.  A simple WML deck


Extensions to WML

Through a set of Openwave extensions to WML, the UP.Browser 4.1 provides a migration path from existing HDML applications to WML:

These extensions allow WML applications running on the UP.Browser to create nested contexts, which simplify user navigation and provide local/protected scope for WML variables. In addition, images may be displayed within 'select' list options or as the labels for 'do' elements. For more information, see the WML Language Reference and the UP.SDK Developer's Guide. Implementation details are provided in the sample CGI applications in: examples\scripts.

NOTE   All Openwave extensions to WML have been formally submitted to the WAP Forum as change requests for the WML specification.

If you use these extensions in your WML content, you must include the following DOCTYPE header in the WML deck:

<!DOCTYPE wml PUBLIC "-//PHONE.COM//DTD WML 1.1//EN"  
http://www.phone.com/dtd/wml11.dtd" >  

IMPORTANT   Applications can make use of these extensions when accessed by a phone running UP.Browser 4.0 or higher. To identify the WAP browser type and version, capture the WAP-standard USER_AGENT header in the HTTP request. See the whoami.cgi example for implementation details.



A New Scripting Language: WMLScript

WMLScript 1.1 provides general scripting capabilities to the WAP architecture. Specifically, WMLScript can be used to complement WML, which is designed to be used to specify application content for narrowband devices like cellular phones and pagers. This content can be represented with text, images, selection lists, and so on. Simple formatting can be used to make the user interfaces more readable as long as the client device used to display the content can support it. However, all this content is static and there is no way to extend the language without modifying WML itself.

WMLScript was designed to overcome these limitations and to provide programmable functionality that can be used over narrowband communication links in clients with limited capabilities. For more information about WMLScript, see the WMLScript Reference.



WML Services

WML services are Web applications that return WML and other content in response to HTTP requests. While static WML decks can comprise a WML service, generating WML content dynamically usually provides more meaningful information for users (for example, securities trading, order tracking, or traffic reporting systems).

Like conventional Web applications, WML services can generate screen content dynamically by using CGI (Common Gateway Interface) scripts or Web server APIs to query databases or other external data sources.

WML services can support both push and pull transactions:


[Cover] [Previous Section] [Next Section] [Index]


1 The WAP Forum is a wireless industry organization dedicated to promoting open wireless communication standards. For information on WAP, including specifications for WAP protocols, see http://www.wapforum.org.



Part Number DKGS-41-002, UP.SDK Release 4.1, December 2000

Copyright © 1994-2000 Openwave Systems Inc. All rights reserved.
Please send comments and questions to sdk-doc-comments@openwave.com.