Архивы: по дате | по разделам | по авторам

Portal combat

Архив
автор : Евгений Васильченко   18.10.2000

Взгляд первый

Честно говоря, никогда не думал осваивать ремесло Web-мастера. У системного администратора большой компании всегда хватает забот, вопреки предвзятому мнению, что хороший сисадмин должен сидеть и курить бамбук: мол, у него и так «все должно само». О том, что создается новый сайт, я узнал, наверное, позже всех в «Компьютерре». Сижу в серверной, никого не трогаю, OpenLDAP на FreeBSD прикручиваю, а тут заходит Андрей Шипилов и говорит, что, мол, пора бы серверов купить хороших для нового сайта «Компьютерры-онлайн». Он поведал мне, что ярославская компания «Индивид» написала для нашего сайта принципиально новый движок. Да не просто очередной «набор скриптов для создания Вашего кучерявого сайта»(© не мой), а, судя по описанию, настоящий workflow с Web-интерфейсом, средство групповой работы для создания, управления и наполнения сайта содержанием. А когда я узнал, что все это будет работать на стыке технологий Unix, Windows NT и реляционных баз данных, я уже просто не мог отказать себе в удовольствии поучаствовать в этом деле. Хотите узнать, что там, по ту сторону URL www.computerra.ru?

Движков для построения сайтов написано великое множество, однако, сколько я себя помню, в «Компьютерре» всегда витала идея создания собственной системы документооборота для подготовки бумажных изданий. Правда, с документооборотом для бумажной «Компьютерры», видимо, придется еще побороться, а вот с онлайновыми изданиями ситуация в корне изменилась. Идея, несомненно, хороша: сделать наполнение сайта информацией результатом работы коллектива редакторов и авторов. Ведь практически везде последней инстанцией между автором/редактором и сайтом является Web-мастер — человек, много раз на дню запускающий FTP-клиент для того, чтобы влить на сайт очередной материал, подправить зашаливший скрипт или навести красоту в HTML-документе. Я более чем уверен, что большинство сайтов Рунета и мира работают именно по такой схеме. А ведь на любом предприятии есть то, что называется технологическим процессом, — в нашем случае это цепочка прохождения информации от автора до бумаги или до странички на сайте. Разработка «Индивида» подкупила меня тем, что здесь все совершенно иначе. Эта система — практически полноценный workflow, позволяющий эффективно организовать технологический процесс создания информационного наполнения, плюс мощная система менеджмента сайта в целом. Давайте разберемся, что же умеет делать наш новый движок.

Основная идея — дать возможность пользователям системы самостоятельно готовить и публиковать материалы на сайтах портала. При этом сохраняется вся цепочка подготовки материала: автор — редактор — корректор — сайт. Это достигается назначением пользователю соответствующих прав доступа, проще говоря, его участием в тех или иных группах пользователей, например: авторов, редакторов, корректоров и т. д. Управляя членством в группах (которые администратор системы может создавать по своему усмотрению), можно очень гибко регулировать возможности работы каждого из пользователей системы. Автор может войти в систему и создать материал или новость в визуальном редакторе либо вставить в редактор материал, подготовленный в формате HTML, или же просто текст. Пользователь с правами редактора может опубликовать этот материал на сайте или отправить его автору на доработку. Администраторы могут создавать и удалять сайты и их разделы, интерактивы типа форумов и чатов, настраивать шаблоны, определяющие внешний вид сайта, управлять группами пользователей, их правами доступа в системе и учетными записями. Есть мощные функции поиска материалов и новостей, их создания и удаления, управления пользователями, разделами сайта и интерактивами. Конечно, в системе еще многое предстоит улучшить и доделать, но на данный момент могу уверенно сказать, что более мощной системы управления сайтами я нигде не видел.

На чем все это реализовано? Система обладает широкими возможностями и поэтому не может быть простой. Ее ядром является система публикации и менеджмента структуры сайта. Все данные о структуре сайта и его контент (включая картинки) хранятся в единой базе данных MS SQL Server. Технически система Saitistika.Publish — это ISAPI-приложение, работающее под Internet Information Server 5.0. Его задача — ввод и менеджмент информации, находящейся в базе данных, обеспечение интерфейса с пользователем в соответствии с правами доступа.

Какой тип интерфейса используется? Интернет всемогущ и вездесущ, и, конечно же, это Web-интерфейс. Работа с системой публикаций возможна из любой точки Сети — был бы под рукой браузер. Честно говоря, пока тут есть один недостаток: система публикаций работает только с Microsoft IE v.4–5. Тем не менее, лично я не склонен считать это таким уж вопиющим недостатком: система публикации не предназначена для публичного доступа. В качестве платформы для работы системы и базы данных была выбрана Windows 2000 Server, а в качестве СУБД — соответственно Microsoft SQL Server 7. С выбором Web-сервера для работы системы публикаций тоже не было проблем: Web-сервер Microsoft IIS 5.0 входит в поставку Windows 2000 Server и прекрасно интегрирован с операционной системой и SQL Server. Почему именно эти продукты? ОС Windows 2000 Server — отличный сервер приложений с развитыми средствами управления, в том числе удаленного. Это очень важно для системы, которая физически должна находиться на технической площадке провайдера.

