Основы технологии 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 id=”card1″ title=”Tutorial”>
<do type=”accept” label=”Answer”>
  <go href=”#card2″/>
</do>
<p>
<select name=”name”>
  <option value=”HTML”>HTML
  Tutorial</option>
  <option value=”XML”>XML Tutorial</option>
  <option value=”WAP”>WAP Tutorial</option>
</select>
</p>
</card>
<card id=”card2″ title=”Answer”>
<p>
You selected: $(name)
</p>
</card>
</wml>

Как видите, создание WAP-версий сайтов – занятие не такое уж и
сложное. По крайней мере, оно вполне под силу тем, кто освоился с языком
разметки HTML. Больше об этом вы можете почитать в спецификации технологии WML.

От версии к версии

Еще на заре возникновения сотовой связи производители мобильных телефонов и операторы связи задумались об оптимизации предоставления услуг по передаче данных. Правда, тогда речь шла не о доступе к Интернету, а о работе классических приложений, способных обмениваться данными с офисными компьютерами. В 1995 году компания Ericsson начала разработку протокола ITTP (Intelligent Terminal Transfer Protocol), который должен был значительно расширить число сервисов, предоставляемых сотовым телефоном. В этом же году компания Unwired Planet, позже переименованная в Phone.com, предложила протокол связи для сетей DAMPS (CDPD) и iDEN, реализованный на базе языка HDML (Handheld Device Markup Language), основанный на общепринятом языке разметки документов HTML. В 1996 году компания Nokia начала внедрять собственный проект развития передачи и обработки данных по беспроводным сетям.

В конце 1997 года эти фирмы поняли, что появление нескольких конкурирующих между собой стандартов и протоколов может полностью погубить зарождающийся рынок услуг по передаче данных с помощью сотовых телефонов. Именно поэтому Ericsson, Motorola, Nokia и Unwired Planet объединили свои усилия и создали WAP Forum — специальную организацию, занимающуюся разработкой и развитием протокола WAP. В скором времени участниками проекта стали крупные производителей инфраструктуры сотовой связи и мобильной телефонии.

В результате активных действий разработчиков в мае 1998 года появилась первая версия протокола WAP — v.1.0. Несмотря на стройность общей концепции, проект получился сырым. В результате протокол так и не был внедрен, прекратив свое существование на уровне тестирования. В июне 1999 года была представлена вторая версия — WAP v.1.1. Летом 2000 года были обнародованы WAP v.1.2 и его подвид WAP v.1.2.1. Последняя версия WAP v.2.0 появилась в январе 2002 года.

WAP 2.0 — усовершенствованная версия WAP, которая использовала сокращенный вариант CSS, благодаря чему сайт мог быть открыт и с помощью обычного браузера на компьютере без установки каких-либо дополнительных плагинов и приложений.

WML

Хотя я говорил
о связи с сервером сети в терминах мобильных телефонов, сам клиент – не
мобильный телефон. Программный компонент, ‘ WAP шлюз ‘, фактически переводит
мобильные телефонные запросы (WAP- запросы) в HTTP запросы и переназначает
ответы сервера HTTP на мобильный (снова через WAP). WML файлы преобразуются в
двоичный формат WAP шлюзом. Хотя некоторые WAP шлюзы могут переводить HTML в
WML, не ожидайте, что произвольный HTML отобразится в WML с разумным содержанием
на мобильном.

Конечно, эмулятор не
нуждается в WAP шлюзе, чтобы работать. Он загружает WML файл непосредственно от
сервера сети (или открывает сам из локальной файловой системы) и выполняет его в
телефонном окне

WAP шлюз обычно принадлежит сети мобильного
оператора, но возможно установить частный шлюз так, чтобы мобильный пользователь
мог обращаться к Intranet. Это означает, что шлюз может обращаться к информации
от звонящего телефона, которому не доступен сервер сети.

Ввод Пользователя

Конечно, чтобы стать действительно мощный инструментом,
переменные должны быть способными хранить сгенерированные пользователем входные
значения. Это достигнуто через набор входных элементов, который подобны
элементам формы HTML:

