УДК 681.324
И.Б. Прусаков, Р.Т. Фалалеев, С.М. Владимиров
Московский физико-технический институт (государственный университет)
Web-представительство Музея МФТИ
В работе рассмотрены современные технологии создания, управления и популяризации вебсайтов на примере веб-представительства Музея МФТИ.
Ключевые слова: МФТИ, университет, музей, веб-сайт, динамическое содержание, система управления содержимым, Java, база данных, XML, XSLT, HTML.
Web-представительство Музея МФТИ — сайт web-музей МФТИ «Система Физтеха» — создавался не только как архив экспонатов Музея МФТИ, но и как визитная карточка Физтеха.
На скриншоте представлена стартовая многофреймовая страница web-музея МФТИ
«Система Физтеха» с доменным именем http://museum.phystech.edu, имеющая три динамических модуля (новости, анонсы и последние обновления), древовидный рубрикатор, а также встроенный форум (рис. 1).
Рис. 1. Стартовая страница швЬ-музея МФТИ «Система Физтеха» с доменным именем http://museum.phystech.edu
Дизайн стартовой страницы выполнен в классическом стиле с активацией цветовой гаммы фотографий корпусов МФТИ при наведении курсора на подрубрики, что придаёт дополнительную сдержанную динамику представительской странице сайта.
I. Среда разработки web-музея «Система Физтеха»
Для создания сложного динамического сайта (сейчас сайт Музея насчитывает около 2500 страниц) была необходима соответствующая среда разработки. В качестве такой среды выбрана
система ARP.Site, разрабатываемая с 2001 года студентами и аспирантами МФТИ и доработанная разработчиками под нужды Web-Музея.
Программная среда ARP.Site — уникальная система отображения статических и динамических материалов: новостных лент, опросов, форумов и любых других компонентов. Технология ARP.Site позволяет отобразить изменения в содержимом сайта сразу на всех зеркалах независимо от используемого дизайна или содержимого других разделов.
Программная среда ARP.Site написана на языке Java и использует XML-технологии, что обеспечивает быструю переносимость кода и высокую масштабируемость системы. В общей сложности ядро состоит из более чем 50 классов и реализует следующие функции:
— приём и анализ запросов пользователя; разбор запроса;
— отображение статических компонентов (статья, новость) и передача запроса на обработку динамических компонентов (анкеты, формы регистрации, вывод статистики);
— обеспечение политики безопасности — предотвращение несанкционированного изменения данных сторонним пользователем;
— ХSL-преобразование и передача полученных результатов пользователю;
— ведение статистики и отчётов сервера;
— обеспечение компонентов необходимой функциональностью для работы с деревом объектов.
Принципы работы ARP.Site строятся на управлении деревом объектов. Работа с деревом устроена следующим образом: сайты и их компоненты состоят из объектов, обладающих рядом свойств. Свойства объектов — это
— оформление — каждому типу объекта ставится в соответствие шаблон XSLT;
— содержание — хранится в базе в виде XML-документов;
— права доступа — просмотр, редактирование и удаление элементов различными группами пользователей как в системе управления Sandbox, так и во внешней сети.
Такой подход к созданию ресурсов позволяет управлять оформлением и содержанием ресурсов независимо друг от друга. Более того, настройка прав доступа к различным свойствам объектов позволяет пользователям любого уровня подготовки в интернет-технологиях качественно и быстро управлять содержанием сайтов.
Объекты можно создавать, переносить с «ветки» на «ветку», удалять. Всё это делается с использованием системы управления содержанием сайта Sandbox. Притом сама система Sandbox является обыкновенным сайтом, также находящимся на дереве, которым тоже можно управлять с использованием общих инструментальных средств.
Существует несколько десятков типов объектов, располагающихся на дереве. Это практически все, что может понадобиться для управления сайтом (статьи и разделы, новости и новостные ленты, файлы, архивы данных и прочее).
II. Технические требования к клиентскому программному обеспечению
Для работы с платформой Арптек на клиентском компьютере необходим любой браузер, поддерживающий стандарты w3c.
III. Оостав системы
Принципиально система ARP.Site устроена следующим образом: сайты и их компоненты состоят из объектов, обладающих рядом свойств, перечисленных выше.
Помимо использования уже заданных типов объектов, таких, как статьи и фотогалереи и другие, система позволяет создавать собственные типы объектов путём описания их структуры в XML-документе, тем самым расширяя возможности её применения для специализированных сайтов. Более подробную информацию о создании собственных типов объектов можно получить по адресу в сети Интернет — http://arpteka.ru/admin.html.
IV. Принцип хранения данных в системе ARP.Site
Все документы (объекты), которые может увидеть пользователь на сайте, хранятся в базе данных. Исключением являются лишь статические файлы картинок, двоичных архивов и других файлов, для которых не требуется выполнять XSL-преобразования.
Вместе с содержимым документа в базе данных хранятся и права доступа, что позволяет ограничить доступ к ещё не готовому документу или тому документу, который должен быть виден не всем пользователям.
Каждый документ может находиться в одном месте или в нескольких (например, одна статья может находиться на нескольких сайтах). Места расположения документа на информационном дереве сайта называются листьями и хранятся в отдельной таблице.
V. Принцип передачи информации пользователю
В системе используются три способа передачи информации пользователю:
— передача статического документа (картинка, двоичный архив, файл с mp3-музыкой и т. п.);
— передача обычного документа (статья, новость, главная страница сайта, произвольная страница);
— взаимодействие с динамических компонентом (почта, форум, система управления содержимым Sandbox).
Выбор нужного типа передачи осуществляется самой системой автоматически. Однако понимание принципов работы помогает более эффективно пользоваться ею.
VI. Передача файла и двоичной информации
Файлы хранятся на файловой системе в служебной папке ARP.Site. Файлы отсортированы по уникальному номеру объекта. Такой принцип хранения обеспечивает наиболее быстрый доступ и защиту от дублирования информации. Доступ к папке закрыт извне, однако одно и то же хранилище файлов может использоваться несколькими серверами, работающими в одном «кольце», обеспечивая быструю синхронизацию и экономию места на жёстком диске.
При работе с файлами проявляются следующие преимущества ARP.Site:
— скорость работы аналогична скорости работы обычных web-серверов, время работы с базой данных минимально;
— проверка прав доступа в ARP.Site выполняется точно так же, как и для остальных объектов;
— на уровне файловой системы выполняется кэширование объектов;
— загрузка новых файлов на сервер выполняется по протоколу HTTP (управление файлами реализовано с помощью интерфейса системы управления контентом, а для текстовых файлов возможно редактирование в окне браузера).
VII. Передача документа
Механизм работы со статическими объектами представляет собой процесс клиент-серверного взаимодействия, в результате которого пользователю будут переданы данные, автоматически сгенерированные системой по его запросу. Помимо выполнения политики безопасности перед системой стоит задача сфомировать по запросу пользователя необходимый документ и передать его клиентскому компьютеру.
НTML-файл будет сформирован из XML-документа и XSL-шаблона. В целях уменьшения времени ответа от сервера на каждом из этапов в ARP.Site применяется принцип кэширования информации, что позволяет передавать документы со скоростью обычного web-сервера, работающего с готовыми файлами HTML.
Процесс генерации HTML-документов состоит из 12 этапов (рис. 2).
1. На первом этапе системе известен иКЬ ресурса, введённый пользователем в адресную строку браузера. На основе введённого иИТ система получает уникальный ГО документа, который будет использоваться на последующих стадиях процесса.
2. Система выполняет проверку прав доступа пользователя к объекту. Для этого из базы данных запрашивается необходимая информация (группы, к которым принадлежит пользователь, права этих групп на данный объект).
Рис. 2. Процесс генерации HTML-документов
3. В случае, если пользователь имеет права на работу с объектом, система считывает из базы данных поля свойств объекта, необходимые для построения XML-элемента объекта.
4. На основе свойств объекта выполняется построение XML-элемента, соответствующего объекту. Разные типы объектов могут иметь разные XML. Например, в галерее — наборе картинок — выводятся элементы-адреса файлов изображений галереи, при отображении статьи или новости — их текст, а для голосования — форма ответа и прошлые результаты.
5. Из базы данных система запрашивает путь к шаблону оформления объекта (XSL-шаблону), хранящемуся в файловой системе сервера. Один и тот же объект может иметь несколько шаблонов, один из которых выбирается на данном этапе на основе текущих настроек сайта (определяемых редактором и дизайнером сайта) или на основе личных предпочтений пользователя.
6. Необходимый XSL-шаблон считывается из файловой системы. Шаблон может считываться с локального диска или с другого сервера (например, общего файл-сервера шаблонов).
Т. На основе информации в шаблоне составляется список дополнительных объектов, требуемых для генерации HTML. К таким объектам можно отнести модули, которые используются на всех страницах сайта, — баннеры, динамические меню, голосования и другие.
8. Система считывает данные, необходимые для построения XML-элементов дополнительных объектов.
9. На основе свойств дополнительных объектов генерируются XML-элементы дополнительных объектов.
10. Выполняется сборка полученных XML-элементов в единый документ. При желании дизайнер может получить этот документ — в текстовом виде или в виде дерева — для того, чтобы было быстрее и проще создавать и изменять шаблон оформления для сайта.
11. Над документом выполняется XSLT-преобразование. На основе правил, определённых в XSL-шаблоне, XSL-документ преобразуется в HTML, PDF или другой выходной формат.
12. Построенный HTML-код передается клиентскому компьютеру.
VIII. Передача динамических документов
Содержимое статичных документов меняется редко и уж точно не от посещения к посещению. АИ,Р.8іїе изначально построен именно для управления динамическими объектами, обязательными атрибутами информационных систем последнего времени.
Ключевая возможность системы АИ,Р.8іїе состоит в использовании компонентов и модулей, которые не просто передают какую-то информацию, а взаимодействуют с пользователем, реагируя на его действия.
В качестве примера рассмотрим заглавную страницу web-музея МФТИ «Система Физтеха» (http://museum.phystech.edu/), показанную на рис. 3.
** - 0 X
Рис. 3. Стартовая страница web-музея МФТИ «Система Физтеха», http:
Данная страница состоит из пяти модулей.
1. Кэшируемый элемент «разделы сайта» генерируется модулем InfoSpace. Модуль отслеживает положение пользователя на информационном дереве и помогает строить подобные навигационные панели.
2. Новостная лента — ещё один элемент по своему принципу статический (а значит, хорошо кэ-
шируемый). Отображается модулем news на основе информации и свойств новостной ленты, расположенной на информационном дереве сайта и указанной в шаблоне документа.
3. Ещё один динамический компонент raiting, меняющийся в определённый промежуток времени (это время изменяемо), показывает список последних обновлений сайта. В зависимости от
свойств может также отображать список самых популярных материалов данного сайта.
4. Модуль search позволяет организовать поиск на сайте. При этом он ведёт пользователя на другую страницу — с результатами поиска.
5. Модуль xpath выводит страницу, находящуюся в заданном положении дерева.
Помимо модулей, из которых частично формируется страница, существует понятие компонента (component). В отличие от модуля, вызываемого системой из XSL-шаблона, компонент представляет собой объект на информационном дереве сайта, связанный с определённым java-классом. Класс полностью управляет построением XML-элемента для данного объекта.
Примерами таких компонентов могут служить:
— система управления электронной почтой;
— система отображения статистики посещаемости сайта;
— система управления пользователями и др.;
— система управления Sandbox, которая полностью реализована средствами набора компонентов.
Принцип встраивания модулей и компонентов в схему работы со статическими документами показан на рис. 4.
Рис. 4. Взаимодействие модулей и компонентов со статическими документами
Сейчас системой поддерживается несколько десятков модулей, позволяющих удовлетворить все типовые запросы создателей сайтов. Ввиду постоянного обновления системы полный список модулей можно посмотреть по адресу http://arpteka.ru/designer.html. Система построена таким образом, что модули можно написать самостоятельно. Для этого достаточно иметь компилятор Java, уметь работать с параметрами HTTP-запроса и строить XML.
IX. Система безопасности
Система безопасности основана на нижеследующих ключевых понятиях.
— объект дерева — объект политики безопасности, доступ к которому следует разрешить или ограничить;
— аction (действие) — возможное действие над объектом (создание, изменение, создание ссылки, удаление, администрирование);
— роль — для удобства работы действия объединяются в роли (Admistrator — администратор, Editor — редактор, Author — автор, Observer — наблюдатель, посетитель — View (er)). Количество и содержание ролей может меняться в конфигурации;
— пользователь — субъект политики безопасности, доступ которого ограничивается. Пользователь характеризуется своей учётной записью, именем и паролем. Все пользователи Интернета также имеют единую учётную запись NOBODY;
— группа — для удобства работы пользователи объединяются в группы, права доступа которых изменяются в соответствующих диалоговых окнах системы управления.
X. Работа нескольких серверов ARP.Site в режиме кольца
В значительной степени ценность информации заключается в её доступности. Необходимой становится возможность получения доступа к информации из любой точки земного шара в любой момент времени 24 часа в сутки 7 дней в неделю.
Надежность и отказоустойчивость — одно из основных требований к разрабатываемым программным комплексам. Система ARP.Site разрабатывалась с возможностью действовать одновременно на нескольких серверах, использующих одно и то же содержимое. При этом и посетители, и редакторы, и администраторы сайтов чувствуют себя так же, как если бы работали на одном, но очень мощном сервере.
При изменении информации на одном из серверов с него посылается уведомление остальным участникам «кольца», поэтому на каждом из серверов отображается только актуальная информация.
XI. Использование файловой системы
Большая часть информации хранится в базе данных. Исключение составляют шаблоны объектов и бинарные файлы (например, картинки).
Хранение шаблонов оформления в файловой системе обусловлено следующим:
— шаблоны являются XML-документами и их очень удобно редактировать, используя инструментальные средства сторонних разработчиков (например, XMLSpy или MS Visual Studio);
— путь к шаблонам указывается не в базе данных, а в файле конфигурации сервера. Это значит, что на разных серверах можно иметь разные каталоги с шаблонами.
Дополнительно на внутреннем сервере можно включить показ XML-документа (включать его
текст в HTML-вывод), что сильно упрощает процедуру построения XSL-шаблона.
XII. Поддержка, администрирование и популяризация сайта
Жизненный цикл сайта не заканчивается его созданием и размещением в сети. Одним из важных этапов является его поддержка. Поддержка сайта — это комплекс мероприятий, направленных на обеспечение работоспособности и развитие сайта, актуальности представленной информации и удобства её восприятия. Поддержка сайта должна осуществляться в тесной взаимосвязи с комплексом мероприятий по его продвижению.
XIII. Информационное наполнение
Контент сайта является одним из самых важных составляющих раскрутки сайта. Согласно статистике «Академии Бизнеса» (http://businessacademy.com.ru) посетители, заходя на сайт, прежде всего желают узнать мнение автора, его позицию по вопросам, рассматриваемым на страницах сайта. Соединяя эти два же-
написание статей, в которых руководитель сайта выражает собственную точку зрения, собственный взгляд по теме Web-сайта. Так и при разработке Web-музея информационное наполнение основано на сборе уникальных статей и изображений, связанных с настоящим, прошлым и будущим МФТИ. Материалы тщательно отбираются и обрабатываются перед публикацией. Помимо этого выбранная платформа позволяет публикацию материалов сайта обычным пользователям после получения соответствующих прав доступа, что обеспечивает расширение круга авторов материалов. В данный момент создаётся рабочая группа авторов Web-музея МФТИ, производится обучение их адаптации материалов для публикации в Интернете, помощь группе в поиске и обработке новых материалов.
XIV. Удобная навигация
Для удобства навигации пользователей (рис. 5) справа расположено меню разделов для быстрого перехода между ними. В верхней части сайта присутствуют индикатор текущего положения пользователя в дереве сайта, ссылка на карту Web-музея и окно быстрого поиска по сайту музея.
лания воедино, получаем решение проблемы
Рис. 5. Система навигации
Фотогалереи адаптированы под разрешения современных мониторов (см. рис. 6) и снабжены простыми и интуитивно понятными элементами навигации.
Эти и другие программные и дизайнерские решения делают Web-музей более привлекательным для пользователей.
Форумы Карта сервера | навигация по порталу 3
______________ Л................................кИ
, Ху Internet \ 100% -
Рис. 6. Фотогалерея
Для удобства преподнесения статей аудитории все статьи публикуются в едином стиле достаточно крупным шрифтом, в случае, если пользователю необходимо распечатать статью или другой материал, он может сделать это, перейдя в «Версию для печати».
Физтех.ру / Музей / Выставки / Фото / Фурсенко на Физтехе
XV. Регистрация в поисковых системах и каталогах
Сайт Музея МФТИ «Система Физтеха» уже проиндексирован абсолютным большинством поисковых систем, таких как:
Яндекс (www.yandex.ru);
Рамблер (http://www.rambler.ru/);
Google (http://www.google.ru/);
Поиск@mail.ru (http://search.mail.ru/);
Lycos (http://www.lycos.com/);
Yahoo (http://www.yahoo.com/) и др.
Также ссылки на Web-музей опубликованы в каталогах соответствующих поисковых систем. Это означает, что любой пользователь сети Интернета при необходимости может найти и получить доступ к интересующим его ресурсам музея МФТИ, первоначально даже не зная о его существовании.
XVI. Обмен ссылками
Сайт Музея МФТИ «Система Физтеха» полностью интегрирован в портал МФТИ, что позволяет автоматически публиковать основные новости и анонсы музея на центральной странице портала http://fizteh.ru, а также иметь постоянные ссылки на сайт музея со всех сайтов портала в панели навигации. Помимо этого проведена работа по размещению ссылок на других сайтах музейной тематики и собран каталог ссылок на музейные сайты, который расположен по адресу http://museum.phystech.edu/museum/links/. Добавлены ссылки в блогах, посвященных МФТИ, таких как:
— Живой Журнал http://community.livejournal.com/fizteh/,
— WikiPedia
http://ru.wikipedia.org/wiki/МФТИ/.
Работа выполнена в рамках проекта «Музей Физтеха — музей создания и развития Московского физико-технического института» аналитической ведомственной целевой программы «Развитие научного потенциала высшей школы (2006-2008 годы)» [1-5], по результатам которой были выработаны рекомендации и предложения по поддержке и продвижению корпоративного сайта музея института, раскрывающего особенности уникального объекта вуза, являющегося его визитной карточкой и обеспечивающего размещение образов музейных экспонатов в Web’е.
Литература
1. Музей Физтеха: музей создания и развития Московского физико-технического института (государственного университета). Промежуточный отчёт. — М., 2006.
2. Музей Физтеха: музей создания и развития Московского физико-технического института (государственного университета). Промежуточный (годовой) отчёт. — М., 2006.
3. Музей Физтеха: музей создания и развития Московского физико-технического института (государственного университета). Промежуточный отчёт. — М., 2007.
4. Музей Физтеха: музей создания и развития Московского физико-технического института (государственного университета). Заключительный отчёт. — М., 2007.
5. Музей Физтеха: музей создания и развития Московского физико-технического института (государственного университета). Промежуточный отчёт. — М., 2008.
Поступила в редакцию 30.10.2008.