рус | en | укр
 

Образование

Факультет: Вычислительной техники и информатики
Специальность: Программное обеспечение автоматизированных систем
Тема выпускной работы: Повышение эффективности функционирования CMS
Научный руководитель: к.т.н, с.н.с Андрюхин Александр Иванович

Введение

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

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

CMS разделяет сайт на две составляющие: дизайн (внешний вид сайта в целом, отдельных страниц, конкретных блоков информации) и содержимое (контент). Дизайн сайта содержится в шаблонах и изменяется значительно реже, чем контент.

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

Одними из наиболее распространенных cms, на основе которых можно создавать функциональные и легко управляемые сайты без серьезных финансовых затрат являются Drupal, Joomla,WordPress, TYPO3 а также недавно появившеяся Oxite.

Актуальность:

Ознакомившись с понятием, CMS стало понятно, что в данный момент времени это стремительно развивающаяся область. На данный момент уже очень много сделано в различных CMS, но все же остается еще огромное количество проблем. Из них можно выделить следующие: недостаточный функционал, невозможность работы в кластере, невозможность работы нескольких сайтов одновременно, дыры в безопасности. Таким образом, нужно сказать об актуальности этой отрасти, развивать ее необходимо, причем прямо сейчас. Если качественно решить все изложенные проблемы, то можно получить CMS, которая бы удовлетворяла 50% сайтов которые сейчас находятся в интернете. Программистам не нужно было бы тратить время на написание стандартных кусков сайта такие как авторизация, редактирование информации и т.д. Было бы необходимо разобраться в CMS а дальше же просто отимизировать ее под себя, и то только в тех случаях, где это было бы необходимо. Безусловно невозможно создать CMS которая бы покрывала весь класс задач, но а вот которая покрывает частично – можно, чем и занимаются разработчики со всего мира.

Цели и задачи:

После того как стало понятно что данная тема выпускной работы сейчас очень актуальна, необходимо было приступать к работе. Основные цели и задачи которые возникли, заключались в том, чтоб изучить все наиболее известные CMS, выделить в каждой из них положительные и отрицательные моменты. Оценить возможность решения этих проблем. Потому что не каждую проблему можно решить, не повлияв на другой вопрос. Хорошим примером может послужить CMS 1С-Битрикс в которой содержится огромный функционал, который очень серьезно тормозит производительность сайта. Последним же шагом является построение модели, которая бы решала все возможные задачи.

Предпологаемая научная новизна:

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

Планируемые практические результаты:

Самой основной задачей хотелось бы придумать такую алгоритмически решаемую модель, которая бы обеспечивала решение всех задач по повышению эффективности сайтов. Придумав и реализовав такую модель, можно было бы ее постепенно наполнять функционалом. Самое главное в такой модели, получить максимально полный функционал, части которого полностью не зависели друг от друга. Таким образом, мы смогли бы настраивать сайт конкретно для нашего приложения, экономив на времени загрузки и обработки страницы, а также на размере сайта. Решив эту проблему а также добавив возможность добавления плагинов, мы получили бы CMS которую может развивать все и каждый. В качестве примера можно обратить внимание на компанию Mozilla Foundation, которая выпустила браузер FireFox. Достоинство этого браузера заключается в том, что каждый добавляет в нее только тот функционал, который необходим. Это в свою очередь обеспечивает оптимальную работу браузера.

Обзор CMS

Drupal:

Drupal представляет собой систему управления сайтом, написанная на языке PHP и использующая в качестве хранилища содержания реляционную базу данных (поддерживаются MySQL, PostgreSQL, а также любые СУБД поддерживаемые библиотекой PEAR). Drupal является свободным программным обеспечением защищённым лицензией GPL и создаётся усилиями энтузиастов со всего мира. Начал разработку голландец Dries Buytaert, который и поныне является руководителем проекта.

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

Наиболее важные функции предоставляемые модулями входящими в поставку Drupal:

Joomla:

Joomla — система управления содержанием, написанная на языке PHP и использующая в качестве хранилища содержания базу данных MySQL. Joomla является свободным программным обеспечением, защищённым лицензией GPL. Одной из главных особенностей Joomla является относительная простота управления при практически безграничных возможностях и гибкости при изготовлении сайтов.

