Crisis-Care.ru

Crisis-Care.ru

     
     
     

(495)755-2005

Выбор системы управления для сайта

 Сегодня на рынке «сайтостроения» работают компании и специалисты, предлагающие пользователям огромное количество различных CMS («движков», систем управления контентом). Обычно каждая компания специализируется на работе с какой-то одной конкретной системой, иногда — бесплатной и распространяемой свободно, иногда — коммерческой или «своей», права на распространение которой принадлежат компании. Естественно, каждый разработчик старается в наиболее выгодном свете представить ту систему, с которой работает, стараясь умолчать о недостатках и не вдаваясь в детали сравнения различных систем. Это понятно, ведь одной идеальной системы нет и не может быть, как не существует идеальной женщины или идеального автомобиля. Выбор того или иного решения всегда определяется конкретными условиями и задачами, а признание слабости своих инструментов равнозначно потере заказчика.

Прежде чем обратиться к разработчикам, предлагаю вам очень кратко сравнить основные варианты, предложенные на рынке.

 

Для начала — что же такое движок, система управления, CMS?

С точки зрения пользователя это сайт, который дает возможность управлять публикацией материалов различного типа (тексты, графика, видео, флеш-ролики и т.д.) силами обычного пользователя ПК, а не веб-программиста или системного администратора, имеет дополнительные интерактивные модули — блоги, форумы, чаты, опросы, системы голосования и интернет-каталоги...

С точки зрения внутренней структуры CMS — набор программ на языке php, выполняемых сервером, файлы с описанием внешнего вида и настроек, элементы графического оформления. Большая часть информации — материалы, информация о пользователях, сообщения форума и т. д. - хранится в базе данных (чаще всего MySQL), также работающей на сервере. Когда пользователь вводит в адресную строку браузера запрос, информация отправляется на сервер, на котором установлен сайт, основная программа (обычно скрипт index.php) обрабатывает его, выполняет запросы к базе данных, запускает другие скрипты, считывает фрагменты шаблонов страниц, графические элементы и формирует страничку, которая и отправляется пользователю.

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

Чем отличаются друг от друга системы управления?

Основные различия между системами управления можно выделить по нескольким критериям:

  • Для какого направления изначально спроектирована система. Системы управления бывают двух основных видов — специализированные, рассчитанные на выполнение конкретных задач в определенной области (интернет-магазин, блоги, новостные порталы) и универсальные, которые могут решать практически любые задачи в любых сочетаниях, но для этого требуется их доработка, часто существенная. Первые значительно лучше и надежнее выполняют узкий круг задач «из коробки», но необходимость расширения их задач может заставить отказаться от этого варианта, делая доработку экономически неоправданной. Универсальные системы решают потенциально бесконечно широкий круг вопросов, но, как это обычно бывает, изначально делают это поверхностно, так что для доработки требуется приобретение специализированных модулей, тонкая настройка или программирование.

  •  

    Возможности расширения дополнительными модулями и изменения кода.

Наиболее широкими возможностями подключения дополнительных модулей, как бесплатных, так и платных, обладают распространенные открытые CMS, такие как Joomla, WordPress, Drupal и ряд других. Причина заключается в том, что эти системы популярны, установлены на многих сайтах. Дополнения к ним пишет огромное количество разработчиков и, даже если заказчиком разработки является компания, которая платит деньги за разработку, часто решение распространяется свободно, так как это открывает широкие возможности для изучения, тестирования, внесения новых идей, а это в конечном итоге заметно улучшает конечный продукт.

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

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

  • Возможности администратора и пользователей.

  • Системные требования. Обычно CMS не привязаны к конкретной аппаратно-программной платформе, за исключением ряда специализированных решений. Наиболее распространенными требованиями являются наличие обработчика php, СУБД MySQL или аналогичная, возможность управления правами доступа к файлам и папкам. Решения, удовлетворяющие этим требованиям, существуют для всех популярных платформ — Windows, Linux/BSD, MacOS... Для работы небольшого сайта может быть достаточно простого сервера или домашнего компьютера, но для крупных проектов используются специально проектируемые платформы, включая серверы, операционные системы, каналы связи.

  • Масштаб и нагрузка.

