Продолжается подписка на наши издания! Вы не забыли подписаться?

XForms: следующее поколение форм в World Wide Web

Автор: Петр Михеев

В настоящее время при построении приложений в World Wide Web почти повсеместно используются HTML-формы. Они позволяют вводить и отправлять на сервер необходимую для обработки информацию, организовывать поиск по сайту, выполнять аутентификацию пользователей. Как правило, чем более интерактивным является Web-сайт, тем более интенсивно при его создании используются формы. Сегодня трудно даже представить себе создание интерактивных программных систем в World Wide Web без использования HTML-форм. Однако стандартные HTML-формы имеют ряд серьезных недостатков.

Во-первых, реализация HTML-формы сильно связана с клиентским языком сценариев, например JavaScript или VBScript, с помощью которого выполняется проверка корректности значений полей формы, изменение значений одних полей формы на основе значений других полей, отображение сообщений об ошибках, предварительная обработка значений перед отправкой содержимого формы на сервер и многие другие стандартные операции. В результате создание HTML-страниц, содержащих формы, становится достаточно сложной задачей и требует определенных навыков программирования.

Во-вторых, поскольку стандарт HTML не определяет механизм связывания данных с элементами форм, то первоначальная инициализация значений полей формы и поддержка состояния просмотра страницы является серьезной проблемой. Для ее решения различные части HTML-формы генерируют динамически на основе информации, которая хранится, например, в реляционной базе данных, или передается на сервер, как результат заполнения некоторой предыдущей формы на клиенте. Однако подобный подход приводит к смешению дизайна Web-страниц и кода на развитом языке программирования (например, Java, Perl или PHP), и получается, что без переделки кода (иногда даже очень значительной) изменить представление информации практически невозможно. Наконец, результат заполнения обычной HTML-формы представляется в виде набора пар имя-значение, что затрудняет их дальнейшую обработку и сохранение в базах данных.

Для решения перечисленных выше проблем (и не только их) консорциумом W3С (World Wide Web Consortium) был разработан новый подход к созданию форм в Web-приложениях под названием XForms (расшифровывается как XML Forms). XForms (текущая версия 1.0) имеет в данный момент статус рекомендации (W3C Recommendation), и информация об этом подходе доступна по адресу http://www.w3.org/MarkUp/Forms/. Там приводится описание XForms, статьи на эту тему, а также ссылки на интерпретаторы XForms. Основным отличием XForms от стандартных форм HTML является использование формата XML как для задания набора визуальных элементов управления формы, так и для первоначальной инициализации значений полей формы и пересылки ее значений на сервер с целью обработки. Это позволяет обрабатывать результаты унифицированным образом с помощью анализаторов XML и сохранять полученный XML в XML-базах данных или в реляционных БД, поддерживающих загрузку XML. Изменения первоначальных значений формы, внесенные пользователем, также описываются в XML. В результате появляется возможность снизить нагрузку на сеть при передаче результатов на сервер. Более того, XForms отделяют данные и логику форм от их представления. Используя этот подход, данные формы могут быть определены независимо от того, как конечный пользователь будет взаимодействовать с приложением. Большая часть стандартных операций, ранее реализовавшихся с помощью языков сценариев, например, проверка корректности значений полей формы, отображение сообщений об ошибках, предварительная обработка значений перед отправкой на сервер и так далее, теперь включается в состав XForms, что сокращает потребность в использовании клиентских сценариев. Более того, поскольку XForms является преемником HTML-форм, то все возможности HTML-форм доступны и в XForms. Таким образом, XForms обеспечивает более гибкий и независимый от платформы способ визуализации, сбора информации и пересылки ее на сервер с целью обработки по сравнению со стандартными HTML-формами. Следующая версия, XForms 1.1, будет предоставлять еще больше возможностей. В новой версии должны появиться:

В настоящий момент создание XForms 1.1 еще не завершено, и поэтому в статье будет рассматриваться XForms 1.0.

.............

Заключение

В статье описан новый подход к созданию форм в World Wide Web, продвигаемый консорциумом W3. Несмотря на то, что такие моменты, как детальный анализ визуальных элементов управления, а также наборов событий и действий, остались за рамками статьи, изложенного материала вполне достаточно, чтобы получить первое представление о формах XForms и их возможностях.

Нужно отметить, что спецификация XForms рассчитана не только на разработчиков клиентских приложений, но и на создателей серверного программного обеспечения, которые могут использовать формы XForms как абстрактное представление интерфейса для интерактивного взаимодействия с пользователем, и в дальнейшем преобразовывать их в самые разнообразные клиентские представления. Сегодня приложений, использующих XForms, еще не слишком много. Но можно ожидать, что, в будущем они будут использоваться более широко, как это уже случилось со многими технологиями, продвигавшимися консорциумом W3С.

"С полным содержанием данной статьи можно ознакомиться в печатной версии журнала"

Copyright © 1994-2016 ООО "К-Пресс"