Аннотация
Система WEBTEST написана коллективом авторов и используется в ДВГУ для тестирования студентов и выставления промежуточных и итоговых оценок. Система имеет WEB-интерфейс. Текущая функциональность системы рассчитана на JavaScript на уровне достаточно старой его версии, однако учитывается, что интерфейс системы могут использовать на клиентах, не поддерживающих JS вовсе, поэтому, фактически, любая возможность тестировалась в двух вариантах: с поддержкой JS и без нее. Тем не менее, многие задачи в системе значительно быстрее и удобнее выполнялись бы, если бы JS использовался. Конечно, в системе уже применяются во многих местах возможности DHTML, но, учитывая то, что еще не решено множество задач, в которых желательно применение динамической обработки, ставится цель сделать интерфейс системы еще более динамическим, скоростным и удобным, сохраняя обратную совместимость с браузерами, не поддерживающими расширения JavaScript, DHTML и/или AJAX.
1. Введение
1.1. Глоссарий
Веб-приложение — приложение, в котором клиентом выступает браузер, а сервером – веб-сервер.
Веб-интерфейс (WEB-интерфейс) — интерфейс к веб-приложению.
JavaScript — скриптовый язык, применяющийся в браузерах для создания динамических веб-приложений.
CSS (Cascade Style Sheets) — каскадные таблицы стилей, применяющиеся для отделения контента (содержимого) от стилей его оформления.
DOM (Document Object Model) — это не зависящий от платформы и языка, программный интерфейс позволяющий программам и скриптам получить доступ к содержимому документов, а также изменять содержимое, структуру и оформление документов.
DHTML (Dynamic HTML) — это название технологии, объединяющей HTML, JavaScript, CSS, DOM.
AJAX (Asynchronous Javascript and XML) — это подход к построению интерактивных пользовательских веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате при обновлении данных веб-страница не перезагружается полностью, и веб-приложения становятся более быстрыми и удобными. AJAX — это не самостоятельная технология, а скорее концепция использования нескольких смежных технологий. AJAX базируется на двух основных принципах: использование технологии динамического обращения к серверу «на лету», без перезагрузки всей страницы полностью, например, с помощью объекта XMLHttpRequest; и использование DHTML для динамического изменения содержания страницы.
1.2. Обзор по тематике и предметной области
Система WEBTEST (см. Рис. 1) написана коллективом авторов и используется в ДВГУ для тестирования студентов и выставления промежуточных и итоговых оценок. Система разработана в 2002 году, с тех пор периодически дорабатывается.
Рис. 1. Система WEBTEST
Система имеет WEB-интерфейс, что означает основную возможность работы системы через интернет. Интерфейс разрабатывался в расчете на IE 4.0-5.0. Отличительной особенностью интерфейса является то, что все функции системы доступны при любой комбинации доступных возможностей браузера, а именно при доступности/недоступности возможностей JavaScript и DHTML.
Web-интерфейс системы WEBTEST планировался с расчетом на отсутствие поддержки JavaScript и, тем более, технологии AJAX, которая еще была неизвестна или мало изучена.
Но сегодня уже практически во всех браузерах присутствует поддержка DHTML/AJAX, и многие пользователи не выключают в своих обозревателях JavaScript. Поэтому, очевидно, стоит задуматься об активном применении этих технологий.
Какие преимущества можно получить, используя сценарии на стороне пользователя?
Очень большие. Например, сейчас в системе WEBTEST делается достаточно много запросов к серверу, которых с легкостью можно либо вообще избежать, либо заменить невидимыми для пользователя асинхронными запросами, которые будут принимать от сервера только действительно необходимые данные, а не целые странички. Учитывая то, что с системой могут одновременно работать много пользователей и, поэтому, сервер часто перегружен, то, таким образом, высылая при первом запросе немного больше информации, чем раньше (страничка + код), можно получить значительно большую производительность за счет (полного или частичного) отсутствия дополнительных запросов к серверу.
Помимо увеличения производительности, за счет клиентских сценариев можно увеличить и общую функциональность интерфейса путем динамического обновления таблиц, полей, списков на основе только что введенных пользователем данных.
1.3. Неформальная постановка задачи
Применяя технологии DHTML/AJAX, необходимо сделать некоторые изменения в интерфейсе системы.
• Мастер создания тестовых заданий
Для создания тестовых заданий в системе существует специальный мастер (см. Рис. 2), который состоит из нескольких этапов (которые, вообще говоря, могут меняться в зависимости от выбранного типа задания).
|