The examples so far in this manual focus on using static HDML decks. Static decks are useful for providing menus and nonvolatile information. However, if you want to take full advantage of the UP.Link platform's unique ability to deliver timely information, you probably need to implement your service as a CGI or Web server application that generates content dynamically. A dynamic HDML service can deliver not only HDML content to a UP.Phone; it can also broadcast alerts, modify the UP.Phone cache, and send faxes on behalf of the subscriber.
To implement a dynamic service, be sure to:
The following sections discuss these topics in more detail.
An HDML service can send the following content types (or message entities) to the UP.Link server.
These message entities all leverage the MIME message format. Each entity consists of a header and a body as specified in:
http://www.internic.net/rfc/rfc822.txt
http://www.internic.net/rfc/rfc1521.txt
The digest format, in particular, is simply a standard MIME multipart/mixed message.
For example, the following is a valid HTTP response containing a single uncompiled HDML deck:
The UP.SDK Getting Started Guide manual provides an example of how to generate an HTTP response like this with a CGI script.
The following sections in this chapter describe how to write your service to generate digests and conduct cache operations. For information on generating alerts, see Creating HDML Services that "Push" Information.
The UP.SDK provides sample Perl and C libraries that insulate you from the detail of generating HDML decks, digests, and other MIME types supported by the UP.Link platform. It is strongly recommended that you use these libraries instead of generating these types from scratch. The Perl class libraries are in sdk_installdir/examples/apputils1. The sample Perl scripts in sdk_installdir/examples/scripts demonstrate how to use them. The C libraries and header files are in sdk_installdir/examples/source/digests. The test1.c file in that directory provides examples of how to use them.