ИССЛЕДОВАНИЕ И РАЗРАБОТКА МЕТОДОВ ПОСТРОЕНИЯ И

advertisement
ИССЛЕДОВАНИЕ И РАЗРАБОТКА МЕТОДОВ ПОСТРОЕНИЯ И
КЭШИРОВАНИЯ ВЕБ-ПРИЛОЖЕНИЙ
В.П. Носов nosov@informika.ru
Федеральное государственное учреждение "Государственный научно-исследовательский
институт информационных технологий и телекоммуникаций"
(ФГУ ГНИИ ИТТ «Информика»)
Интерактивные приложения, работающие в сети Интернет получили
общее название веб-приложений. В качестве примеров веб-приложений
можно привести такие системы, как образовательные порталы, системы
дистанционного образования, интернет-магазины, форумы и тому подобное.
Содержание сайтов с каждым днем становится все более динамичным,
интерактивным и персонализированным. Такие веб-приложения более
удобны для пользователей, но они создают большую нагрузку на сервер, чем
статические страницы. Кэширование в веб-приложениях – это
распространенный подход для увеличения быстродействия, при котором
копия объекта, который доставлялся пользователю, сохранялась
и
использовалась для последующих запросов. В веб-страницах несложно
выделить фрагменты, имеющие разную частоту обновления. Анализ,
проведенный на базе теории массового обслуживания, показывает, что
фрагментарное кэширование позволяет значительно снизить нагрузку на вебсервер.
Современные веб-системы – это сложные программные комплексы,
разработка и поддержание которых становится непростой задачей. Важными
условиями создания веб-приложений являются: удобство для пользователя,
быстрота разработки, надежность работы и эффективное использование
ресурсов сервера. Базой для построения веб-приложений являются так
называемые “каркасы приложений” (application frameworks – каркасы
приложений), которые обеспечивают основу для создания новых
приложений, предоставляя повторно используемые компоненты для решения
общих задач веб-приложений.
Анализ сложностей разработки
масштабных веб-приложений
позволяет сделать вывод о том, что большая часть проблем может быть
разрешена за счет грамотной модульной организации модели и
представления веб-приложения. Разделение сложной модели масштабной
веб-системы на отдельные, более простые части во многом упрощает
разработку, как концептуально, так и организационно. Применение
компонентного подхода для организации модели и представления вебприложения имеет следующие очевидные преимущества:
 Компонентная архитектура позволяет разделить функциональность
приложения между компонентами, составляющими его
 Функциональный размер приложения целиком не отражается на
разработке единичного компонента
Для снижения трудоемкости разработки веб-приложений предлагается
архитектура, основанная на парадигме Модель-Вид-Контроллер с
применением модели на базе объектно-реляционных преобразований и
компонентного подхода к созданию внешнего представления вебприложений. Для снижения нагрузки на сервер используется кэширование
динамических данных: шаблонов страниц, фрагментов страниц и запросов к
БД.
В предлагаемой схеме веб-приложение состоит из страниц,
определяющих структуру расположения информации. Структура страницы
может быть статической (определяться шаблоном) и динамической
(портальная страница, определяется шаблоном и настройками пользователя).
Содержание страницы
компонуется из динамически создаваемых
фрагментов (“блоков”) и статических фрагментов (“включений”).
Блок – это динамический компонент, который пользователи видят на
странице сайта. Содержание блока (фрагмент страницы) генерируется с
помощью специального класса и шаблона. Т.к. входные параметры и
контекст выполнения блока могут меняться, один блок в одном шаблоне
может генерировать несколько фрагментов. Например, блок “Меню” будет
отличаться для разных рубрик сайта (изменяется контекст выполнения блока)
Включение – это статический фрагмент страницы.
Download