Я уже достаточно рассказал о той стороне нашего нового сайта, которая не видна посетителям из Интернета. Пора перейти к «верхушке айсберга». Чтобы картина движка была полной, нужно рассказать о том, что стоит непосредственно за сайтом и как внешняя и внутренняя части системы взаимодействуют между собой. На сервере www.computerra.ru работает FreeBSD 4.0. Почему не Linux? Сейчас я опять кого-нибудь обижу: я не люблю Linux и считаю FreeBSD в качестве Интернет-сервера идеальной платформой. До определенных пределов, конечно. У FreeBSD есть многие качества хорошей Unix-системы и, прежде всего, стабильность. Кроме того, огромное количество продуктов по лицензии GNU разрабатывается и отлаживается именно на FreeBSD. Я считаю разговоры о том, что Linux безраздельно царствует на рынке бесплатных Unix-систем, несколько преувеличенными. ОС FreeBSD очень хорошо зарекомендовала себя за годы использования ее в Издательском доме в разных ролях — почтового сервера, firewall, DNS, Samba-server и прочего.

В качестве Web-сервера для сайта используется старый знакомый — индеец из племени Apache, а именно Russian Apache 1.3.12. Объяснять, почему, видимо, не нужно: этот Web-сервер установлен на 85% сайтов российского Интернета. Он относительно прост в конфигурировании, а его производительности могут позавидовать многие коммерческие Web-серверы. Кроме того, можно расширить его функции за счет дополнительных модулей.

Самое интересное во всем этом — взаимодействие программных продуктов и систем. Как вы уже поняли, наш сайт — это не один физический сервер, а два. Первый трудится под управлением Windows 2000 Server, а второй — под FreeBSD. Подготовка материалов в системе, ее менеджмент происходят на первом сервере, а собственно сайт «Компьютерры» (а теперь и других онлайновых изданий) вы получаете со второго. Обе машины ведут между собой непрерывный диалог. Для этого на них установлено специальное программное обеспечение, разработанное компанией «Индивид», — системные сервисы со стороны Windows 2000 и дополнительные модули для сервера Apache на Unix. Не буду вдаваться в тонкости их работы и подробности протоколов обмена данными, назову лишь основные задачи, выполняемые модулями и сервисами. Одна из самых главных — это генерация HTML-файлов на Unix-сервер в соответствии с действиями пользователей системы публикаций. Этот процесс инициируется при создании материалов и новостей, создании, удалении и менеджменте разделов сайта и интерактивов. Изменения в базе данных, сделанные через интерфейс Saitistika.Publish, отражаются на Unix-сервере (на соответствующих сайтах) практически немедленно. Вторая важная задача для сервисов и модулей Apache — обеспечение работы сайтовых интерактивов (чатов, форумов, конференций, опросов), работа счетчиков посещений. Абсолютно все, что происходит на сайтах, отражается в базе данных. Посещения страниц, клики по банерам, посылка информации в форумы и конференции, регистрация и даже разговоры в чатах.

Нужно немного рассказать и о том, как все-таки происходит преобразование информации из базы данных в формат HTML. Объекты в базе данных (материалы, новости, разделы, интерактивы) при извлечении информации из базы преобразуются в формат XML со специальной структурой, и затем эти данные обрабатываются XSL-процессором. На языке XSL написаны все шаблоны, определяющие внешний вид сайта и работу его разделов. Существуют мастер-шаблоны, определенные для всех видов интерактивов и разделов сайта. Они описаны на уровне корневого раздела каждого сайта и автоматически наследуются всеми вновь создаваемыми разделами. Впрочем, всегда есть возможность переопределить любой из унаследованных шаблонов для любого раздела. Код мастер-шаблонов также можно переопределить в любой момент, и эти изменения затронут все разделы сайта, где используется этот шаблон. Первоначально генерация HTML-документов производилась на разделяемые диски через сервер Samba, установленный на Unix. Но впоследствии специалисты из «Индивида» нашли более эффективный способ переноса HTML-файлов на Unix-машину — генерацию файлов непосредственно через протокол HTTP.

Желая максимально ускорить доступ пользователей к нашим серверам из любой точки российского Интернета, мы изменили их точку хостинга. Было найдено место, максимально близкое к M9 (за стенкой) и, что самое главное, располагающее высокоскоростным (100 Мбит/с) подключением к оборудованию точки M9. Теперь наши Web-серверы расположены на технической площадке провайдера SpaceNET в Институте космических исследований. Это значит, что от любого пользователя российского Интернета до нашего Web-сервера, как правило, не более восьми переходов (хопов).

Система в целом содержит много интересных технологических решений. Это и хорошо, и плохо одновременно. Наши постоянные посетители заметили, что первые недели работы нового сайта не отличались особой стабильностью. Это не было связано с просчетами в движке сайта — просто отдельные компоненты потребовали дополнительной настройки и доработки для устойчивой работы в условиях реальной эксплуатации.

Могу уверенно сказать, что период «обкатки» движка почти завершен, портал заработал стабильно. Сейчас устраняются обнаруженные ошибки, дорабатывается интерфейс, наполняются содержимым сайты, которые пока закрыты для публичного доступа.

Многое еще предстоит доделать и улучшить. Вы спросите, так почему же эта статья называется «Portal Combat»? Все очень просто. Это мое личное ощущение (слегка ироничное) от всего, что происходит в последние недели вокруг нового портала «Компьютерры»…

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.