Каталог статей
Поиск по базе статей  
Статья на тему Интернет » Интересное в сети » Анатомия систем управления контентом

 

Анатомия систем управления контентом

 

 

Enomaly.com

Аббревиатура CMS означает Content Management System или система управления контентом (хотя само сокращение имеет и другие толкования, в зависимости от конкретной отрасли ИТ). С одной стороны, эти слова очень распространены, десятки и сотни компаний производят и продают такие системы, миллионы веб-сайтов построены на какой-то CMS. Но с другой – никто пока так и не смог дать четкого определения такой системы, даже сами разработчики вкладывают в это понятие разный смысл и в соответствии со своими представлениями разрабатывают решения. Так что же все-таки представляют собой CMS, именно в своей сути? Попробуем разобраться.

загрузка...

 

 

Если исходить из самого названия, то все просто – это система, предназначенная для облегчения создания, редактирования, публикации и управления доступом к контенту (информации в цифровой форме) на веб-сайте. Но даже само понятие контент тут неоднозначно. С него-то и начнем.

Контент можно условно поделить на пять типов

Итак, контент может быть: статическим текстовым (обычные материалы в HTML, например статьи, книги) плюс сопутствующая графика и динамическим (например, новости или посты в форуме либо гостевой книге – тоже контент, но создаваемый пользователями и изменяющийся во времени). Сюда же отнесем и графику, к примеру онлайновые коллекции картинок. Второй тип контента – мультимедийный, статический (к примеру, коллекция записей исполнителя в формате MP3, видеоролики или flash-мультфильмы) или динамический (интернет-радио, аудио- и видеофайлы в режиме потокового вещания). И третий тип контента – файловый, или бинарный. Это могут быть любые файлы, предназначенные для загрузки пользователями – дистрибутивы программ, электронные документы и книги (PDF, RTF, Word) и тому подобное.

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

Каждый сайт использует несколько типов контента одновременно

Фактически на большинстве веб-сайтов используется некоторый набор, комбинация из разных видов контента, поэтому поддерживающая его CMS-система должна, по сути, включать в себя несколько "мини-CMS" для каждого вида размещаемой информации. И в принципе так оно сейчас и есть. Некоторые производители или разработчики сразу позиционируют свои продукты как системы, предназначенные главным образом для работы с конкретными данными. Для создания электронных библиотек одни системы, для новостных ресурсов – другие, для корпоративных веб-сайтов – третьи, электронные магазины используют свои специфические системы, а интернет-радиостанции вообще строятся на основе совершенно нетипичных решений (как программных, так зачастую и аппаратных).

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

Все сервисы, или модули, CMS можно разделить на четыре группы

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

  • Базовые системные сервисы (модули). Эти сервисы полностью внутренние и не имеют никакого интерфейса или имеют только административный интерфейс. Они обеспечивают работу других модулей и составляют ядро всей CMS. Например, модуль ADODB для абстрагирования от конкретной базы данных является полностью служебным модулем, который работает на самом низком уровне системы и имеет только программные интерфейсы с другими частями CMS.

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

  • Интерактивные сервисы. Например, гостевая книга, форум или другие подобные сервисы, которые предоставляют пользователям возможность взаимодействовать с системой. Фактически это как раз полноценные сервисы, так как предоставляют в явном виде некоторую услугу пользователю.

  • Административные сервисы – это специализированные сервисы, которые представляют администратору удобные возможности по управлению самой CMS, отдельными модулями (другими сервисами) и сервером в целом. Например, phpMyAdmin – это административный сервис, хотя сам по себе это также целый набор отдельных модулей со сложной логикой взаимодействия.

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

Да, сразу вопрос – почему какие-то «сервисы», а не модули, раз мы уже выяснили, что это в большинстве случаев одинаковые вещи. Потому что «модуль» – это термин из технической области, он ничего не говорит о предназначении конкретной части системы, а ведь веб-сайт (и CMS, по сути) не просто технические системы, а в первую очередь системы, предназначенные для оказания некоторых услуг пользователю – предоставление информации, обработка запросов и т. д. Поэтому мы придерживаемся термина «сервис», который достаточно популярен сейчас в мире ИТ-технологий. Думаю, вы встречали аббревиатуру SOA – сервис-ориентированная архитектура. CMS как раз и является системой, архитектура которой ориентирована на одну задачу – предоставление некоторых информационных сервисов пользователю. Когда речь идет о технической стороне, больше о конкретном коде и скриптах – тогда уместен термин «модуль», когда же говорим об общей структуре и архитектуре, о взаимодействии пользователей и веб-сайта – тогда систему лучше описывать в терминах сервисов.

Что лучше – коммерческая или Open Source CMS?

А вот сейчас мы подходим к сути всего этого обзора. Все началось с того, что знакомые из одной веб-студии пытались выбрать, что же лучше – купить готовую CMS (довольно дорогую) или разрабатывать свою. Я же наставал на варианте использования одной или нескольких существующих систем Open Source или, если речь все же идет о собственной системе, на создании ее как набора готовых модулей (сервисов), используя уже существующие свободные скрипты для реализации каждого модуля. То есть не писать заново все свои модули, а собирать «из кирпичиков» готовую CMS, используя лучшие скрипты из существующих, в крайних случаях дописывая свои. А основные силы сконцентрировать именно на обеспечении взаимодействия между этими модулями, на доводке и подгонке их к потребностям конкретного веб-сайта.

