logo search
Gurov_Prodvizhenie_biznesa_v_Internet

Системы управления контентом12

Сайты, предполагающие регулярное размещение информации, как правило, имеют систему управления контентом (англ. Content management system, CMS).Благодаря ей можно минимально использовать помощь внешних технических специалистов.

Среди наиболее важных требований, предъявляемых к CMS,выделим следующие.

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

• Возможность работы со значительными объемами информации без потерь в скорости.

• Возможность поддержки неограниченного количества ресурсов в рамках одной лицензии.

• Система должна выдерживать высокое нагрузочное тестирование.

• Система должна быть гибкой и легко расширяемой.

Для большей части CMSв качестве базового языка программирования используютсяPerl, PythonилиPHP.Все три языка – интерпретаторы (любые изменения ПО осуществляются быстрее и безболезненнее). Рассмотрим наиболее важные их особенности.

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

Python– полноценный объектно‑ориентированный язык высокого уровня. Системы, написанные на нем, отличаются относительно невысокой быстротой действия. Еще одним минусом использования данного языка является то, что в России работают всего лишь около 40–50 специалистов, способных писатьCMSна данном языке. В результате большая часть представленных в настоящее время на рынкеCMSработает в тестовом режиме (в России не существует ни одного коробочного продукта). При использовании мощного сервера система, написанная наPython,выдерживает нагрузку около 5–6 тыс. посетителей в сутки.

PHP– первый язык программирования, спроектированный специально для Интернета. В России достаточно много PHP‑разработчиков, и большинство CMS написаны на нем. В основном используется модификацияPHP4.Однако около полутора лет назад появилась принципиально новая объектно‑ориентированная модификацияPHP5.

PHP5 позволяет создавать приложения в режиме реального времени с использованием последних достижений IT‑менеджмента экстремальное программирование). В то же время это полноценный объектно‑ориентированный язык, что позволяет значительно увеличить скорость разработки за счет повторного использования кода. PHP5обладает обновленными средствами контроля пользовательской активности, намного увеличивающими защищенность построенной на нем системы от действий недружественных пользователей.

В качестве баз данных обычно используются MySQL, PostgreSQL,MSSQL иOracle.

MySQL– является, по мнению автора данной книги, наихудшим среди перечисленных решений (из‑за относительно низкой производительности в сложных интернет‑проектах). За использование этой базой данных в отличие от PostgreSQL надо платить.Лицензия MySQLне предполагает использования этой БД в коммерческих целях, однако, поскольку существует возможность установить MySQL свободно, многие провайдеры не обращают на лицензию внимания.

PostgreSQL – наилучшее решение для будущего сайта заказчика. На объемах данных больше чем 4 терабайта (1 терабайт = 1024 Гбайт) PostgreSQL сравним по производительности с MSSQLиOracle.

MSSQLавтоматически подразумевает использование программного обеспеченияMicrosoft.В результате резко увеличиваются аппаратные требования, возрастает стоимость сервера и программного обеспечения (использование лицензионного ПО обязательно).

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

Таким образом, с точки зрения автора, лучшее решение для сложных интернет‑ресурсов в России – это CMS, написанная на PHP5 и использующая в качестве базы данных PostgreSQL(рис. 17).

Рис. 17. Система управления контентом должна иметь интуитивно понятный интерфейс (пример редакторского интерфейса CMS BaseBuild Crystal Fortress).

Еще одно требование к CMSсвязано с необходимостью решить проблему работы сайта при больших нагрузках. Поскольку посещаемость ряда интернет‑ресурсов может составлять тысячи и даже десятки тысяч посетителей в сутки, данная задача очень актуальна. В настоящее время есть два решения – использовать кэширующие механизмы или HTML‑конвертер.

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

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