Продолжается подписка на наши издания! Вы не забыли подписаться?

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

Автор: Петр Михеев
Опубликовано: 27.02.2006

Системы управления контентом являются важнейшим классом систем в World Wide Web. Бум на них прошел приблизительно в 2000-2001 годах, тогда в прессе появилось несколько публикаций, рассказывающих о том, что такое системы управления контентом и как их использовать. С тех пор прошло уже достаточно времени (а по меркам информационных технологий – целая вечность), и рынок систем управления контентом стабилизировался. Появились признанные лидеры, пользователи, поработав с различными системами, высказали свои мнения и пожелания. Таким образом, сегодня появляется возможность всесторонне (как говорится, “с высоты птичьего полета”) рассмотреть этот класс систем: дать точное определение системы управления контентом, составить на основе различных реализаций точный перечень функций, которые должны выполнять подобные системы, и, наконец, взглянуть на лучших представителей этого класса.


Рисунок 1. Информационные системы первого <BR/>поколения (статические сайты).

Введение

Информационная гипертекстовая система World Wide Web является самым популярным ресурсом сети Internet. В 1989 году Тим Бернерс–Ли, которого принято считать основателем World Wide Web, предложил руководству Центра ядерных исследований в Швейцарии концепцию новой распределенной информационной системы. Эта система, построенная на принципах гипертекста, должна была объединить все множество информационных ресурсов Центра. Вскоре проект был одобрен, и работа началась. Программа Mosaic, разработанная Марком Андресеном и построенная на принципах World Wide Web, обеспечила бурный рост этой системы и внесла огромный вклад в развитие ряда спецификаций World Wide Web. С тех пор развитие World Wide Web продолжалось фантастическими темпами. В январе 1993 года число Web-серверов достигло 50. Приблизительно через год их количество увеличилось в 4 раза. А в 1995 году World Wide Web превратился в столь заметное явление, что стал главной темой, обсуждавшейся на встрече Большой Восьмерки, которая состоялась в феврале этого года в Брюсселе. Сейчас число пользователей сети Internet составляет сотни миллионов, а количество Web-сайтов, согласно исследованию компании Netcraft, превысило 60 миллионов. Всемирная паутина (именно так переводится World Wide Web) настолько популярна, что ее даже иногда путают со всей сетью Internet (в которой, кстати, используются около десятка других протоколов), и часто, когда произносят World Wide Web, подразумевают Internet и наоборот. В связи с высокой популярностью всемирной паутины, многие люди занимаются ее изучением и даже пытаются классифицировать информационные системы, построенные на принципах World Wide Web. На сегодняшний день существуют различные подходы к выделению классов или, точнее, поколений Web-систем, например, в зависимости от богатства графики или анимации. Однако чаще всего информационные системы, построенные на принципах World Wide Web, делят на три поколения в зависимости от способа управления информацией: статические сайты, динамические и сайты, построенные на основе систем управления контентом.

Первое поколение представляет собой статические сайты, созданные в виде набора HTML-страниц, которые управляются и поддерживаются вручную. Специалисты, отвечающие за создание и поддержку системы, создают в формате HTML каждую страницу в отдельности, включая ее оформление и содержание. Очевидно, что такой подход приводит к смешению содержания и представления, а также исключает возможность повторного использования кода. Это усложняет процесс публикации новых сообщений и редактирования уже существующих (кроме непосредственной подготовки сообщений, их приходится еще и оформлять в соответствии с принятым дизайном сайта). При изменении дизайна сайта и общих элементов навигации страниц, таких как меню, заголовок, информация о разработчике, приходится вручную переделывать каждую страницу. Кроме того, реализовать бизнес-процессы, например, для поддержки электронных издательств, на базе статических сайтов практически невозможно. Вся работа по поддержке дизайна и информационного наполнения сайта взваливается на одного человека (или группу людей) – web-мастера. Все остальные, если они хотят добавить новую информацию или изменить представление уже существующей, должны обращаться исключительно к этому человеку, который в дальнейшем, возможно через достаточно длительный промежуток времени, создаст необходимые страницы. Поэтому сегодня, по мере объединения жизни реальных предприятий с World Wide Web, когда размеры гипертекстовых систем достигли громадных размеров, традиционная архитектура статических страниц, в которой все обязанности возлагаются на одного человека, уже не работает. Организациям приходится нанимать сотни людей, что приводит к дополнительным издержкам и создает проблемы несогласованности разработчиков.