· input – подобен HTML. Пользователь может испытать
ввод через мобильную клавиатуру. Как Вы можете понять, это не столь практично,
как использование клавиатуры PC, и Вы должны попытаться ограничить использование
этого элемента и пользоваться элементами выбора всякий раз, когда это возможно.
Атрибут name – имя переменной, которая будет установлена, default и size
-очевидные атрибуты. Format определяет маску ввода для поля. Возможные маски
ввода и другие атрибуты описаны в справочниках, которые идут с инсталляцией
Nokia Toolkit.

  • select/option – список вариантов, из которых может выбирать пользователь. Аналогично HTML:
    <select name='movie'> 
    <option value='1'>Eyes Wide Shut</option>
    <option value='2'>Notting Hill</option> :
    <option value='13'>Buena Vista Social Club</option>
    </select>
    
  • Атрибут multiple=true сообщает
    устройству пользователя, что множественный выбор возможен. Событие onpick
    вызывает, когда выбор сделан/отменен.

  • Postfield – подобно скрытым
    полям в формах HTML. Оно не будет отображено на экране. и может использоваться,
    чтобы отправить пары названия / значения на сервер. Фактически это намного
    удобнее скрытых полей: используя переменные с такими же именами, Вы можете
    собирать контекстную информацию в Postfield и передавать ее пакетом на
    сервер.

What is WAP (Wireless Application Protocol)?

Wireless Application Protocol, or WAP, is a set of technologies developed by a consortium of mobile telephony equipment vendors that is designed to bring Web content to wireless handheld communication devices such as Personal Digital Assistants (PDAs) and mobile phones. These devices are too small to easily display or allow users to interact with regular Web content. Wireless Application Protocol (WAP) enables them to receive simplified versions of regular Web pages. Typical uses for WAP-enabled devices might be to access stock market information, perform online banking, access inventory and sales information for sales quotes, and exchange information with business partners.

Wireless Application Protocol (WAP)

WAP is part of the Mobile Station Application Execution Environment (MExE) initiative from the European Telecommunications Standards Institute (ETSI) and is currently being tested by companies such as Alcatel, Nokia, and APiON.

How Wireless Application Protocol (WAP) Works

The WAP protocol stack lies within layers 4, 5, 6, and 7 of the Open Systems Interconnection (OSI) reference model for networking. For addressing and routing purposes, WAP uses the same layer 3 (network layer) protocol as TCP/IP, namely the Internet Protocol (IP). This allows WAP-enabled devices to request and receive Web content from the Internet by using the Hypertext Transfer Protocol (HTTP). However, instead of using the connection-oriented Transmission Control Protocol (TCP), WAP uses the connectionless User Datagram Protocol (UDP) for layer 4 (transport layer) session establishment because UDP has less overhead than TCP and is thus more suitable for the limited transmission capabilities of wireless handheld devices.

WAP uses the Wireless Transaction Protocol (WTP) instead of HTTP for its connectionless layer 7 (application layer) protocol. In addition, WAP-enabled devices can display only content that is formatted using Wireless Markup Language (WML), a simplified version of Hypertext Markup Language (HTML) for handheld wireless devices that includes limited display capabilities.

To request Web content from the Internet, a WAP-enabled device makes a WTP request to a WAP gateway, a device that stands between the WAP devices and Web sites. The WAP gateway services the WTP request in one of two ways:

  • The WAP gateway can itself host Web sites formatted in WML and return this content directly to the WAP device. The disadvantage of this method is that content providers must develop redundant versions of HTML-formatted Web sites in WML.
  • The WAP gateway can translate the WTP request that it received using UDP into an HTTP request contained in TCP packets and forward this HTTP request to a regular Web server on the Internet that hosts HTML-formatted Web content. The Web server returns the content to the WAP gateway using TCP, which translates the HTML into WML and sends it to the WAP device using UDP. This is the normal operation of a WAP gateway. Web content developers need only create one version of their site in HTML, although they must ensure that the page looks satisfactory when translated into WML.

WAP gateways can also be configured for other uses, such as collecting personal information from customers and recording traffic for billing purposes.

WAP primarily for web content

WAP is designed primarily to enable Web content to be delivered over wireless communication systems, which are characterized by low speed and variable delays. Caching can be implemented on wireless handheld devices to minimize the amount of information that needs to be downloaded, but memory limitations currently prevent this from being very effective.

