Documentum 6 и сервисно-ориентированная архитектура
Архитектура SOA позволяет интегрировать сервисы управления содержанием в ИТ-инфраструктуру, где они могут участвовать в бизнес-процессах, и сокращает расходы на развертывание приложений ECM.
Сегодняшним ИТ-директорам приходится буквально сражаться с корпоративной ИТ-средой — сложной, недостаточно гибкой, затратной в обслуживании. Одновременно с этим от ИТ-департаментов все чаще требуют предоставить измеряемые бизнес-результаты. Однако в условиях ограниченных бюджетов, усиления конкуренции и быстрого изменения технологий добиться этих результатов очень непросто. Чтобы быть конкурентоспособными в условиях постоянного изменения корпоративных систем, организациям необходимо более эффективно использовать информационные ресурсы, не увеличивая при этом затраты, связанные с обслуживанием ИТ-инфраструктуры.
Подобное требование стимулирует развитие такого направления, как оптимизация бизнес-технологий, в рамках которого предлагается набор стратегий и средств для определения информационных приоритетов на основе ожидаемых бизнес-результатов. Сервисно-ориентированная архитектура (SOA) относится к одной из таких стратегий. SOA предоставляет широкий набор лучших практик, которые обеспечивают гибкий набор ресурсов для бизнеса, скрывая сложность нижележащих технологий.
SOA — это архитектура для построения бизнес-приложений в виде набора слабо связанных компонентов или «сервисов», которые соединяются вместе в бизнес-процессах. Другими словами, при таком подходе традиционные бизнес-приложения и функции разбиваются на отдельные задачи, обращающиеся к сервисам. Сетевые ресурсы в среде SOA доступны как независимые сервисы, для получения доступа к которым не требуется знаний о платформенной реализации нижнего уровня.
Сервисно-ориентированная архитектура характеризуется следующими основными признаками. Это компонентная архитектура, которая по мере возможности скрывает сложность реализации за счет наиболее эффективного подхода отделения бизнес-логики от вычислительной логики. Благодаря использованию стандартов независимые компоненты слабо связаны друг с другом, поэтому можно добавлять, изменять и удалять отдельные сервисы с минимальным влиянием на работу других сервисов. Уже существующие приложения можно многократно использовать с помощью адаптеров. Компоненты архитектуры выстраивают так, чтобы связать их вместе в составных приложениях, поддерживающих бизнес-процессы и предоставляющих набор гибких ресурсов на заданном уровне обслуживания.
В целом SOA представляет собой новое поколение ИТ-архитектуры, обеспечивающей быструю разработку гибких бизнес-приложений, эффективно использующих существующие активы.
Архитектура SOA создает основу для гибкости бизнеса, его способности к быстрым изменениям, обеспечивая ИТ экономически эффективный способ быстрее отзываться на требования бизнеса и одновременно улучшая разработку приложений, их развертывание и техническую поддержку. Традиционная архитектура, напротив, по сути развивается время от времени, по мере приобретения или создания новых бизнес-приложений с целью удовлетворения требований отдельных подразделений. Подобный подход приводит к тому, что ИТ-система состоит из изолированных областей, работающих независимо друг от друга. Страдающие дублированием и взаимозависимостью, эти сложные и неустойчивые архитектуры создают угрозу для развития бизнеса и получения прибыли. Независимость элементов и гибкость SOA делают внедрение данного подхода одной из наиболее важных на сегодня стратегических задач в сфере бизнеса и ИТ.
SOA и управление корпоративным содержанием
ПО для управления корпоративным содержанием (Enterprise Content Management, ECM) позволяет организациям создавать, собирать, использовать и архивировать цифровое содержание, независимо от того, где именно оно находится в масштабе предприятия. Средства и стратегии ECM сфокусированы на управлении неструктурированной информацией, например, текстовыми документами, сообщениями электронной почты, отчетами, XML, графическими данными, статическими изображениями, аудио- и видеофайлами и транзакционными данными. Как правило, ECM-решения представляют собой вертикальные приложения. Это означает, что модульные ECM-функции не всегда доступны для многократного использования в среде SOA, а поддержка, обновление и реализация ECM — более сложная задача. На рис. 1 показано, как элементы приложений вертикального уровня практически блокируют друг друга в процессе совместной работы.
Приложение для рассмотрения заявок на кредит, работа которого показана на рис. 1, можно было бы, например, целиком предоставлять как Web-сервис. Таким образом, благодаря простоте интеграции с ECM можно вписаться в корпоративную Web-сервисную инфраструктуру, но это не означает коренного изменения в архитектуре.
Настоящий сервисно-ориентированный подход к ECM предполагает создание и применение многократно используемых сервисов корпоративного содержания, где технологические особенности реализации и интеграции будут отделены от пользовательского уровня. При таком подходе функциональные возможности платформы используются в качестве сервисов в течение всего жизненного цикла информационного содержания, а сервисы при этом доступны в любой точке автоматизированных бизнес-процессов без знаний о нижележащей платформенной технологии.
SOA: подход EMC Documentum
Платформа управления корпоративным содержанием EMC Documentum соответствует архитектуре SOA, предоставляя ИТ гибкие средства и инструменты, удовлетворяющие потребности бизнес-пользователей. Для предприятия в целом SOA означает снижение стоимости владения и более быструю окупаемость ECM-решений. Для ИТ SOA — это возможность обновлять технологии управления содержанием, не прерывая работу бизнес-пользователей. Кроме того, SOA обеспечивает ИТ преимущества использования новых продуктов и сервисов без изменения технологий нижнего уровня.
В новой версии платформы для управления содержанием EMC Documentum 6 ради соответствия требованиям сервисной архитектуры была полностью изменена архитектура API. Такой подход к реализации сервисов корпоративного содержания предоставляет доступ к функциональности Documentum через набор стандартных сервисов. Эти готовые к работе, «коробочные» сервисы с их интуитивно понятным бизнес-синтаксисом можно использовать вместе с другими сервисами для создания составных бизнес-приложений.
На рис. 2 показана работа тех же приложений, что и на рис. 1, но реализованных уже в среде SOA. Здесь важно отметить уровень многократно используемых сервисов управления содержанием и то, как составные бизнес-приложения «отгородились» от ECM и других сервисов приложений, соответствующих определенным функциям и бизнес-процессам.
Наконец, при помощи SOA платформу Documentum можно интегрировать с другими бизнес-приложениями, например, с ERP или CRM. Именно этим приложения, которые просто поддерживают Web-сервисы, отличаются от приложений с истинной сервисно-ориентированной архитектурой.
Documentum и SOA: история взаимоотношений
Хотя пакет Documentum версии 5.3 поддерживал исполнение Web-сервисов через Web Services Framework (WSF), это был достаточно ограниченный набор технологий, спроектированный для того, чтобы сделать объекты SBO (Service-based Business Objects) доступными как Web-сервисы. В сущности, можно было взять часть бизнес-логики из Documentum и сделать ее доступной снаружи как Web-сервис.
Предположим для примера, что это была некая специальная пользовательская логика для подтверждения предоставленной информации, сохранения ее в репозитории Documentum и последующей отправки по электронной почте определенному адресату. Так вот, WSF позволила бы сделать эту функциональность доступной через Web-сервис. Версия же Documentum 6 предоставляет Documentum Foundation Services (DFS) — абсолютно новый набор продуктов, полностью заменяющий WSF. DFS обеспечивает разработку и внедрение ECM-сервисов и потребителей сервисов, используя по-настоящему сервисно-ориентированную архитектуру. Рассмотрим подробнее, как это происходит.
Documentum Foundation Services
Documentum Foundation Services (DFS) представляет собой новую сервисно-ориентированную структуру и интерфейс API, предназначенные для разработчиков и потребителей Enterprise Content Services. В DFS входит набор стандартных сервисов, при помощи которых можно использовать Content Server, механизмы поиска и технологические процессы платформы EMC Documentum. Технологии, составляющие DFS, перечислены ниже.
Enterprise Content Services. Это набор сервисов, которые предоставляют доступ к стандартным функциям платформы Content Server (например, создание, обновление и выборка объектов), а также дополнительные сервисы, включая поиск и workflow.
Модель данных. Реализует последовательный, сервисно-ориентированный подход к моделированию данных, обмен которыми происходит в рамках бизнес-процессов ECM.
Динамическая поддержка. Для DFS-сервисов и Java-задач динамическая поддержка реализована на стороне сервера и дополнительно на стороне клиента. На стороне клиента она необязательна, однако это предоставляет удобные функции, например, прозрачность доступа (возможность вызывать сервисы локально и удаленно), упрощенный интерфейс защиты, дополнительную поддержку передачи содержимого UCF, а также возможность использовать Java-методы и конструкторы.
Средства реализации собственных сервисов. Средства реализации сервисов на основе JAX-WS и Ant генерируют динамические DFS-сервисы, в исходный код которых добавляются комментарии. Сервисы можно разрабатывать на основе объектов SBO (Service-based Business Objects) или POJO (Plain Old Java Objects).
Software Development Kit. Инструментарий разработки ПО предназначен для разработчиков DFS-приложений и сервисов. В комплект входят библиотеки классов Java, средства проектирования DFS-сервисов, а также шаблоны приложений и сервисов.
Сервисная ориентация
Техническая реализация DFS основана на принципах архитектуры SOA. Сервисы и модели данных DFS упрощают процесс разработки корпоративных приложений за счет адаптации семантики сервисов и объектов данных к требованиям бизнес-логики ECM. Это позволяет быстро разрабатывать приложения, сочетая средства управления бизнес-процессами (например, BPM), и упрощает интеграцию системы управления корпоративным содержанием в сервисно-ориентированную инфраструктуру предприятия (SOE).
Технология DFS применяет сервисно-ориентированную архитектуру в рамках технологии Web-сервисов. Функция удаленного вызова DFS-сервисов реализуется при помощи Web-сервисов на базе SOAP, однако она предназначена для того, чтобы возможности транспортировки информации и передачи сообщений не зависели от других аспектов работы DFS, что обеспечивает гибкость SOA-архитектуры по мере развития DFS. Стандарты Web-сервисов включают нейтральный (с точки зрения языка и платформы) уровень для передачи данных и обмена сообщениями (SOAP), отраслевой стандарт на описание Web-сервисов (язык WSDL), а также набор дополнительных стандартов, которые сегодня широко используются при реализации множества SOA-функций (например, WS-Security).
Enterprise Content Services
Сервисы, созданные при помощи средств DFS и работающие в среде DFS, называются Enterprise Content Services. DFS предоставляет набор этих сервисов (они перечислены в таблице), который можно расширить за счет собственных сервисов. Кроме того, к поддерживаемым сервисам можно обращаться удаленно, как к Web-сервисам, или локально, как к Java-сервисам. Сервисы, поставляемые с DFS, обеспечивают сервисно-ориентированный программный интерфейс для Content Server и связанных с ним репозиториев и используют технологии полнотекстового поиска и workflow.
Платформенный сервис | Описание |
---|---|
Сервис объектов | Предоставляет базовые операции для создания, получения, обновления и удаления объектов репозитория, а также операций копирования и перемещения |
Сервис контроля версий | Предоставляет операции, касающиеся версий объектов репозитория, например, записи в репозиторий и выписки из репозитория |
Сервис запросов | Предоставляет операции для получения данных из репозиториев при помощи транзитной пересылки DQL и структурированных запросов |
Сервис схемы | Предоставляет операции, которые позволяют анализировать метаданные репозитория, благодаря чему можно кэшировать схему данных репозитория и выполнять ее автономную проверку |
Сервис поиска | Расширение для базовых сервисов, предоставляющее операции, которые позволяют вести в репозитории полнотекстовый поиск и поиск на основе свойств |
Сервис workflow | Предоставляет операции, которые извлекают информацию об имеющихся шаблонах процессов и запускают соответствующие процессы. |
Модель данных
Модель данных DFS, которая выражена главным образом в служебных XML-схемах, а для удобства и в виде набора клиентских библиотек Java-классов, обеспечивает согласованный, сервисно-ориентированный подход к моделированию данных, обмен которыми происходит в рамках бизнес-процессов ECM. Модель данных DFS предназначена для обмена сложными пакетами данных произвольного размера между сервисами DFS. Это оптимизирует размер полезной информации и минимизирует взаимодействия с потребителем сервиса. Модель данных также поддерживает независимость от соединения с сервисом, предоставляя клиентским приложениям возможность получать сложные данные от сервиса, а затем кэшировать и обрабатывать их самостоятельно.
Развертывание сервисов и динамическая поддержка
Сервисы управления корпоративным содержимым, поставляемые с DFS, а также дополнительные сервисы, созданные при помощи средств DFS, развертываются в виде независимых EAR-файлов на поставляемом сервере приложений. Сервисы DFS устанавливаются совместно с Content Server, где они выполняются на сервере Java Method Server. DFS также можно установить в автономном режиме на отдельный экземпляр сервера приложений или кластер сервера приложений.
Средства разработки
В DFS входит набор инструментов разработки для создания собственных сервисов и потребителей сервисов DFS Software Development Kit (SDK). SDK предоставляет разработчикам возможности, далеко превосходящие возможности бывшего WSF. Разработчики теперь могут с легкостью генерировать новые сервисы, которые будет использовать ECS. В DFS SDK включены библиотеки классов, инструментальные средства и примеры, которые можно использовать для создания собственных сервисов DFS либо создавать потребителей сервисов DFS, используя библиотеку клиента Java. Есть также пример потребителя на основе WSDL для среды .NET.
Пример применения
Предположим, разработчик проектирует приложение для обработки заявок на кредит, причем каждая заявка в нем сопровождается пакетом документов. Это могут быть, например, заявление, фотография, ИНН, справка о доходах. Такое приложение становится пользователем ECS, которому необходимо сохранить эти документы в репозитории Documentum и получить к ним доступ, когда возникнет необходимость. Для такого приложения можно создать собственный сервис с операциями соответствующего уровня. В свою очередь, этот сервис может использовать и скрыть взаимодействия более нижнего уровня с ECS.
Заключение
С помощью SOA отдельные приложения могут взаимодействовать между собой и совместно использовать одну и ту же информацию. За счет более простой интеграции приложений SOA позволяет более эффективно задействовать ИТ-ресурсы для реализации важных для бизнеса инициатив. Потенциально SOA также сокращает расходы на реализацию ECM. В результате становится понятно, что ECM более эффективно работает в качестве составной части базовой информационной инфраструктуры, где функции ECM используются как сервисы, а не как отдельные приложения. Поскольку ECM теперь выступает как часть основной ИТ-инфраструктуры, предприятия смогут использовать возможности управления содержанием в корпоративном масштабе. Поэтому поддержка SOA столь существенна для ECM-решений.
Одно из преимуществ SOA для ECM заключается в сокращении расходов на развертывание ECM. И, что еще более важно, SOA позволяет интегрировать сервисы управления содержанием в ИТ-инфраструктуру, где они могут принимать участие в бизнес-процессах наряду с сервисами других сервисно-ориентированных бизнес-приложений. В этом состоит долгосрочная выгода SOA для предприятий, и именно так видит концепцию SOA применительно к управлению содержанием компания EMC Documentum.
Елена Стрелкова, директор по маркетингу компании «Документум Сервисиз Раша» elena.strelkova@documentum.ru