рус | en | укр
 

Освіта

Факультет: Обчислювальної техніки та інформатики
Спеціальність: Програмне забезпечення автоматизованих систем
Тема випускної роботи: Підвищення ефективності функціонування CMS
Науковий керівник: к.т.н, с.н.с Андрюхін Олександр Іванович

Вступ

Система управління контентом - це програмний комплекс, що дозволяє автоматизувати процес управління як сайтом в цілому, так і сутностями в рамках сайту: макетами сторінок, шаблонами виведення даних, структурою, інформаційним наповненням, користувачами і правами доступу, а також по можливості надає додаткові сервіси: списки розсилки, ведення статистики, пошук, засоби взаємодії з користувачами і т. д.

Необхідність систем управління з’явилася в той момент, коли кількість матеріалів на веб-сайтах почала стрімко зростати. Це призвело до того, що традиційні «ручні» технології створення та підтримки сайтів, коли сайт складався з статичних сторінок і набору додаткових спеціалізованих скриптів, стали не встигати за швидко мінливими умовами бізнесу. Введення даних на сайт вимагає знання технологій HTML / CSS верстки, зміни структури сайтів були пов'язані з каскадним зміною великої кількості взаємопов'язаних сторінок. Різні автоматизовані механізми, якто гостьовi книги і стрічки новин, запроваджені на сайтах як окремі скрипти і, як правило, написані різними фахівцями, перестали задовольняти вимогам безпеки. Тому виникла потреба з одного боку в уніфікації програмних рішень, а з іншого в розділенні дизайну і вмісту на дві незалежні складові.

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

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

Одними з найбільш поширених cms, на основі яких можна створювати функціональні і легко керуємi сайти без серйозних фінансових витрат є 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 дозволяє застосовувати його для побудови різних типів сайтів - від блогів і форумів, до інформаційних архівів або сайтів новин. Функціональність забезпечується Plug-in, які звертаються до загального 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 за наступними основними характеристиками:

Версії / безпека:

Росiйська документація:

Боротьба зі спамом:

Інтеграція з форумом:

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

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

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

Продуктивність:

Нижче приведено тестування продуктивності найбільш використовуваних 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 розробники прибрали файловий кеш, таким чином споживання пам'яті значно пiдвищелось. У WordPress'е завантажуються всі файли не залежно від того, чи будуть використовуватися чи ні. Тобто сервер змушений обробляти багато php-коду вхолосту, що неминуче призводить до додаткового навантаження процесора.

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

Висновки

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

Wordpress - це спочатку блоговая CMS зробити на ньому якийсь iнший тип сайту досить складно. Якщо необхідно зробити професійний сайт на 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.
Донецьк 2009 | ДонНТУ | Портал магiстрiв