ИСПОЛЬЗОВАНИЕ CMS СИСТЕМ ДЛЯ РЕШЕНИЯ ТЕХНОЛОГИЧЕСКИХ ЗАДАЧ Р.В. Бондаренко, С.В. Богданов, Д.Д. Куликов
В статье приводится описание CMS систем их структура, функции, виды, а также рассматривается возможность их применения для решения технологических задач как систем, обладающих хорошей адаптацией к проблемной среде.
Введение
В настоящее время web-технологии все чаще используются для реализации тех или иных технологических задач. Одной из таких технологий является и система управления контентом (content management system, CMS). Применение этой системы с учетом необходимых изменений в настоящее время обеспечивает наибольшую адаптацию по входным и выходным параметрам, а также, как следствие, адаптацию к проблемной среде. Слово content означает «нечто, содержащееся внутри» и применительно к письменным работам обычно входит в словосочетание table of contents - содержание, перечень разделов (скажем, книги). Отличительная черта контента состоит в том, что он конструируется из отдельных кусочков.
История управления контентом началась с управления документами в традиционном смысле этого слова, т.е. текстовыми файлами. По мере развития понятия «документ» системы управления документами стали называть системами управления контентом. Считается, что это позволяет подчеркнуть способность таких систем управлять информацией независимо от формы ее представления, а также отделить информацию-контент от документа-формы. Однако абстрактно управлять информацией невозможно - она обязательно должна быть представлена в какой-либо форме. Пытаясь управлять контентом, мы неизбежно приходим к управлению документами. Системы управления контентом, действительно, «научились» разделять управление документами (хранение, изменение и т.п.) и их представление конечному пользователю. Но они все-таки управляют документами в какой-то форме, а не информацией.
Само понятие «управление контентом» первоначально прочно ассоциировалось с процессом публикации и обновления информации на web-сайтах - требовалась технология, позволяющая следить за ее актуальностью. Поэтому в качестве синонима content management часто используют термин web content management. Применительно к организациям, оперирующим огромным количеством информации, уместно говорить уже о системах управления информационными ресурсами предприятия (enterprise content management, ECM). В результате термин content management расширился: им стали обозначать управление не только информацией на сайте, но и всеми разрозненными и разнообразными фрагментами корпоративной информации. Есть и другие определения.
Функции систем управления контентом можно разделить на несколько основных категорий.
• Создание - предоставление авторам удобных и привычных средств создания контента.
• Управление - хранение контента в едином репозитории. Это позволяет следить за версиями документов, контролировать, кто и когда их изменял, убеждаться, что каждый пользователь может изменить только тот раздел, за который он отвечает. Кроме того, обеспечивается интеграция с существующими информационными источниками и ИТ-системами. CMS поддерживает контроль за рабочим потоком документов, т.е. контроль за процессом их одобрения. Короче говоря, управление контентом включает в себя хранение, отслеживание версий, контроль доступа, интеграцию с другими информационными системами и управление потоком документов.
• Публикация - автоматическое размещение контента на терминале пользователя. Соответствующие инструменты автоматически «подгоняют» внешний вид страницы к дизайну всего сайта.
• Представление - дополнительные функции, позволяющие улучшить форму представления данных; например, можно строить навигацию по структуре репозитория.
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 языка для описания систем управления контентом, списка свойств CMS, словаря для их описания и соответствующих имен для каждого свойства в XML-разметке. Свойства разделены на три больших класса - создание, управление и доставка контента конечному пользователю.
В свою очередь, CMSWatch ежегодно выпускает отчет, включающий в себя обзор рынка CMS-систем, сравнение некоторых из них, описание жизненного цикла контента и управления им в CMS-системах.
В этой статье мы будем придерживаться классификации, основанной на модели представления данных - объектной, сетевой или модульной.
Объектная модель
Объектная модель представления данных оперирует такими понятиями, как класс и объект. Классы определяют структуру данных и представляют собой набор атрибутов (текстовая строка, целое число, изображение и т.д.). Представители класса (объекты) имеют определенную структуру и могут содержать другие объекты, образуя произвольную иерархическую структуру. Объекты могут наследовать свойства, содержание и поведение объектов, которые в них содержатся. Примерами объектов служат документы, картинки, папки и учетные записи пользователей. Класс контента не хранит в себе реальных данных - такую информацию содержат объекты (экземпляры класса). Определив один класс, можно создать множество его представителей (контент-объектов).
В CMS-системах данные обычно хранятся в реляционной или объектной базе данных. В первом случае объектная модель данных отображается на реляционную модель базы данных. Связи между объектами создаются, например, с помощью таблиц вида id, from_object, from_object_version, to_object. На рис. 1 приведена возможная структура класса «Статья» и его представителя.
Среди объектно-ориентированных CMS-систем можно встретить каркасы. Классический пример - Zope CMF. Вообще, Zope - ведущий свободно распространяемый сервер приложений, специализирующийся на управлении контентом в порталах и пользовательских приложениях. На основе этого сервера приложений построен каркас управления контентом Zope CMF, с помощью которого, в свою очередь, создан целый ряд CMS-систем, в частности, Plone.
Еще одна очень распространенная CMS этого класса - eZ Publish. Ее относят и к каркасам, и к ECM. Системы семейства eZ базируются на свободно распространяемом продукте eZ Publish. Наличие двух лицензий - GPL и профессиональной - позволяет создавать коммерческие продукты на основе каркаса eZ Publish, обеспечивая этой системе поддержку как сообщества Open Source, так и профессиональных разработчиков.
Контент класса Article
Имя атрибута Тип атрибута
АтриЗут1 Ше string.
Атрибут 2 Intro string.
Атрибут Э Body XML
Явллется жммплиром
Атрибуты
Рис. 1. Пример организации контента с помощью объектной модели данных
К этому классу можно отнести и систему 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 для создания решений в области электронной коммерции.
Как правило, системы, основанные на объектно-ориентированной модели данных, наиболее функциональны, гибки, но в то же время и наиболее сложны.
Сетевая модель
Данная модель представления данных опирается на теорию графов: структура информации представляется в виде узлов с помеченными связями между ними. Фундаментом системы может служить как сетевая, так и традиционная реляционная СУБД, на которую отображена сетевая модель описания данных. В реляционных таблицах хранится информация об узлах, их атрибутах и связях между ними. Связь отличается от атрибута тем, что в ней
хранится ссылка на другой узел, а в атрибуте - собственно значение. Для извлечения данных из направленного графа обычно используются рекурсивные процедуры обработки, такие как составление списков узлов, определение атрибутов узла по атрибутам родителя и другие варианты организации структуры данных сайта в виде графа. Системы такого типа -Communiware - вариант организации структуры данных сайта в виде графа. Эта система представляет собой инструментарий нового поколения для создания вертикальных web-сайтов и порталов.
Модульная модель
В подобных системах контент разделен на отдельные модули по типам содержимого. Структура данных зависит от модуля, и вся работа с контентом сосредоточена внутри модуля. Модули независимы и полностью отвечают за работу с документами данного типа. Документы описываются с помощью фиксированного набора характеристик - типы документов строго фиксированы. Расширять функциональность можно за счет добавления нового модуля, замены или редактирования существующего кода. Чаще всего нет никакой системы связей между документами разных модулей и между документами одного и того же модуля. Стандартный набор типов контента (модулей) таков: ссылки, статьи, файлы, новости, разделы, форум.
Несмотря на очевидную ограниченность модели данных, системы на ее основе наиболее популярны благодаря своей простоте. В качестве примера можно упомянуть такие системы, как PHPNuke, Mambo и Xoops.
У модульных CMS-систем есть один общий недостаток - строго фиксированная в пределах модуля структура содержимого. Однако для расширения их функциональности можно воспользоваться внешними модулями, которых в Сети немало. Очевидное преимущество этих систем - возможность получения почти полностью готового к использованию портала за короткое время.
Понятие Content management (управление информацией) на сегодняшний день включает в себя широкий спектр программного обеспечения, начиная с набора коротких скриптов, позволяющих добавлять новости или пресс-релизы на одной странице сайта, и кончая полноценными системами паблишинга, поддерживающих процессы workflow (цепочки Автор-Корректор-Редактор), обеспечивающих различные схемы разграничения доступа, автоматически создающих «связанные» документы.
Практическая реализация
Прототипом CMS-системы для ТПП можно считать работу Ф.В. Киселева, проделанную на кафедре ТПС в СПбГУ ИТМО в виде интеграции модуля расчета режимов резания для механообработки в систему «ТИС-Адрес» которая позволяет разрабатывать технологические процессы.
На рис. 2. представлен общий алгоритм работы модуля, а на рис. 3 - интеграция модуля в систему «ТИС-Адрес».
Реализация данной системы в виде web-приложения предоставляет возможность любому клиенту, имеющему браузер, полноценно работать и создавать технологические процессы посредством web-интерфейса. Данный модуль расчета режимов резания позволяет на основе общего web-интерфейса взаимодействовать с системой проектирования посредством использования XML-структур данных.
В качестве исходных данных (информация о параметрах обработки, материале заготовки, выбранном инструменте и т.д.) модуль может использовать данные из системы проектирования, затем откорректировать исходные данные и произвести расчет режимов резания. Выходные данные могут быть переданы обратно в систему проектирования технологических процессов для дальнейшего использования.
Рис. 2. Общий алгоритм работы модуля
Рис. 3. Интеграция модуля в систему «ТИС-Адрес»
В настоящее время существует уже много готовых решений, которые реально работают и приносят прибыль в бизнесе, такие как С-gator, Optimizer, Stikler и т.д.
Заключение. Будущее CMS
Будущее CMS-систем возможно за счет объединения компаний-разработчиков и покупки более мелких специализированных компаний. Ориентируясь на растущие потребности предприятий, лидеры сферы ECM выходят за рамки управления содержимым web-сайтов и управления документами.
Тем не менее, очевидно, что потребность пользователей в средствах автоматизации web-сайтов не только останется неизменной, но даже повысится. Эту нишу должны занять свободно распространяемые продукты модульного или объектного типа, если разработчики будут стремиться сделать их применение более простым. Системы сетевого типа, пожалуй, не получат широкого распространения. В России же системы управления контентом пока не слишком популярны, да и рынок их невелик.
Литература
1. Открытые системы. 2004. № 4.
2. Выпускная квалификационная работа Киселева Ф.В.
3. <http://www.cmsobzor.ru/>
4. Макаров С. Что такое ECM. // Директор информационной службы. 2003. № 4.
5. Жарикова Е. Выбор системы управления контентом интернет-ресурса <http://www.ibusiness.ru/marcet/tele/20905/> .
6. Ллойд Б. Введение в технологию Zope. <http://sun.med.ru/zope.net.ru/Zope/Intro/Brian_Lloyd/>.
7. Коржов В. Использование сетевой модели данных для управления информационным наполнением // Computerworld Россия. 2000. № 21.
8. Акопянц А. Системы управления web-контентом // eCommerce World. 2000. № 2.