Joomla является ответвлением широко известной Mambo CMS. Команда независимых разработчиков отделилась от проекта Mambo по причине несогласия в экономической политике. И 16 сентября 2005 года в свет вышла первая версия Joomla, являющаяся по сути переименованной Mambo 4.5.2.3 и включающая в себя исправления найденных на тот момент ошибок и уязвимостей. Разработчики обещают, что к выходу версии 2.0 движок будет полностью переписан и адаптирован под PHP 5.

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

WordPress:

WordPress — CMS c открытым исходным кодом, распространяемая под GNU GPL. Написан на PHP, в качестве базы данных использует MySQL. Сфера применения — от блогов до достаточно сложных новостных ресурсов. На сегодняшний день Wordpress — самая популярная система для ведения блогов.

Возможности:

TYPO3:

Одним из наиболее мощных представителей CMS с открытым исходным кодом является система TYPO3. Эта система достигла наиболее высокого профессионального уровня, очень универсальна и легко изменяема в зависимости от применения. Разработка TYPO3 начата 1998 году датским программистом Каспером Скархей. Сейчас TYPO3 распространена во всем мире. TYPO3 интенсивно развивается: ежегодно выпускаются 2 новые версии системы, активно работает TYPO3 Ассоциация. Как и многие другие системы с открытым исходным кодом, TYPO3 распространяется под бесплатной лицензией GPL и свободно доступна через интернет.

Основные возможности:

Сравнение CMS

Рассмотрим CMS Drupal, Joomla, Wordpress, TYPO3 по следующим основным характеристикам:

Версии/безопасность:

Русская документация:

Борьба со спамом:

Интеграция с форумом:

Визуальный редактор:

Шаблоны оформления:

Расширенная функциональность (плагины) :

Производительность:

Ниже приведено тестирование производительности наиболее используемых cms Joomla 1.5 и Drupal 6.1. Результаты тестирования быстродействия cms приведены на рисунках 1.1и 1.2

Характеристики быстродействия Joomla и Drupal
Рис. 1.1 Характеристики быстродействия Joomla и Drupal
Сравнение быстродействия Joomla и Drupal
Рис. 1.2 Сравнение быстродействия Joomla и Drupal

Drupal значительно быстрее Joomla во всех четырёх инсталляциях. Скорость загрузки Drupal улучшается на ~74%, при включенном кэше и без установленных модулей. Если же стоят дополнительные модули, то включение кэша улучшит быстродейсвие системы на ~86%. Кэш поможет улучшить быстродейсвие Joomla на ~23% и на ~20% (с дополнительными компонентами).

Далее представлены результаты тестирования производительности рассматриваемых cms на виртуальном веб-сервере. Тестирование проводилось на следующей конфигурации: Architecture: x86    CPU: 3.0Ghz    RAM: 512Mb    OS: Debian GNU/Linux , kernel 2.6.22-3-686

Для всех cms загружпемая страница содержала меню, форму ввода, текст общим размером 40Кб. Тестирование производилось для 1, 10 и 20 пользователей. Тестирование проводилось для следующих версий: WordPress 2.6,    Joomla!: 1.5.2,    Typo3: 4.1.6,    Drupal:6.2

В таблице 1.2 и на рисунке 1.3 приведены результаты тестирования для 10 пользователей. Результом является скорость загрузки страниц(milliseconds per page request).

WordPress Joomla Drupal TYPO3
average 261 185 130 233
median 260 184 129 232
min 253 180 127 225
max 311 209 144 248

Таблица 1.2 Результаты тестирования для 10 пользователей
Результаты тестирования для 10 пользователей
Рис. 1.3 Результаты тестирования для 10 пользователей

В таблице 1.3 и на рисунке 1.4 приведены результаты тестирования для 30 пользователей.

WordPress Joomla Drupal TYPO3
average 2093 1510 1118 2039
median 1965.5 1416 1040 1247.5
min 253 181 126 226
max 36422 31591 30999 29138

Таблица 1.3 Результаты тестирования для 30 пользователей
Результаты тестирования для 30 пользователей
Рис. 1.4 Результаты тестирования для 30 пользователей

В таблице 1.4 и на рисунке 1.5 приведены результаты тестирования для 50 пользователей.

WordPress Joomla Drupal TYPO3
average 4106 2908 2123 3886
median 3689 2306 1552 2075
min 254 182 128 233
max 119187 112612 83831 105285

Таблица 1.4 Результаты тестирования для 50 пользователей
Результаты тестирования для 50 пользователей
Рис. 1.5 Результаты тестирования для 50 пользователей

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