Рисунок 2. Информационные системы второго поколения (динамические сайты).

Web-сайты второго поколения или динамические сайты создаются на основе различных серверных технологий, динамически генерирующих HTML, например Active Server Pages от Microsoft или Java Server Pages от Sun . При этом web-приложение представляет собой набор функций, генерирующих различные части web-страниц на основе информации, которая хранится, например, в реляционной базе данных. Такой подход дает возможность реализовать авторизацию и аутентификацию пользователей, а также генерацию персонального представления для каждого посетителя. Кроме того, при таком подходе удается решить проблему повторного использования кода, а также появляется возможность разделить работу между программистами и дизайнерами с помощью различных шаблонных механизмов. Однако при отсутствии развитого механизма управления информацией и шаблонами представления, такое разделение обязанностей очень затруднительно. В итоге представление и содержание чаще всего по-прежнему управляется одним человеком – web-мастером. Администраторы (или разработчики) сайтов должны сами загружать всю информацию в базы данных или иные хранилища информации, а также разрабатывать требуемое представление. Как следствие, динамические сайты дороги в разработке и предъявляют высокие требование к квалификации разработчиков и администраторов. Несмотря на это, при качественной разработке и поддержки динамические сайты наиболее гибки в использовании и являются мощным инструментом поддержки бизнес-процессов.

В информационных системах второго поколения (динамические сайты), также как и первого, присутствует “эффект бутылочного горла”, - чтобы опубликовать информацию, нужно пройти узкое горлышко, которое ассоциируется с web-мастером. В следующем поколении информационных систем разработчики решили облегчить себе работу и автоматизировать процесс публикации информации, предоставив пользователям возможность самим публиковать материалы в WWW и определять их визуальное представление, используя для этого стандартные средства, не требующие знания языка HTML и достаточно сложных для неспециалиста процедур. Были созданы системы управления контентом (в английском языке существует устоявшийся термин – Content Management Systems или, сокращенно, CMS). Системы управления контентом – наследники средств визуальной разработки и поддержки сайтов, таких как Microsoft FrontPage или Macromedia DreamWeaver. С их помощью можно, не будучи профессиональным разработчиком, создавать и модифицировать информационное наполнение сайтов. Но поскольку такие системы работают преимущественно со статическим представлением информации, сегодня они не устраивают пользователей. Основная идея систем управления контентом – разделение визуального дизайна сайта и его информационного наполнения. При создании сайта с помощью такой системы разрабатывается набор шаблонов страниц, в которых впоследствии размещается информация. В этом случае роль разработчиков (фактически это группа внедрения) ограничивается только созданием “начальной” информационной системы на основе системы управления контентом, затем пользователи сами публикуют требуемую информацию и определяют ее представление. Управление сайтом сводится к минимуму, – администратору остается только управлять пользователями.

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

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

Прежде чем окончательно понять, что такое системы управления контентом, необходимо рассмотреть понятие контента. Под контентом (дословный перевод английского термина content, означающего содержание, содержимое) понимают информационное наполнение сайта – то есть все типы материалов, которые находятся на сервере: web-страницы, документы, программы, аудио-файлы, фильмы и так далее. Таким образом, управление контентом – это процесс управления подобными материалами. Он включает следующие элементы: размещение материалов на сервере, удаление материалов с сервера, когда в них больше нет необходимости, организацию (реорганизацию) материалов, возможность отслеживать их состояние, например, используются они или нет. Управлять контентом можно различными способами в зависимости от решаемых задач. Например, обычному пользователю, поддерживающему свою домашнюю страницу, нужна только одна возможность – всегда видеть последнюю версию своей страницы. Разработчикам программного обеспечения требуется для поддержки совместной работы хранить версии своих программ на сервере. Это позволяет им вернуться в случае возникновения ошибки к одному из предыдущих состояний. Разработчикам web-сайтов нужно знать, кто над какой страницей в данный момент работает, чтобы не перезаписать по ошибке чью-то работу. Возможность хранения всех версий сайта для них не так уж и важна. Большой корпорации, возможно, потребуется назначить ответственных за различные аспекты работы сайта: например, юридический отдел отвечает за правовую информацию, отдел маркетинга – за описание продуктов, а дизайнеры – за то, как все это выглядит. Более того, очень часто возникает необходимость в дополнительных просмотрах изменений страниц до того, как они станут доступными широкой публике. Большая страховая компания или банк по закону обязаны сохранять копии Web-страниц в течение нескольких лет. Такая разница в требованиях приводит к разнице в технологиях и продуктах, которые обеспечивают управление контентом. В то же время потребности пользователей развиваются в различных направлениях, и они не хотят полностью менять свои системы управления контентом, чтобы удовлетворить новые потребности.