Такой подход очевиден и логичен – есть множество модулей, которые уже десятки раз реализованы и проверены на тысячах веб-сайтов, над которыми трудятся уже годами коллективы разработчиков и тестеров со всего света. И в то же время такие модули достаточно сложные, а их написание и тестирование с нуля займет непомерно много времени и сил даже у команды высококлассных программистов. Например, почти любому веб-сайту необходим форум для общения пользователей. И что, писать свой форум с нуля? Вряд ли это лучшее решение – ведь в Сети есть множество отлично зарекомендовавших себя движков форумов, на любом языке, для любой платформы, под любой лицензией. PhpBB, vBB, UPB, PunBB, WowBB, Invision Power Board (IPB), Celeste Bulletin Board 2004, MyPHP Forum и еще десятки других. Точно такая же картина будет и с любым или почти любым другим модулем – редко когда у сообщества Open Source нет достойного продукта. Но если его нет, то можно попробовать воспользоваться и платными аналогами, многие зарубежные компании продают очень неплохие скрипты, которые часто реализуют такие вещи для Веба, что иногда задумываешься – "а как ЭТО и ТАК можно реализовать?", например модули для реализации файловых менеджеров, электронных магазинов и каталогов. Единственный достойный ответ Open Source – osCommerce – часто очень тяжеловесный и включает много ненужных функций, но в полной конфигурации, со всеми модулями реализует почти идеальный интернет-магазин.

Интеграция – вот самая сложная и важная проблема в архитектуре CMS

Во что действительно стоит вкладывать деньги при построении системы управления контентом – это в интеграцию модулей. Например, в объединение базы пользователей форума (на одном движке), базы зарегистрированных покупателей интернет-магазина и базы системы статистики или почтовой системы. Вот тут часто необходимо сложное программирование, например написание единой системы аутентификации и авторизации, чтобы пользователю не приходилось многократно регистрироваться на одном и том же веб-сайте.

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

Плюсом такого подхода является то, что отдельные компоненты определяются исходя из потребностей конкретного проекта (веб-сайта) и выбираются из перечня скриптов, которые уже успели зарекомендовать себя на десятках других сайтов. Таким образом можно добавить в систему функциональность, которая просто не предусмотрена ни одной из существующих CMS, ни свободных, ни коммерческих. Да и по стоимости такое решение, скорее всего, будет выгоднее, так как большинство компонентов распространяются под лицензией GNU GPL.

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

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

Задача интересная, хотя и очень сложная, так как только список необходимых модулей для такой идеальной системы занял больше 50 пунктов, а это значит, что для каждого модуля необходимо рассмотреть и сравнить три–пять лучших решений. Ну а сначала мы сделали краткий обзор наиболее популярных CMS-систем, чтобы выяснить, не создал ли кто-то уже идеальную CMS, а заодно – могут ли Open Source составить реальную конкуренцию коммерческим (и очень дорогим) системам. О результатах – в следующих частях этого обзора.

Ссылки по теме




Статья получена: hostinfo.ru
загрузка...

 

 

Наверх


Постоянная ссылка на статью "Анатомия систем управления контентом":


Рассказать другу

Оценка: 4.0 (голосов: 16)

Ваша оценка:

Ваш комментарий

Имя:
Сообщение:
Защитный код: включите графику
 
 



Поиск по базе статей:





Темы статей






Новые статьи

Противовирусные препараты: за и против Добро пожаловать в Армению. Знакомство с Арменией Крыша из сэндвич панелей для индивидуального строительства Возможно ли отменить договор купли-продажи квартиры, если он был уже подписан Как выбрать блеск для губ Чего боятся мужчины Как побороть страх перед неизвестностью Газон на участке своими руками Как правильно стирать шторы Как просто бросить курить

Вместе с этой статьей обычно читают:

Bitweaver&nb p;&mda h; паук управления контентом

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

» Интересное в сети - 1876 - читать


Система управления контентом BinN S.Builder

В предлагаемой статье мы рассмотрим систему со сложным названием BinN S. Builder. Разрабатывает ее на протяжении уже более 5 лет один и тот же стабильный коллектив, и сейчас пользователям предлагается уже 3-я версия системы в редакциях S.

» Интересное в сети - 1951 - читать


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

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

» Интересное в сети - 2412 - читать


XOOPS&nb p;&mda h; система управления контентом

Давно уж прошли те времена, когда абсолютное большинство сайтов создавалось на чистом HTML без использования всяческих скриптовых механизмов управления содержанием. Оно и понятно: перелопачивать сотни страниц, чтобы изменить ссылку в меню, или каждый раз возиться с FTP, для того чтобы поставить на сайт новую статью, — занятие весьма скучное. И тут на помощь создателю сайта приходят многочисленные CMS, как платные, так и бесплатные, и одна из самых популярных на данный ...

» Интересное в сети - 1791 - читать


deep.CMS - умная система управления контентом узнает ваш мобильник

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

» Ноутбуки, КПК и телефоны - 3033 - читать



Статья на тему Интернет » Интересное в сети » Анатомия систем управления контентом

Все статьи | Разделы | Поиск | Добавить статью | Контакты

© Art.Thelib.Ru, 2006-2024, при копировании материалов, прямая индексируемая ссылка на сайт обязательна.

Энциклопедия Art.Thelib.Ru