В версии 2.6 WordPress разработчики убрали файловый кэш, таким образом потребление памяти значительно возрасло. В WordPress'е загружаются все файлы не зависимо от того, будут ли ни использоваться или нет. То есть сервер вынужден обрабатывать много php-кода вхолостую, что неизбежно приводит к дополнительной нагрузке процессора.

Логотимы рассматривающих CMS
Рис. 1.6 - Логотипы рассматренных CMS (анимация: объем - 115 КБ; размер - 467x350; количество кадров - 10; задержка между кадрами - 80 мс; задержка между последним и первым кадрами - 150 мс; количество циклов повторения - 8.)

Выводы

Typo3 имеет мощную функциональность, расширяемость и гибкость. Огромное количество расширений одно из которых - templavoila следует включить в стандартный пакет интегрировав в ядро. CMS и любое расширение настраивается с помощью TypoScript - встроенным скриптовым-языком, но не процедурным, а по принципу скорее похожим на Windows регистр или на XSLT. Поскольку cms имеет невообразимую гибкость, это же её слабое место: в отличии от других рассмотренных cms она сложна в освоении.

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

Joomla проще и легче в изучении и управлении, но Drupal, хотя и сложнее и не такой красивый, и хотя его немного труднее учить, представляет почти 100% гибкость. Поэтому Adobe избрала Drupal для построения на его основе своих пробных Flex - сайтов.

Несмотря на это, есть сильные стороны у Joomla, которые иногда делают ее более предпочтимой в некоторых случаях. Joomla хороша для корпоративных сайтов и классических порталов. Базовая поставка богата функциональностью. Многие компоненты продаются, что положительно сказывается на их качестве. Drupal же приспособлен под комьюнити-сайты. Есть встроенный форум, комментарии, блоги, модуль для публикации книг. И хотя на обеих CMS можно делать практически любые сайты, в одних случаях системы будут идти разработчикам на встречу, а в других — придется преодолевать множество трудностей.

Одним из существенных недостатков Drupal является слабое использование объектных возможностей PHP: API Drupal практически не использует имеющихся в PHP возможостей ООП. Разработчики аргументируют это слабой реализацией ООП в языке. Объектная модель в Drupal присутствует, но в несколько нетрадиционном для PHP виде. Ввиду активного использования базы данных Drupal может быть слишком тяжёл для ресурсов предоставляемых на дешёвых тарифных планах хостинг-провайдеров, хотя для небольших сайтов с посещаемостью в несколько сотен или тысяч посетителей в сутки этих ресурсов будет достаточно.

Список литературы

  1. Вандюк Д. Вестгейт М. CMS Drupal: руководство по разработке системы управления сайтом. / Д. Вандюк, М. Вестгейт - М.:Диалектика-Вильямс. 2008. 400с.
  2. Robert T. - Building Online Communities With Drupal, phpBB, And WordPress. / T. Robert, M. Little, W. Jared - Apress. 2007 375p.
  3. Мерсер Д. Drupal 6. Создание надежных и полнофункциональных веб-сайтов, блогов, форумов, порталов и сайтов-сообществ. М.:Диалектика-Вильямс. 2009. 272с.
  4. Норт Б. Joomla! Практическое руководство. - СПб.:Символ-Плюс. 2008. 448c.
  5. Колисниченко Д. Н. Joomla! 1.5. Руководство пользователя. - М.:Диалектика-Вильямс. 2009. 224c.
  6. Граф Х. Создание веб-сайтов с помощью Joomla! 1.5. - М.:Диалектика-Вильямс. 2008. 304с.
  7. Hayder H. WordPress Complete - Packt Publishing Ltd. 2006. 283p.
  8. Blakeley Silver T. WordPress Theme Design - Packt Publishing Ltd. 2008. 224p.
  9. Altmann W. TYPO3 - Open Source Press. / W. Altmann, R. Fritz, D. Hinderink 2004. 624p.
  10. Fritz R. Typo3: Enterprise Content Management / R. Fritz, D. Hinderink, W. Altmann - Packt published. 2005. 595p.

* При написании данного автореферата магистерская работа еще не завершена. Окончательное завершение — 1 декабря 2009 г. Полный текст работы и материалы по теме могут быть получены у автора или его руководителя после указанной даты.

Донецк 2009 | ДонНТУ | Портал магистров