Добавлен: 06.07.2023
Просмотров: 92
Скачиваний: 2
1 GMS и его модули
1.1 Функции GMS
Рынок систем категории CMS(content management system) достаточно бурно развивается, но единых стандартов в этой области, в том числе на терминологию, еще нет. Английское слoво content ознaчает «нечто, содержащееся внутри» и применительно к письменным работам обычно входит в словосочетание table of contents — содержание, перечень разделов (скажем, книги). Отличительная черта контента состоит в том, что он конструируется из отдельных кусочков. Однако при переводе термина content на русский язык произошел забавный казус. Дело в том, что английский вариант этого слова означает «содержание» только в тех случаях, когда ударение ставится на его первый слог. В противном же случае (а мы обычно так и произносим) слово content является глаголом со значением «удовлетворять».
Бытует мнение, что в ИТ данный термин стали использовать, чтобы обобщить в понятии «документ» такие не типичные ранее данные, как видео, аудио и мультимедиа. Такое утверждение представляется не совсем корректным: документ — это форма передачи информации, а контент — собственно информация, поэтому ставить их на один уровень не совсем правильно.
История управления контентом началась с управления документами в традиционном смысле этого слова, т.е. текстовыми файлами. По мере развития понятия «документ», системы управления документами стали называть системами управления контентом. Почему? Считается, что это позволяет подчеркнуть способность таких систем управлять информацией независимо от формы ее представления, а также отделить информацию-контент от документа-формы. Однако абстрактно управлять информацией невозможно — она обязательно должна быть представлена в какой-либо форме. Пытаясь управлять контентом, мы неизбежно приходим к управлению документами. Системы управления контентом, действительно, «научились» разделять управление документами (хранение, изменение и т.п.) и их представление конечному пользователю. Но они все-таки управляют документами в какой-то форме, а не информацией.
Само понятие «управление контентом» первоначально прочно ассоциировалось с процессом публикации и обновления информации на Web-сайтах — требовалась технология, позволяющая следить за ее актуальностью. Поэтому в качестве синонима content management часто используют термин Web content management. Применительно к организациям, оперирующим огромным количеством информации, уместно говорить уже о системах управления информационными ресурсами предприятия (enterprise content management, ECM). В результате термин content management расширился: им стали обозначать управление не только информацией на сайте, но и всеми разрозненными и разнообразными фрагментами корпоративной информации. Есть и другие определения. Скажем, в энциклопедии Wikipedia системой управления контентом названа система, применяемая для организации и упрощения совместного создания содержимого.
Функции систем управления контентом можно разделить на несколько основных категорий.
- Создание — предоставление авторам удобных и привычных средств создания контента.
- Управление — хранение контента в едином репoзитории. Это позволяет следить за версиями документов, контролировать, кто и когда их изменял, убеждаться, что каждый пользователь может изменить только тот раздел, за который он отвечает. Кроме того, обеспечивается интеграция с существующими информационными источниками и ИТ-системами. CMS поддерживает контроль за рабочим потоком документов, т.е. контроль за процессом их одобрения. Короче говоря, управление контентом включает в себя хранение, отслеживание версий, контроль за доступом, интеграцию с другими информационными системами и управление потоком документов.
- Публикация — автоматическое размещение контента на терминале пользователя. Соответствующие инструменты автоматически «подгоняют» внешний вид страницы к дизайну всего сайта.
- Предстaвление — дополнительные функции, позволяющие улучшить форму представления данных; например, можно строить навигацию по структуре репозитoрия.
CMS-системы управляют небольшими взаимосвязанными единицами информации, и в данном контексте документ приобретает смысл гипертекста. Поскольку CMS-системы управляют информацией, а у информации есть свой жизненный цикл, то, естественно, эти системы должны иметь адекватные средства управления контентом на каждом из этапов его жизни (создание, модификация, публикация, передача в архив и т.д.). В этом смысле CMS можно рассматривать как часть комплекса ILM (information lifecycle management).
Среди CMS-систем часто выделяют так называемые каркасы (content management framework, CMF) — инструментарии для создания системы. Как уже говорилось, естественным расширением CMS стали ECM-системы, которые управляют всей разрозненной информацией предприятия, взаимодействуя с другими приложениями, такими как ERP и CRM. Пожалуй, наиболее известный производитель ECM-систем — компания Documentum. Разработкой систем управления контентом занимаются многие компании, в том числе IBM, Microsoft, Oracle, Macromedia. В последнее время начали появляться организации, пытающиеся объединить разработчиков CMS, создать единую информационную среду для потенциальных пользователей подобных систем, продвигать и утверждать единые стандарты. Прежде всего, это ассоциации OSCOM (Open Source Content Management) и CMSWatch.
OSCOM утвердила такие стандарты, как WebDav, RSS, ATOM и JSR-170. Один из ее интересных проектов, CMSML, предусматривает создание основанного на XML языка для описaния систем управления контентом, списка свойств CMS, словаря для их описания и соответствующих имен для каждого свойства в XML-разметке. Свойства разделены на три больших класса — создание, управление и доставка контента конечному пользователю.
В свою очередь, CMSWatch ежегодно выпускает отчет, включающий в себя обзор рынка CMS-систем, сравнение некоторых из них, описание жизненного цикла контента и управления им в CMS-системах.
1.2 Модули
В этой части мы будем придерживаться классификации, основанной на модели представления данных — объектной, сетевой или модульной.
Объектная модель
Объектная модель представления данных оперирует такими понятиями, как класс и объект. Классы определяют структуру данных и представляют собой набор атрибутов (текстовая строка, целое число, изображение и т.д.). Представители класса (объекты) имеют определенную структуру и могут содержать другие объекты, образуя произвольную иерархическую структуру. Объекты могут наследовать свойства, содержание и поведение объектов, которые в них содержатся. Примерами объектов служат документы, картинки, папки и учетные записи пользователей. Класс контента не хранит в себе реальных данных — такую информацию содержат объекты (экземпляры класса). Определив один класс, можно создать множество его представителей (контент объектов).
В CMS-системах данные обычно хранятся в реляционной или объектной базе данных. В первом случае объектная модель данных отображается на реляционную модель базы данных. Связи между объектами создаются, например, с помощью таблиц вида id, from_object, from_object_version, to_object. На рис. 1 приведена возможная структура класса «Статья» и его представителя.
Рис. 1. Пример организации контента с помощью объектной модели данных |
Среди объектно-ориентированных CMS-систем можно встретить каркасы. Классический пример — Zope CMF. Вообще, Zope — ведущий свободно распространяемый сервер приложений, специализирующийся на управлении контентом в порталах и пользовательских приложениях. Zope позволяет совместно работать над созданием и управлением динамических Web-ориентированных бизнес-приложений. На основе этого сервера приложений построен каркас управления контентом Zope CMF, с помощью которого, в свою очередь, создан целый ряд CMS-систем, в частности, Plone.
Еще одна очень распространенная CMS этого класса — eZ Publish. Ее относят и к каркасам, и к ECM. Системы семейства eZ базируются на свободно распространяемом продукте eZ Publish. Наличие двух лицензий — GPL и профессиональной — позволяет создавать коммерческие продукты на основе каркаса eZ Publish, обеспечивая этой системе поддержку как сообщества Open Source, так и профессиональных разработчиков.
К этому классу можно отнести и систему APC ActionApps, которая позволяет зарегистрированным пользователям обновлять контент их сайта с помощью только браузера. Особенность этой системы состоит в том, что она имеет настраиваемый вывод. APC ActionApps интегрируется в существующие системы, позволяя упростить структуру и автоматизировать работу сложных порталов и Web-сайтов. Кроме того, механизм content pooling и наличие инструментов редактирования делают эту систему подходящей для распределенных команд, совместно подготавливающих публикацию контента.
Microsoft Content Management Server (MCMS) представляет собой систему управления Web-контентом, которая дает возможность создавать, развертывать и поддерживать динамично меняющиеся Web-сайты. Благодаря тесной интеграции с Visual Studio .NET и поддержке функций управления исходными кодами, MCMS позволяет разработчикам создавать сайты, которые потом могут управляться и поддерживаться как ИТ-специалистами, так и бизнес-пользователями. Первые могут централизованно управлять брэндингом, рабочим потоком документов и безопасностью, тогда как вторые — создавать собственный контент, управлять им и публиковать его, используя знакомые приложения, такие как Word или Internet Explorer.
Объектная модель поддерживает разработку в среде Visual Studio .Net и .Net Framework. Возможно объединение через Microsoft Solutions for Internet Business (MSIB) Content Connector с сервером Microsoft Commerce Server для создания решений в области электронной коммерции.
Как правило, системы, основанные на объектно-ориентированной модели данных, наиболее функциональные, гибкие, но, в то же время, и наиболее сложные.
Сетевая модель
Данная модель представления данных опирается на теорию графов: структура информации представляется в виде узлов с помеченными связями между ними. Фундаментом системы может служить как сетевая, так и традиционная реляционная СУБД, на которую отображена сетевая модель описания данных. В реляционных таблицах хранится информация об узлах, их атрибутах и связях между ними. Связь отличается от атрибута тем, что в ней хранится ссылка на другой узел, а в атрибуте — собственно значение. Для извлечения данных из направленного графа обычно используются рекурсивные процедуры обработки, такие как составление списков узлов, определение атрибутов узла по атрибутам родителя и др. На рисунке 2 представлен вариант организации структуры данных сайта в виде графа.
Рис. 2. Пример организации контента с помощью сетевой модели данных
Пример системы такого типа — Communiware. Эта система представляет собой инструментарий нового поколения для создания вертикальных Web-сайтов и порталов.
Модульная модель
В подобных системах контент разделен на отдельные модули по типам содержимого. Структура данных зависит от модуля, и вся работа с контентом сосредоточена внутри модуля. Модули независимы и полностью отвечают за работу с документами данного типа. Документы описываются с помощью фиксированного набора характеристик — типы документов строго фиксированы. Расширять функциональность можно за счет добавления нового модуля, замены или редактирования существующего кода. Чаще всего нет никакой системы связей между документами разных модулей и между документами одного и того же модуля. Стандартный набор типов контента (модулей) таков: ссылки, статьи, файлы, новости, разделы, форум.
Несмотря на очевидную ограниченность модели данных, системы на ее основе наиболее популярны благодаря своей простоте. В качестве примера можно упомянуть такие системы, как PHPNuke, Mambo и Xoops.
У модульных CMS-систем есть один общий недостаток — строго фиксированная в пределах модуля структура содержимого. Однако для расширения их функциональности можно воспользоваться внешними модулями, которых в Сети немало. Очевидное преимущество этих систем — возможность получения почти полностью готового к использованию портала за короткое время.
2 Системы CMS
2.1 Свободно распространяемые CMS-системы
Рассмотрим следующие CMS-системы: eZ Publish 3.2, APC ActionApps, Mambo 4.0.14 и .Xoops (версии 2.0.5 и 2.0.6). Каждая из них позиционируется разработчиками как система для создания любого сайта (от корпоративного портала до домашней странички) и управления его содержимым. Система eZ Publish предназначена также для создания и управления содержимым Internet-магазина, новостного сайта, фотогалереи или форума. APC ActionApps имеет уникальное свойство добавления динамических разделов на существующем сайте и .способна управлять содержимым многих сайтов. Но все-таки правильнее говорить, что CMS-системы предназначены для создания, модификации, публикации и обмена информацией.
Прежде чем начать использование какой-либо CMS необходимо определиться, с какими типами контента вы хотите работать — будут ли на вашем сайте статьи, фильмы, новости, форумы и т.п. Обычно CMS-системы поставляются с некоторым количеством готовых к работе встроенных типов контента, а часть из них позволяют редактировать встроенные типы контента или создавать новые (eZ Publish, APC ActionApps). Но есть и системы в которых все типы контента строго фиксированы (Xoops, Mambo).