Современные информационные технологии/ 3.Программное обеспечение

Лиликович С.А.

Ровеньковская гимназия №1, Украина

Логинов А.В.

Луганский национальный университет имени Тараса Шевченко, Украина

 

Разработка архитектуры для современной CMS-системы

Целью работы является описание архитектуры для системы управления сайтом. Актуальность работы обусловлена активным расширением сферы IT-услуг, стремительным ростом глобальной сети Интернет. Всё больше пользователей нуждаются в собственном ресурсе Интернет или личной страничке. Частично этот спрос удовлетворяют различные социальные сети, блогинговые сервисы и такие системы как UcoZ, Народ. Однако, некоторым пользователям не являющимся профессиональными программистами недостаточно возможностей подобных ресурсов. Для решения данной проблемы используются CMS – Content Management System – программы, которые позволяют без лишних усилий создавать интернет-ресурсы.

Исследование рынка даёт понять, в чём заключается популярность многих CMS. В качестве методов исследования выступали:

- анализ поисковой статистики Google и Yandex;

- анализ мониторинга специализированного ресурса www.cmsmagazine.ru.

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

Анализ архитектуры современных CMS позволяет сделать вывод, что они имеют общие элементы структуры, такие как:

- система шаблонизации (направлена на отделение логики от контента);

- уровень абстракций СУБД (делает прозрачным обращение к данным);

- система расширений ядра и прочих элементов.

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

Результатом исследования является авторская разработка – система управления контентом JasenuCMS [1]. Оригинальностью разработки является предложенная автором и разработанная собственная архитектура CMS, отличительными особенностями которой являются:

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

- Двухуровневое кэширование данных. Запись результатов работы корневых расширений для ускорения их работы. Кэшируются результаты работы BUILDER и JTE.

- Собственная система шаблонизации JTE. Имеет более высокую скорость работы по сравнению с популярным шаблонизатором SMATRY, совмещает режимы компилирующего и интерпретирующего шаблонизатора.

- Обеспечение высокой безопасности «стороннего» кода. Достигается за счет изоляции от ядра и системы регистрации дополнений ?которые вносит пользователь.

Jasenu CMS основывается на предложенной автором архитектуре, принцип работы которой показан на рис. 1.

Весь программный код объединяется ядром, при чём Jasenu CMS устроена так, что всякую её часть (кроме ядра CORE) можно с лёгкостью заменить.

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

Обращение к данным происходит через специальный уровень абстракции — JTE. Ядро программы адаптировано к обратимому шифрованию всех данных, которыми оно оперирует, однако эти функции пока недоступны за отсутствием оптимального по скорости работы PHP-алгоритма такого шифрования. В настоящий момент ведётся его разработка.

Рис. 1. Архитектура системы управления сайтом Jasenu CMS

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

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

В настоящий момент около 15 различных расширений Jasenu CMS, среди которых: поиск, автоматическое построение меню, фотогалерея, CAPTCHA-защита и им подобные.

В результате работы был получен полностью работоспособный, развивающийся продукт, который может составить конкуренцию лидерам рынка (сайт проекта www.jcms.ho.ua). 

Литература:

1. Лиликович С.А. Разработка Jasenu CMS6 //Перший крок у дослідженні: Збірник студентських наукових робіт-2009 р., м. Луганськ. – Луганськ: Phoenix, 2009. – C.74-77.

2. Логинов А.В., Лиликович С.А. Использование JasenuCMS для разработки сайтов средними учебными заведениями //Информационные технологии на базе свободного программного обеспечения: материалы Всероссийской научно-практической конференции с международным участием. – Елец: ЕГУ им. И.А. Бунина, 2010. – С.82-86.

3. Лиликович С.А. CMS система как универсальное средство управления web-ресурсами со сверхпосещаемостью //Перший крок у дослідженні: Збірник студентських наукових робіт-2009 р., м. Луганськ. – Луганськ: Phoenix, 2009. – C.74-77.

4. Лиликович С.А. Практика создания расширяемой и многофункциональной CMS //Матеріали Всеукраїнської науково-практичної конференції «Перший крок в науку». – Т.8. – Луганск: Полиграфресурс. 2010. – С. 88-91.

5. Лиликович С.А., Логинов А.В. Анализ систем шаблонизации современных CMS //Материалы международной конференции Theoretical and applied aspects of program systems development. TAAPSD-2010. – Киев: Киевский национальный университет имени Тараса Шевченко. – С. 286-292.