Рисунок 3. Информационные системы третьего<BR/>поколения, построенные на основе <BR/>систем управления контентом.

Согласно классификации Giga Information Group, системы управления контентом делятся на четыре основных категории, которые частично перекрываются. Системы управления исходными кодами традиционно поддерживают управление исходными кодами программ, и часто предоставляют некоторый web-интерфейс, который может использоваться внутри корпоративной сети, а также вне ее для параллельной работы с исходными кодами. Системы управления документами предназначены для организаций, оперирующих с большим количеством документов, например, офисы больших компаний, редакции и страховые компании. Системы управления web-контентом представляют собой новую индустрию программных продуктов. Эти системы предназначены для разработки и управления Web-сайтами различной степени сложности. Обычно такие системы поддерживают и некоторый тип управления потоками работ. Системы электронной коммерцииобеспечивают хранение и управление электронными каталогами товаров. По сути, эти системы незначительно отличаются друг от друга. Самое главное отличие этих систем – это люди, которые их используют.

Каждой из этих категорий систем соответствует свой прикладной интерфейс программирования. Например, системы управления исходными кодами и средства разработки общаются между собой согласно общему интерфейсу, который называется Source Code Control API (SCC API). Применение этого интерфейса ограничено платформами Microsoft Windows, но, тем не менее, это большой шаг к тому, чтобы пользователи различных средств разработки могли хранить свои исходные коды в хранилищах различных поставщиков. Точно так же, в мире управления документами, существует интерфейс – Document Management API (DMA). Разработчики средств обработки документов часто поддерживают этот интерфейс, чтобы интегрировать свои средства разработки с DMA-хранилищами документов. В системах управления Web-контентом используется Web Distributed Authoring and Versioning (WebDAV), который представляет собой набор расширений протокола HTTP/1.1, обеспечивающих публикацию, совместное редактирование и управления файлами на удаленных Web-серверах. Кроме того, в последнее время появляются организации, пытающиеся объединить разработчиков систем управления контентом, создать единую информационную среду для потенциальных пользователей подобных систем, разработать и утвердить единые стандарты. Прежде всего, это ассоциация Open Source Content Management (OSCOM, http://www.oscom.org/). Одним из ее основных проектов является CMSML – язык, основанный на XML и предназначенный для описания систем управления контентом. Элементы этого языка описывают три основных задачи, которые решают системы управления контентом, — создание, управление и доставка контента конечному пользователю. В рамках проекта Java Community Process (JCP) ведутся работы над JSR-170, новой спецификаций API для хранилищ контента. Этот интерфейс содержит описание управления версиями контента, полнотекстовый поиск, разграничение доступа на уровне отдельных атрибутов, управление категориями и отслеживание событий.

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

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

Требования, предъявляемые к системам управления контентом, у каждой организации разные. В ходе подготовки статьи был проанализирован целый ряд систем управления контентом, ссылки на которые можно найти в следующих источниках. Прежде всего, это CMSWatch (http://www.cmswatch.com) – организация, которая ежегодно выпускает отчет, включающий в себя обзор рынка систем управления контентом и сравнения некоторых из них. Кроме того, обзоры систем управления контентом публикуются на сайтах http://www.la-grange.net/cms, http://www.opensourceCMS.com и http://www.cmsinfo.org.

Более того, на сегодняшний день существуют и специальные работы, посвященные анализу функций систем управления контентом. Среди них есть как коммерческие руководства, так и открытые публикации. Наиболее полное из них – это Content Management Requirements Toolkit (http://www.steptwo.com.au/products/toolkit/), который распространяется как коммерческий продукт. В нем упоминаются 112 функций систем управления контентом, которые разбиты на несколько разделов. Несмотря на кажущуюся полноту и ясность, этот продукт содержит много лишних или само собой разумеющихся требований. Например, то, что HTML, содержащийся в сгенерированных Web-страницах, должен быть правильным. Также вызывает вопросы и классификация функций систем управления контентом. Кроме указанного руководства, существует и ряд открытых публикаций, в которых также дается интересный перечень функций систем управления контентом, например, James Robertson "How to Evaluate a Content Management System" (опубликовано в http://www.intranetjournal.com), Paul Browning "CMS Feature List" (находится на сайте университета Бристоля, по адресу http://www.bris.ac.uk/ISC/cms/features.htm). Будем придерживаться следующей классификации и перечня функций систем управления контентом, полученного на основе перечисленных выше работ.

Функции систем управления контентом структурированы согласно жизненному циклу системы. Сначала администратор предоставляет доступ к системе различным пользователям, затем создается контент, и, наконец, он публикуется. На рисунке 4 представлены категории функций систем управления в виде UML-диаграммы: пунктирная линия со стрелкой обозначает зависимости между пакетами функций, например, механизм публикации зависит от механизма управления контентом, сплошная линия с ромбом на конце означает композицию, так пакет Управление Контентом (в котором, кстати, сосредоточена основная часть требований) содержит два подпакета Создание Окружения и Создание Контента. Первый – Создание Окружения соответствует настройке системы на определенный поток работ (менеджер создает поток работ, а также все типы данных и схемы их метаописаний). На втором этапе (пакет Создание Контента) пользователи начинают работать с контентом, согласно установленному потоку работ. Пакет Управление Пользователями описывает процесс управления группами, отдельными пользователями, а также назначение пользователям прав на выполнение определенных операций. Рассматривается возможность пользователя делегировать свои права. Пакет Публикация определяет требования к процессу публикации на основе механизма шаблонов. Пакет Представление определяет требования к полученному представлению информации. В данную спецификацию не включены требования, которые автоматически подразумеваются или являются общими для систем подобного класса (Общие функции), например, то, чтобы сгенерированный HTML был "правильным" и требования к производительности и защищенности, а также дополнительные требования (Дополнительные функции), которые часто предъявляют к системам управления контентом, например, наличие форумов и конференций (они могут быть реализованы “поверх” систем управления контентом). Пакеты этих требований выделены серым цветом.


Рисунок 4. Классификация функций систем управления контентом.

В мире существует множество систем управления контентом. Условно можно выделить три основных класса подобных приложений. Это системы крупных производителей, например, Microsoft Content Management Server, системы с открытым исходным кодом, например, RedHat CMS и OpenCMS, и разработки небольших компаний, которые применяются на нескольких проектах, созданных непосредственно компанией-разработчиком (более 80% всех систем управления контентом). Ниже мы более подробно рассмотрим функции систем управления контентом, входящих в каждый пакет требований, а также реализацию этих функций в двух наиболее известных и старейших системах, написанных на языке Java. Это – система управления контентом Red Hat (бывшая ArsDigita) и система управления контентом OpenCms (существует русскоязычный сайт для поддержки этой системы, http://www.opencms.ru). Эти системы были отобраны по следующим критериям. Во-первых, они достаточно технологичны: платформа J2EE довольно продвинута и содержит множество стандартных сервисов, например, поддержки транзакций, доступа к базам данных, глобализации приложений и так далее. Во-вторых, в отличие от продуктов Microsoft они распространяются бесплатно, поэтому каждый может скачать и установить их. Если рассматриваемая функция отсутствует у обеих систем или реализована недостаточно хорошо, то будет рассматриваться ее реализация в других системах, например, в Microsoft Content Management Server.

Создание окружения

На первом этапе необходимо создать все типы контента и схемы их метаописаний, а также настроить систему на определенный поток работ (если система поддерживает создание потоков работ, а не использует единственный встроенный). Понятие типа контента аналогично понятию класса, а элементы контента представляют собой набор экземпляров таких “классов”. Типами контента являются, например, текст и изображение; экземпляром контента конкретный документ или картинка. Часто в системах управления контентом, написанных на языке Java, тип контента – это класс Java, который инкапсулирует все остальные типы. Это решение используется и в RedHat CMS и в OpenCms.

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

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


Рисунок 5. Рабочий процесс в Microsoft Content<BR/> Management Server.

Следующая важная возможность – хранение информации о версии контента. Это позволяет задать номер версии любых операций изменения контента и при необходимости восстановить его. В любой момент можно отказаться от изменений и, практически в режиме реального времени, откатиться на одну из предыдущих зафиксированных версий. Строгий контроль версий необходим для определения ответственности отдельных лиц, а также для резервного и аварийного восстановления системы. Система управления контентом RedHat для каждого элемента контента хранит все его версии, и вся работа ведется с последней версией (latest). Кроме того, существует и текущая (live) версия, которая видна пользователям сайта. Система управления контентом OpenCMS может хранить все версии элементов контента, и при желании можно вернуться к любой из них.

Кроме управления контентом, система должна предоставлять возможность создавать метаданные о нем. Метаданные – это сведения о данных, свойства данных. Примером метаданных служат ключевые (характерные) слова документов, предназначенные для поисковых или отчетных систем. Системы управления контентом, рассматриваемые в данном обзоре, не поддерживают метаданные, хотя можно специально ввести дополнительные типы контента, представляющие собой метаданные. В Microsoft Content Management Server для каждого элемента контента можно задать набор свойств, и использовать последний для различных целей, например, для поиска данных или разбиения элементов контента на различные категории.

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

Система управления контентом RedHat позволяет связывать с каждым типом контента рабочий процесс, который тот должен пройти, прежде чем стать видимым пользователям. Каждый процесс в RedHat CMS состоит из набора заданий, между которыми можно задать зависимости (например, чтобы выполнить одно задание, необходимо выполнить несколько предыдущих), и для которых можно назначить конкретных исполнителей. Таким образом, можно создавать собственные рабочие процессы различной степени сложности. Аналогичным образом работает и система управления контентом OpenCMS.

Типичный процесс публикации информации в World Wide Web реализован в Microsoft Content Management Server. Обычным приемом обеспечения оформления информационного наполнения являются шаблоны представления информации. Поэтому первым этапом процесса является создание наборов шаблонов. Типичный шаблон содержит разметку HTML и места, куда в дальнейшем будут вставлены данные (placeholder’ы в терминологии Microsoft). Далее на основе этих шаблонов авторы информационного наполнения создают страницы и представляют их редакторам для одобрения. Редакторы, в свою очередь, могут либо отклонить страницу и вернуть ее автору на доработку, либо одобрить ее и передать модератору сайта. В первом случае процесс повторяется снова, во втором же модератор сайта проверяет расположение страницы на сайте, дату и срок ее публикации. Если все в порядке, страница становится видна пользователям. Несмотря на то, что рабочий процесс в Microsoft Content Management Server фиксирован и не может быть изменен в дальнейшем, подобное решение подходит большинству пользователей, которым необходимо публиковать информацию в World Wide Web.

Создание контента

После того, как все типы контента созданы и рабочие процессы запущены, авторы информационного наполнения начинают создавать, изменять и удалять элементы контента указанного типа. В системе управления контентом RedHat для каждого вновь созданного типа контента необходимо написать собственный код для редактирования и обновления элементов контента данного типа (в терминах RedHat это называется Authoring Kit). Authoring Kit типа контента состоит из набора визуальных компонентов для просмотра и редактирования данных, связанных с элементами этого типа. RedHat CMS уже содержит некоторый набор визуальных компонентов, например, для редактирование текста, выбора изображений, выбора шаблона представления.

Кроме непосредственно редактирования элементов контента, необходимо предусмотреть разбиение контента по категориям или рубрикам. Обычно категории организуются в некоторые иерархические структуры, в узлах которых содержатся элементы контента. Система управления контентом RedHat поддерживает иерархию секция-категория-элемент. Система управления контентом OpenCMS поддерживает группировку элементов содержимого в каналы, но поскольку элементом содержимого является класс, то можно создавать связи между классами, при этом некоторые из них и будут представлять категории.

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

Возможность поиска объектов и их частей также важна для систем управления контентом. Некоторые системы имеют собственные механизмы поиска, другие ведут поиск средствами нижележащих хранилищ данных, которые они используют. Система управления контентом RedHat поддерживает поиск на основе механизма поиска базы данных Oracle. В системе управления контентом OpenCMS поиск основан на Apache Lucene (свободно распространяемая система индексации документов).

Система управления контентом является только одной из множества систем, которые используются на предприятии. Использование системы управления контентом будет успешным, если она будет обмениваться информацией с уже существующими системами. Механизмы этого объединения должны быть основаны на открытом или промышленном стандарте. Контент может подгружаться в базу данных или напрямую отображаться в графических шаблонах в режиме реального времени. Система управления контентом RedHat не поддерживает интеграцию с внешними системами. Единственным способом взаимодействия с внешними системами является взаимодействие на уровне нижележащих хранилищ данных, т.е. загрузка и выгрузка информации непосредственно из реляционного хранилища. В системе управления контентом OpenCMS поддерживается взаимодействие с EJB, где можно использовать Java Connectors. Java Connectors определяет стандартный Connector Service Provider Interface (Интерфейс поставщика услуг коннектора), который, как правило, реализует разработчик корпоративной информационной системы предприятия. Многие производители КИС (BEA, IBM, SAP, iPlanet) представляют адаптеры ресурсов, реализующие Connector SPI для обеспечения взаимодействия управляющих средств контейнера/сервера J2EE с EIS.

Управление пользователями

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

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

Представление информации создается на основе данных, а также предпочтений конкретного пользователя. Персонификация достигается путем использование профилей – специальных записей, в которых хранится информация, специфичная для конкретных пользователей. Система управления контентом RedHat не предоставляет возможности хранения персональных данных пользователей (хотя ее можно и реализовать, введя новые типы контента). Система управления контентом OpenCMS допускает создание индивидуального представления контента. Встроенная система администрирования OpenCMS позволяет сохранять связанные с пользователем данные.

Публикация информации

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

Как уже говорилось, чаще всего для решения проблемы представления в системах управления контентом используется технология шаблонов, определяющих внешний вид страницы. В идеале, разработчику шаблонов не нужно знать никаких технических тонкостей. На ранних этапах существования WWW шаблоны представляли “заготовки” HTML-кода, из которого путем манипуляций в HTML-редакторе получались готовые страницы. Сегодня такими заготовками манипулируют уже не дизайнеры в своих редакторах, а серверные web-приложения. Таким образом, современный шаблон Web-страницы представляет собой блок HTML, который благодаря специальным тегам или внедренным сценариям, облегчает включение динамически сгенерированного содержания на этапе выполнения. При использовании подобных шаблонов программистам необходим некоторый стандартизированный интерфейс для работы с ними – шаблонный движок (в английском языке существует устоявшийся термин – template engine), который может иметь разнообразные дополнительные функции, например, поддерживать кэширование шаблонов, их динамическое обновление и т.д.

Существует большое количество подходов к созданию шаблонов Web-страниц и множество шаблонных движков, написанных на всевозможных языках программирования и предназначенных для использования на различных серверных платформах. Более подробный обзор шаблонных движков и примеры их применения на практике приводятся в (Михеев Петр “Подходы к созданию шаблонов web-страниц в серверных Java-приложениях” Технология клиент-сервер, № 1, 2003).

Система управления контентом RedHat использует XSLT-преобразования на стороне сервера, которые в данном случае и являются шаблонами представления. Сценарий генерации страницы в этом случае описывается следующей схемой: клиент запрашивает требуемую страницу; сервер находит и сериализует в XML все элементы контента, находящиеся на этой странице; сервер находит и применяет соответствующее преобразование к этому документу; результат преобразования (требуемемая страница) возвращается клиенту. В отличии от RedHat CMS, OpenCMS использует Java Server Pages (JSP) и собственные библиотеки тегов для создания шаблонов страниц. Наличие библиотек тегов позволяет организовать работу так, чтобы дизайнеры и программисты могли решать свои задачи практически независимо друг от друга. При этом дизайнеры разрабатывают визуальное представление, используя HTML-, XML- и JSP-теги, а разработчики концентрируют свое внимание на реализации этих тегов, предназначенных, например, для доступа к свойствам элементов контента.

Заключение

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


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

Copyright © 1994-2016 ООО "К-Пресс"