Аббревиатура CMS означает Content Management System или система управления контентом (хотя само сокращение имеет и другие толкования, в зависимости от конкретной отрасли ИТ). С одной стороны, эти слова очень распространены, десятки и сотни компаний производят и продают такие системы, миллионы веб-сайтов построены на какой-то CMS. Но с другой — никто пока так и не смог дать четкого определения такой системы, даже сами разработчики вкладывают в это понятие разный смысл и в соответствии со своими представлениями разрабатывают решения. Так что же все-таки представляют собой CMS, именно в своей сути? Попробуем разобраться.
Если исходить из самого названия, то все просто — это система, предназначенная для облегчения создания, редактирования, публикации и управления доступом к контенту (информации в цифровой форме) на веб-сайте. Но даже само понятие контент тут неоднозначно. С него-то и начнем.
итак, контент может быть: статическим текстовым (обычные материалы в HTML, например статьи, книги) плюс сопутствующая графика и динамическим (например, новости или посты в форуме либо гостевой книге — тоже контент, но создаваемый пользователями и изменяющийся во времени). Сюда же отнесем и графику, к примеру онлайновые коллекции картинок. Второй тип контента — мультимедийный, статический (к примеру, коллекция записей исполнителя в формате MP3, видеоролики или flash-мультфильмы) или динамический (интернет-радио, аудио- и видеофайлы в режиме потокового вещания). И третий тип контента — файловый, или бинарный. Это могут быть любые файлы, предназначенные для загрузки пользователями — дистрибутивы программ, электронные документы и книги (PDF, RTF, Word) и тому подобное.
Как видите, если попытаться немножко классифицировать контент, то сразу видна неочевидность всех введенных выше понятий — редактирование, публикация, управление доступом. Для каждого вида контента каждый из этих процессов может быть или очень сложным (к примеру, создание и публикация потокового видео и аудио) или простым (пополнение файлового архива путем копирования через FTP новых файлов).
Контент можно условно поделить на пять типов
Фактически на большинстве веб-сайтов используется некоторый набор, комбинация из разных видов контента, поэтому поддерживающая его CMS-система должна, по сути, включать в себя несколько «мини-CMS» для каждого вида размещаемой информации. И в принципе так оно сейчас и есть. Некоторые производители или разработчики сразу позиционируют свои продукты как системы, предназначенные главным образом для работы с конкретными данными. Для создания электронных библиотек одни системы, для новостных ресурсов — другие, для корпоративных веб-сайтов — третьи, электронные магазины используют свои специфические системы, а интернет-радиостанции вообще строятся на основе совершенно нетипичных решений (как программных, так зачастую и аппаратных).
А теперь вспомним еще одно слово, имеющее очень много разнотипных значений, которое у всех на устах, но мало кто в точности понимает, что оно значит, — «сервис». Сервисом вообще, применительно к системам управления контентом веб-сайтов, мы будем называть скрипт, модуль или другую физическую или логическую часть программного обеспечения веб-сайта, которая может принимать данные, каким-то образом их перерабатывать (кодировать, сохранять, считывать, изменять и т. д.) и возвращать вызвавшему объекту (хотя это необязательно).