Логическая структура и архитектура WCMS

Web-интеграция

Во многих компаниях уже сложилась тенденция предоставлять своим сотрудникам, партнерам и клиентам доступ ко всем типам информации и сервисов посредством сети Web. Однако в корпоративных сетях компаний функционирует огромное число разнородных бизнес-приложений, созданных в различное время, различными организациями, на базе различных технологий. Задача Web-интеграции заключается в том, чтобы объединить разнородные web-приложения в единую среду на базе сети Web.

Практикуются следующие подходы к web-интеграции: 1) интеграция на уровне представления. Данный уровень позволяет пользователю взаимодействовать с приложением. Интеграция на уровне представления дает доступ к пользовательскому интерфейсу удаленных приложений; 2) интеграция на уровне функциональности. Данная интеграция подразумевает обеспечение прямого доступа бизнес - логике приложений. Это достигается непосредственным взаимодействием приложений с API (программному интерфейсу приложений) или же взаимодействием посредством web-сервисов; 3) интеграция на уровне данных. В данном случае предполагается доступ к одной или нескольким базам данных, используемых удаленным приложением; 4) комплексная интеграция. Коммерческие решения по web-интеграции, как правило, включают все три типа интеграции.

Использование web-интеграции выгодно по многим причинам: 1) web-интеграция позволяет развертывать информационные системы на базе сторонних приложений без необходимости разбираться в их родительских системах, программных средствах и архитектурах баз данных; 2) web-сервисы и SOA используют программный язык и платформо-независимые интерфейсы между приложениями корпоративной инфраструктуры ИТ - это дает очевидные преимущества в поддержке, управляемости, развертывании информационных сетей; 3) web-интеграция позволяет конструировать комплексную функциональность, комбинируя разнородные компоненты посредством протоколов web-сервисов; 4) web-интеграция позволяет использовать web-сервисы разработчиков; 5) web-интеграция позволяет развивать программные интерфейсы приложений через протоколы web-сервисов без программирования.

Для web-интеграции обычно используется коммерческое программное обеспечение (ПО) или популярные технологии, такие как PHP/Python/Perl, XForms, SOAP и т.д.

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

Заставить разные системы работать вместе – чрезвычайно трудоемкая задача. Идея использования XML в интеграции информационных систем сводится к созданию общего XML-языка, которым могла бы пользоваться каждая из них.

Такое решение сразу же намного упрощает проект. Вместо реализации взаимодействия между каждой парой систем следует всего лишь научить каждую из них «говорить» на XML языке. Иначе говоря, все сводится к разработке нескольких wrapper’ов, которые будут переводить со стандартного XML-языка интегрированной системы на язык, понятный каждой системе в отдельности: 1) средства разработки и стандартные библиотеки для XML существуют практически на всех платформах и для большинства популярных языков программирования; 2) методы работы с XML достаточно стандартны для того, чтобы в разных системах можно было пользоваться одинаковыми приемами; 3) информация, оформленная в виде XML, может обрабатываться не только машинами, но и человеком (что намного облегчает отладку).

В принципе, интеграция по XML-схеме не отличается коренным образом от интеграции на основе любого другого общего стандарта. Вместе с тем, она имеет целый ряд весомых преимуществ: 1) XML языки не зависят от аппаратных и программных платформ, что позволяет связывать разнородные системы; 2) выразительная мощность XML достаточно велика для того, чтобы описать данные практически любой сложности.

Интеграция на основе XML практически реализуется в рамках протоколов: 1) XML-RPC. Это протокол удаленного вызова процедур с передачей данных в формате XML через TCP-порт 80, т.е. HTTP-порт; 2) WDDX (Web Distributes Exchange). Представляет собой механизм обмена сложными структурами данных по протоколу HTTP. Протокол базируется не на структурах, а на событиях; 3) ebXML (electronic business XML) – XML для электронного бизнеса. Основное назначение – предоставление открытой XML-инфраструктуры, обеспечивающей безопасное глобальное использование информации электронного бизнеса; 4) web-сервисы(web-службы).

 

Функционирование WCMS

Система управления web-контентом (Web content management system – WCMS или Web CMS) – программное обеспечение CMS класса, реализованное обычно в виде web-приложения, и предназначенное для создания, и управления HTML содержимым.WCMS обычно используется для управления и контроля большими, динамически изменяемыми коллекциями web-материала (HTML документами и связанными с ними картинками). Такая система упрощает процесс создания, управления, редактирования контента и многие другие важные задачи, связанные с поддержкой этих процессов.

WCMS предоставляет следующие возможности: 1) применение автоматических шаблонов отображения (в HTML или XML формате), автоматически применяемых к новому или существующему контенту. Тем самым вид всех документов может задаваться из одного места; 2) простота редактирования контента. Пользователю достаточно легко создавать и управлять контентом, поскольку ему либо вообще не требуется знания языков программирования или языков разметки, либо требуется минимальное знание таковых; 3) масштабируемость. Возможность расширения функциональности существующего сайта путем установки поставляемых с дистрибутивом WCMS плагинов и модулей; 4) управление документами. Имеются средства управления жизненным циклом документов с момента создания до удаления; 5) визуализация контента. Любой пользователь может работать с виртуальной копией всего Web-сайта, множества документов или кодами программ, что позволяет увидеть все изменения множества взаимосвязанных ресурсов перед их окончательным применением.

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

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

Сначала группа внедрения разворачивает ядро WCMSи создает в СУБД информационное хранилище контента – базу данных. Далее администратор предоставляет доступ к системе различным пользователям, затем создается контент, он публикуется, и к нему применяются шаблоны оформления.

На этапе создания web-контентанеобходимо создать все типы контента и схемы их метаописаний, а также настроить систему на определенный поток работ. Понятие типа контента аналогично понятию класса, а элементы контента представляют собой набор экземпляров таких «классов». Типами контента являются, например, текст и изображение; экземпляром контента конкретный документ или картинка.

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

Кроме управления Web-контентом, система должна предоставлять возможность создавать метаданные о нем. Метаданные –это сведения о данных и их свойствах. Примером метаданных служат ключевые (характерные) слова документов, предназначенные для поисковых или отчетных систем.

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

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

 

Логическая структура и архитектура WCMS

В основе данной технологии лежит трезвенная архитектура клиент/сервер. Такая архитектура разбивает процесс обработки данных между клиентом, сервером приложений и хранилищем данных. В отличие от традиционной двухзвенной архитектуры здесь присутствует сервер приложенийкак промежуточное звено между клиентом и хранилищем данных. Необходимость такого звена продиктована требованиями приложений для предприятий, взаимодействующими с клиентами (через Internet), партнерами (через Extranet) и собственными работниками (через Intranet).

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

Традиционно в WCMS выделяют технологическую, клиентскую и публичные части.