При увеличении количества одновременных запросов к сайту, а также по мере роста его популярности, повышается нагрузка на сайт, как полезная (пользователи), так и злонамеренная (DoS/DDoS атаки, сканирование портов, поиск уязвимостей, атака отдельных модулей). Этот фактор необходимо учитывать на ранних стадиях разработки, при выборе системы управления и функционала сайта, которые влияют на выбор конфигурации серверов, операционных систем, проектирование каналов связи. В случае создания сайта, рассчитанного на работу одновременно большого числа пользователей, система управления должна изначально иметь механизмы защиты от перегрузки и некоторых видов атак, иметь высокостабильный и «быстрый» код, быть «прозрачной» настолько, чтобы поиск уязвимых мест занимал минимум времени. Этим требованиям в лучшей степени соответствуют специализированные решения и большинство открытых свободно распространяемых систем. Последние, будучи полностью доступными как специалистам по безопасности, так и злоумышленникам, непрерывно тестируются, все обнаруженные уязвимости оперативно исправляются. На открытых системах работают интернет-сайты самого разного масштаба, от домашних сайтов школьников до крупных порталов, поэтому разработчики ведут активную работу по повышению их «стрессоустойчивости».

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

 

С какими системами мы работаем?

 

Joomla

Очень широко распространенная система. Имеет обширные русское и международное сообщества, помогающие решить большинство возникающих проблем. Система рассчитана на установку и сопровождение специалистами самого разного уровня. В простых случаях, когда «глубокий тюнинг» системы не требуется, специалист может не пользоваться языками php и html, получая доступ к большинству функций и настроек системы непосредственно через административную панель сайта. Внешний вид сайта может меняться совершенно произвольно. В стандартной поставке предустановлены модули для выполнения типовых задач — публикации статей и новостей, рейтинг, голосование и пр.

На сегодняшний день существует две ветви системы — Joomla 1.0 и Joomla 1.5. Версия 1.0 не развивается, но является очень стабильной и безопасной, в нее вносятся только дополнения и изменения, исправляющие обнаруженные ошибки и уязвимости. Версия 1.5 активно развивается.

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

 

Drupal

Еще одна популярная универсальная система, ориентированная в первую очередь на создание сайтов, предназначенных для общения (блогов, форумов, средств коллективной разработки), не исключая и более широкого использования. По распространенности сравнима с Joomla, но имеет ряд существенных отличий. Пользователю сразу бросается в глаза отсутствие административной панели управления как таковой. Пользователь, имеющий права администратора, получает доступ к расширенному меню в рамках основного интерфейса сайта. Права пользователя Drupal штатными средствами определяются очень гибко, можно ограничить доступ пользователей и групп пользователей к любым элементам сайта.

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

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

Еще одним концептуальным отличием от Joomla является произвольная глубина и сложность иерархии материалов, объединяемых системой таксономии. Вообще работ с материалами является сильной стороной Drupal, который обладает широким набор свойств при построении рубрикаторов, обладает гибкими возможностями поиска и структурирования материалов любых типов.

Наличие таких модулей, как CCK (Content Construction Kit) и Views позволяет классифицировать Drupal не только как CMS, но и как CMF (Content Management Framework) — инструментарий разработки систем управления контентом.

В целом Drupal предоставляет очень широкие возможности, но требует высокой квалификации разработчиков.

 

Wordpress

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

 

Что же в итоге?

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

Поэтому необходимо ответить на вопросы, приведенные в статье, и сделать разумный выбор, прежде чем приступать к детальной проработке проекта. Надеюсь, это краткое описание сможет помочь вам.