Свежий номер №36 (365) / Новый сайт "Компьютерры" Афанасий Терентьев, afanasy@individ.ru, 18.10.2000 Новый сайт «Компьютерры-онлайн», разработанный компанией Individ (ранее — студия «РусАрт»), вызвал неоднозначную реакцию как у посетителей, так и у самих сотрудников Издательского дома. И по ту, и по другую сторону сервера есть как сторонники новой Web-системы, так и оппоненты, не приемлющие ее в принципе. В этой статье мы попытаемся рассказать о том, как создавался этот проект и каким мы задумали его при проектировании. Ну а что у нас получилось — судить вам, читателям и посетителям сайта. Прежде всего, несколько слов о том, чем была продиктована необходимость коренной реконструкции сайта. По адресу www.computerra.ru всегда располагался, вероятно, один из самых популярных и демократичных отечественных компьютерных сайтов. Его последняя версия была создана около двух лет назад студией Артемия Лебедева. В свое время дизайн и программные сервисы сайта «Компьютерры» были одними из лучших в Рунете. Однако в Сети месяц идет за год, технологии постоянно изменяются, количество посетителей информационных ресурсов и их требования стремительно растут, и некогда действительно функциональный сайт «Компьютерры-онлайн» в настоящее время полностью исчерпал себя, просто-напросто технически и морально устарев. Что же нового появилось на сайте благодаря реконструкции? Начнем с того, что видно и понятно всем и по поводу чего разгорелось, вероятно, наибольшее число споров в форумах и чатах — с дизайна сайта. Следуя последним тенденциям построения информационных порталов, мы заменили прежний дизайн, созданный для экзотического ныне разрешения 640х480 точек, на так называемую эластичную верстку. Теперь сайт в окне браузера независимо от разрешения занимает все доступное место — ни одного пиксела не пропадает впустую, все пространство максимально насыщено информацией. Сначала, возможно, это будет кого-то раздражать. Но, поверьте, информационная структура сервера продумана очень тщательно, и вопросам usability мы уделили самое пристальное внимание. И после того, как вы привыкнете пользоваться новым сайтом, вам будет действительно удобно находить всю необходимую информацию. Ведь, купив, скажем, новый кухонный агрегат, вы тоже не сразу понимаете что к чему, зато потом нажимаете кнопки не глядя. Несомненным достоинством дизайна сайта, на наш взгляд, является и его относительная «легкость» для такой высокой информационной насыщенности страниц. Везде, где только можно, мы старались отказаться от использования графических элементов, заменяя их текстовыми. Результат налицо: первая страница сервера вместе с банерами «весит» около 100 Кбайт. Но дизайн — это лишь 10% от всей работы по созданию сервера. Создание и поддержка сайта такого уровня сложности была бы просто невозможна с применением традиционных Web-технологий и способов актуализации контента. Нынешняя Web-система просто насыщена новейшими технологическими решениями, объединенными в рамках пакета программных сервисов Saitistika. Software v.1.0, являющегося комплексным средством создания и поддержки крупных онлайновых средств массовой информации. Перед большими информационными ресурсами типа «Компьютерры-онлайн» и ее дочерних сайтов стоит ряд непростых задач. Во-первых, необходимо обеспечить простоту процесса наполнения сайта контентом, причем желательно, чтобы это делали сами авторы. Однако публикация материала или новости в онлайновом журнале — это довольно сложная процедура. Ни один материал или новость не может попасть на сайт без предварительной проверки редакторами и корректорами. Таким образом, система публикации сайта должна обеспечивать своеобразный внутриредакционный workflow. Все эти требования и были взяты нами за основу при проектировании центрального компонента пакета Saitistika.Software — Saitistika.Publish, онлайнового приложения, предназначенного для публикации материалов на сайте и полной поддержки и управления всем, что на нем есть: от публикации и редактирования лент материалов и новостей, до управления всеми интерактивными сервисами. Безусловно, заявленные требования могут быть обеспечены только путем выноса всего интерфейса системы публикации в браузер и создания развернутой системы разграничения прав работающих с ней. В Saitistika.Publish любой автор «Компьютерры» имеет возможность попасть, просто набрав URL системы публикации в адресной строке браузера Microsoft Internet Explorer. Здесь ему становится доступным собственно интерфейс для создания материалов. Пользоваться им может любой человек, имеющий хотя бы минимальный опыт работы с Microsoft Office. Дело в том, что автор создает свой материал или новость непосредственно в окне браузера, в привычном визуальном редакторе, генерирующем HTML-код статьи и позволяющем иллюстрировать ее графикой, таблицами и схемами. Следующим важным требованием к любому большому информационному сайту является простота поддержки, гибкость и масштабируемость его структуры. Иными словами, в идеале хозяин сайта должен иметь практически неограниченную возможность, не прибегая к помощи разработчика, быстро и просто создавать, редактировать, объединять новые информационные ленты, новые разделы сайта, а также любые интерактивы: чаты, форумы, конференции, гостевые книги. Такая гибкость в работе с сервером достигается только на основе полного разделения информации, имеющейся на сайте, и его дизайна. Наиболее современным и перспективным решением этой задачи выступает, на наш взгляд, применение XSL/XML-технологии. Все информационное наполнение сайта от текстов до графики и содержимого форумов и чатов хранится во взаимоувязанной многотабличной базе данных отдельно от также хранимых в базе данных XSL-шаблонов страниц сайта и собственно структуры сервера. Вообще весь сайт можно представить как набор особых объектов: разделов, новостей, материалов. Объекты организованы иерархически. Для каждого типа объектов определяются шаблоны. Они определяются для всего сайта, но могут быть переопределены для подразделов. Шаблоны страниц сайта представляют собой либо статические HTML-файлы, либо XSL-шаблоны и фактически задают, как и каким образом внешне представляются на сайте различные типы информации, и соответственно определяют, какое HTML-форматирование в конечном счете к ним применяется. Получается как бы своеобразная таблица стилей для представления данных. Поэтому для изменения внешнего вида раздела или подраздела в Saitistika.Publish достаточно элементарного редактирования шаблонов, которое может выполнить любой средней квалификации Web-мастер, имеющий начальные познания в области XML/XSL и HTML. Кроме того, редактирование шаблонов того или иного раздела также приводит к автоматической перегенерации соответствующих шаблонов в дочерних подразделах этого раздела, что позволяет значительно упростить весь процесс. Наглядным примером, иллюстрирующим работу с описанной технологией, служит структура информационного пространства ИД «Компьютера», фактически представляющая собой несколько сайтов разных изданий, объединенных общей шапкой и единым дизайнерским решением. При этом создание нового сервера для очередного издания не является особо трудоемким процессом. Новые серверы можно просто «клонировать» на основе общих шаблонов и структуры, пользуясь исключительно интерфейсом Saitistika.Publish. Еще одной проблемой, стоящей перед большим информационным сайтом, является эффективная и быстрая работа при большом наплыве посетителей. Прежний сайт «Компьютерры-онлайн» в свое время предложил действительно новаторский подход к решению проблемы динамического и оперативного представления информации. Все его страницы динамически собирались «на лету» специальными CGI-скриптами. С одной стороны, это позволило значительно упростить и ускорить работу по поддержке мощного информационного ресурса, автоматизировав процесс создания сложных страниц с постоянно изменяющимся информационным наполнением, оглавлениями разделов и т. п. Однако с другой — привело к существенному повышению нагрузки на Web-сервер. Ведь при сборке каждой страницы одновременно запускались сразу несколько процессов исполнения скриптов… А если серверу приходилось собирать одномоментно десятки страниц для десятков пользователей, он мог и вообще не справиться со своей задачей. Внешне это проявлялось в таких знакомых многим посетителям старой «Компьютерры-онлайн» томительных минутах ожидания появления сайта на мониторе. Для решения этой проблемы мы избрали технологию, ныне используемую, вероятно, большинством крупнейших американских и европейских информационных порталов. Весь сайт «выложен»… в виде обычного HTML-кода. Секрет здесь в том, что этот код специальным образом предгенерируется при каждом изменении информационного наполнения сайта, а то, что выдается посетителю Web-сервером, собирается из заранее сгенерированных статичных файлов с помощью ставшей уже традиционной SSI-технологии. Архитектурно система устроена следующим образом (см. схему внизу). Механизм генерации реализован в виде сервиса на платформе Windows 2000. Система управления извещает его о том, что произошло изменение контента. Сервис собирает информацию в базе данных обо всем, что изменилось, и запускает предгенерацию. Авторы, редакторы, дизайнеры сайта работают через интерфейс Saitistika непосредственно с базой данных, в которой и хранится весь контент сайта. Через систему генерации это наполнение попадает на Web-сервер в виде обычных HTML-файлов и файлов изображений, CSS-таблиц и некоторых других специальных файлов. Посетители, в свою очередь, взаимодействуют с сайтом через особую, дополненную версию Web-сервера и набор специальных сервисов, которые оперативно реагируют на их действия и по мере необходимости производят соответствующие операции с базой данных. Безусловно, нагрузка сервера при выдаче посетителям простых HTML-страниц не может идти ни в какое сравнение с поистине гигантскими нагрузками, возникающими при динамической сборке страниц «на лету». Кстати, отдельно хотелось бы остановиться на программно-аппаратном решении, использованном при создании информационного пространства сайта «Компьютерры-онлайн». Оригинальность предложенного решения заключается в том, что Web-система работает одновременно на двух серверах, причем речь идет как о программах-серверах, так и о «железных» машинах. Собственно, вся директорная структура сайта, все те HTML-файлы, графика и прочее, что выдается для просмотра посетителям, располагается на машине под управлением операционной системы FreeBSD 4.0 и изрядно модифицированного прикомпилированными к нему модулями Web-сервера Apache1.3.12. Эта часть системы работает на двухпроцессорной машине 2xP III 600/256 RAM/RAID-1 — 2xHDD SCSI 10000RPM. Вся же «кухня» сервера расположена на другом компьютере (2x PIII 750/1024 RAM/RAID-5 — 36 Гбайт), работающем под управлением Microsoft Internet Information Services и Windows 2000. На этой машине происходит вся основная жизнь бэк-офиса сайта. Здесь расположено и сердце сайта — база данных под управлением MS SQL Server 7.0. Преимущества описанного решения, на наш взгляд, очевидны. Система собрана из простых модулей, вместе создающих сложную функциональность, что позволяет, с одной стороны, повысить ее надежность, а с другой — упростить диагностику сбоев. Кроме того, независимость модулей и общение их между собой по стандартным протоколам существенно увеличивает возможности масштабирования системы. Например, даже в том случае, если нагрузка на Web-систему возрастет в тридцать раз, никакой коренной реконструкции не понадобится! Необходимо будет просто установить в серверной еще одну машину под управлением Windows 2000. Каждый современный сайт немыслим без широкого спектра интерактивных сервисов. Практически все виды этих сервисов представлены на сайте «Компьютерры-онлайн» и соответственно реализованы в рамках пакета Saitistika.Software. Интересной особенностью интерактивных сервисов, входящих в состав Saitistika.Software — Saitistika.Chat, Saitistika.Forum, Saitistika.Guestbook, Saitistika.Conference, — является то, что все их информационное наполнение (сообщения пользователей в форумах, логи чатов и т. д.) хранится в базе данных сайта, а управление ими интегрировано в компонент Saitistika.Publish. Благодаря такому решению, администратор сайта может не только выполнять обычные «полицейские» функции в отношении интерактивов, такие как очистка от нежелательных сообщений, запрещение ников и IP-адресов хулиганов, но и самостоятельно создавать в любом количестве новые интерактивные сервисы всех видов, ассоциировать некоторые их них, например конференции, с информационным наполнением сайта (скажем, создавать конференции для обсуждения конкретных материалов сайта). И в заключение хотелось бы сказать следующее. Сегодня, когда новый сайт зачастую подвергается жесткой и не всегда, на наш взгляд, обоснованной критике, уместно вернуться к истории двухлетней давности. Вспомните, сколько копий было сломано вокруг старого сайта и в чем только ни обвиняли разработчиков. История повторяется вновь. И дело тут не в том, что кому-то нравится новый сайт, а кому-то нет. Просто мы с вами наблюдаем парадоксальный процесс, когда, казалось бы, вполне продвинутые посетители сайта не могут или, скорее, не хотят принять новое и отказаться от своих консервативных убеждений. Об этом, кстати, написал и зам. главного редактора «Компьютерры» по онлайн Роман Косячков в статье «Интернет с человеческим лицом», сравнив психологическую реакцию определенной группы посетителей на реконструкцию сайта с реакцией пользователей на переход от интерфейса Norton Commander к графическому интерфейсу Windows. И все же мы надеемся, что новое информационное Web-пространство ИД «Компьютерра», обустроенное силами нашей компании и сотрудников издательского дома, станет для вас таким же любимым и уютным виртуальным жилищем, как и прежнее.
|