You can use TCP header compression to reduce headers to only 3 or 4 bytes to speed up standard TCP/IP connections with these devices in order to boost performance a bit. You can adjust the TCP retransmission parameters to compensate for the typical round-trip time of 100 milliseconds to several seconds when users move through cells in wireless communication networks. But the TCP window size negotiation algorithm to optimize TCP transmission generally works poorly in situations where the typical delay varies so frequently and greatly. You can use middleware between the WAP device and the application server to simplify and streamline the data being transferred. Nevertheless, WAP has growing support in the cellular industry, especially because it shifts vendors toward the role of content hosting and development, which is a lucrative add-on in light of falling cellular line charges.

Позиция Microsoft

Имеется пара интересных фактов относительно позиции Microsoft в отношении
WAP. Начальный сторонник WAP (Microsoft – член WAP-Форума), Microsoft теперь
выдвигает свое собственное предложение. Оно основано на том, что ширина полосы,
батарея и возможности мультимедиа у карманных устройств радикально улучшатся за
следующие несколько лет и это сделает Windows CE жизнеспособной OS для
беспроводных приложений, а беспроводное содержание будет представлено в HTML. В
такой перспективе WAP напоминает временную технологию. Однако, согласно многим
источникам, это – очень длинный путь, особенно из-за проблемы батареи, а тем
временем WAP будет иметь достаточно времени, чтобы развиться.

Состав вапдваноля

  1. Пользователи. В основном юзают (слава богу), строить решают лишь избранные или ради бабла. Классифицировать по кускам как биологию невозможно. Каждый тест на интернет-зависимость пиздит, ибо написан каким-то совершенно асоциальным жывотным. Чуть более половины всех — это школота, чуть менее половины всех — только что закончившие школу.
  2. Партнерки, порногалереи, топы и прочая хуйня. На них зарабатывают. Причем только избранные. Остальные брызгают желчью и срут кирпичами, недоумевая, где это они лохов находят.
  3. Блоги. В последнее время из вебдваноля пришла мода периодически рождать на свет уютненькие бессмысленные бложики. Отличаются неиллюзорной схожестью друг с другом, поскольку на самом деле пишут посты не для себя, а для понимания мозгами весьма ранимой школоты, поэтому нормальные и душевные посты не пользуются популярностью и вызывают у читателей лютый баттхерт. В основном используются для выражения мыслей, которые не удалось удержать в голове. Пишут на больную школотную тематику: дичайше котируются посты о том, как в вапе все хорошо, как в вапе все плохо, как я вот с друзьями пефка ёбнул в честь окончания 9 класса, новости всяких популярных сайтов, форумов и другие. А некоторая часть бложиков даже работает на написанных школотой скриптах.

The WAP Model

The figure below shows the WAP programming model. Note, the similarities with the Internet model. Without the WAP Gateway/Proxy, the two models would have been practically identical.

WAP Gateway/Proxy is the entity that connects the wireless domain with the Internet. You should make a note that the request that is sent from the wireless client to the WAP Gateway/Proxy uses the Wireless Session Protocol (WSP). In its essence, WSP is a binary version of HTTP.

A markup language − the Wireless Markup Language (WML) has been adapted to develop optimized WAP applications. In order to save valuable bandwidth in the wireless network, WML can be encoded into a compact binary format. Encoding WML is one of the tasks performed by the WAP Gateway/Proxy.

Переменные

WML определяет концепцию переменных несколько иным способом, чем HTML и
JavaScript. Кроме того, что WML переменные могут использоваться WMLSCRIPT, они
могут также использоваться непосредственно в WML-документе для ссылок между
платами. Другими словами, Вы можете привести состояние платы к значению
соответствующей переменной. Переменная может быть установлена или путем ввода
пользователя или через элемент setvar. Конечно, переменные могут определяться и
путем создания сценария, но не обязательно. Например, Вы могли бы иметь плату,
которая требует ввода имени пользователя и затем отобразить плату ‘ Привет,
Luca’ при интерпретации WML код а” Привет, $ (firstname) “. Это невозможно в
традиционном HTML.Так как значения переменных сохраняются для всех плат, они
часто используются, чтобы поддержать информацию о состоянии и поддерживать
комплексное взаимодействие со службой WAP. Проблема в таком подходе –
синхронизации передвижения пользователя по деке с ожидаемым состоянием. Для
решения этой проблемы разработчикам надо обрабатывать события, когда
пользователь достигает платы (onenterforward и onenterbackward) и когда контекст
деки должен быть сброшен (newcontext = “true”). Регенерация используется, чтобы
обновить внешний вид платы, содержание которой зависит от переменной.

Like this post? Please share to your friends: