Научная статья на тему 'Web-представительство музея МФТИ'

Web-представительство музея МФТИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
88
14
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Web-представительство музея МФТИ»

УДК 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 разрабатывалась с возможностью действовать одновременно на нескольких серверах, использующих одно и то же содержимое. При этом и посетители, и редакторы, и администраторы сайтов чувствуют себя так же, как если бы работали на одном, но очень мощном сервере.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

При изменении информации на одном из серверов с него посылается уведомление остальным участникам «кольца», поэтому на каждом из серверов отображается только актуальная информация.

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.

i Надоели баннеры? Вы всегда можете отключить рекламу.