Глава 1. Введение

Еще совсем недавно единственным способом создания сайта было создание набора статичных HTML-страничек и их размещение в сети Интернет. Сейчас при создании сайта владелец стремится к тому, чтобы получать не просто статичный, «мертвый сайт», а сайт, который может жить и изменяться, активно взаимодействовать с клиентом, позволять эффективно управлять своим содержанием, легко масштабироваться. Такие сайты принято называть динамическими сайтами, и именно они составляют большую часть Интернета. Для описания такого вида сайтов был введен термин веб-приложение. Этот термин предполагает построение сайта, при котором пользователь отправляет запросы к серверу через набор форм, обеспечивающих визуальный интерфейс, подобный интерфейсу Windows-программ, а сервер динамически формирует содержимое, отсылаемое клиенту в ответ на запрос.

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

Решением этих проблем стало создание систем управления содержимым (CMS) и систем поддержки разработки и сопровождения (frameworks).

1.1. Система управления содержимым

[Важно]Важно

В настоящее время термины Система управления содержимым, Система управления контентом и CMS рассматриваются как синонимы. В силу многообразия таких систем точного их определения не существует. Будем придерживаться определения CMS, приведенного в интернет-энциклопедии Wikipedia:

Система управления содержимым/контентом  — компьютерная программа или система, используемая для обеспечения и организации совместного процесса создания, редактирования и управления текстовых и мультимедиа документов (содержимого или контента). Обычно это содержимое рассматривается как неструктурированные данные предметной задачи в противоположность структурированным данным, обычно находящихся под управлением СУБД (Системы управления базами данных).

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

Однако абстрактно управлять информацией невозможно — она обязательно должна быть представлена в какой-либо форме. Таким образом, пытаясь управлять контентом, мы неизбежно приходим к понятию управления документами в более широком смысле — как управление содержимым документа и как управление формой представления документа. Системы управления контентом действительно «научились» разделять управление документами (хранение, изменение и т.п.) и их представление конечному пользователю. Но они все-таки управляют документами в какой-то форме, а не информацией.

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

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

Кроме управления отдельными документами CMS управляет небольшими взаимосвязанными единицами информации — частями документов, и в данном контексте документ приобретает смысл набора элементов гипертекста.

Поскольку CMS управляет информацией, меняющей состояние в пределах определенного временного периода (жизненного цикла), то естественно, что должны иметься адекватные средства управления содержимым на каждом из этапов этого цикла (создание, модификация, публикация, передача в архив и т.д.). В этом смысле CMS можно рассматривать как часть комплекса ILM (Information Lifecycle Management) — Системы управления жизненным циклом.

1.1.1. Функции CMS

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

  • Создание — предоставление авторам удобных и привычных средств создания контента.
  • Управление — хранение контента в едином репозитории. Это позволяет следить за версиями документов, контролировать, кто и когда их изменял, убеждаться, что каждый пользователь может изменить только тот раздел, за который он отвечает. Кроме того, обеспечивается интеграция с существующими информационными источниками и ИТ-системами. Наиболее часто в качестве репозитория используется реляционная база данных.
  • Workflow — CMS поддерживает контроль за рабочим потоком документов, т.е. контроль за процессом их создания, одобрения и публикации. Такой контроль также включает в себя хранение, отслеживание версий, контроль за доступом, интеграцию с другими информационными системами и управление потоком документов.
  • Публикация — автоматическое размещение контента на терминале пользователя. Соответствующие инструменты автоматически «подгоняют» внешний вид страницы к дизайну всего сайта.
  • Представление — дополнительные функции, позволяющие улучшить форму представления данных; например, можно строить навигацию по структуре репозитория.