Без возможности производить различные операции с
информацией на сервере, WML остался бы просто средством форматированного вывода
текста. Добавление такой возможности, напротив, открывает любому
WAP-совместимому устройству пути передачи сообщений через Интернет,
промышленному использованию на предприятии и электронной коммерции.
WAP-совместимое устройство взаимодействуют с подобными источниками информации
через WAP-шлюз. Этот шлюз должен уметь взаимодействовать с различными
стандартами сотовой связи, такими как CDMA, GSM или GPRS. Однако, вполне
возможно установить тестовый шлюз в сочетании с популярными веб-серверами
(такими как MS IIS или Apache) прямо в вашей локальной сети. Мы не будем тут
сильно вдаваться в детали процесса установки шлюза, однако нельзя не
предостеречь вас от самой распространенной ошибки. Вам обязательно необходимо
добавить определения следующих типов в конфигурацию веб-сервера.
Теперь мы рассмотрим небольшой
примерчик в котором пользователю будет предложено сделать выбор какой-то одной
опции а затем на основе этого выбора с сервера будет загружена определенная
информация. Для этого примера мы используем ASP. С тем же успехом мы могли
написать скрипт использую Javascript, Servlets, Perl или любой другой язык. В
следующем листинге приведен исходный код для нашей новой деки. В ней содержится
всего один элемент <select>, который предлагает
пользователю выбор из нескольких опций. Элемент <go> вызывает серверный скрипт с определенными
параметрами.
Скрипт показанный на листинге 3
обрабатывает полученную из деки информацию и выводит на экран результат.
<% Dim Body If Request.Form("Items") = "Books" Then Body
= "You selected Books!" ElseIf Request.Form("Items") = "Video" Then
Body = "You selected Video!" ElseIf Request.Form("Items") = "Software"
Then Body = "You selected Software!" ElseIf Request.Form("Items") =
"Music" Then Body = "You selected Music!" End
If Response.ContentType = "text/vnd.wap.wml"%> <?xml
version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card> <p> <%Response.write(Body)%> </p> </card> </wml>
Несколько вещей необходимо напомнить
для тех, кто захочет повторить этот пример в своих условиях. Вы обязательно
должны "зарегистрировать" MIME типы на своем сервере для того, чтобы файлы WML и
WMLScript правильно обрабатывались и отображались сервером.