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