CMIS
CMIS (Content Management Interoperability Services) — это открытый стандарт (спецификация) для взаимодействия систем управления контентом (CMS) и другими информационными системами, такими как системы управления документами (DMS), порталы и корпоративные приложения. Стандарт определяет набор веб-сервисов, протоколов и интерфейсов прикладного программирования (API), позволяющий различным системам обмениваться контентом (документами, файлами, метаданными) и управлять им независимо от платформы, поставщика или языка программирования.
История
Стандарт CMIS был разработан в рамках консорциума OASIS (Organization for the Advancement of Structured Information Standards). Работа над спецификацией началась в 2008 году по инициативе таких компаний, как IBM, Microsoft, EMC, Alfresco, SAP и других, стремившихся создать единый способ интеграции разнородных систем управления контентом. До появления CMIS каждая система имела собственный проприетарный API, что затрудняло интеграцию и обмен данными между ними.
Первая версия стандарта, CMIS 1.0, была утверждена OASIS в мае 2010 года. Она определила базовый набор операций, включая создание, чтение, обновление и удаление (CRUD) объектов, а также возможности поиска и навигации по репозиторию. Вторая версия, CMIS 1.1, была принята в 2012 году и расширила функциональность, добавив поддержку вторичных типов, возможность управления версиями и улучшенную поддержку атрибутов.
Архитектура и принципы
CMIS построен на архитектуре REST (Representational State Transfer) и SOAP (Simple Object Access Protocol). Это означает, что взаимодействие между клиентом и сервером может осуществляться как через HTTP-запросы с использованием XML или JSON для представления данных (REST), так и через SOAP-сообщения.
Основные понятия
- Репозиторий (Repository) — это хранилище контента, которое может быть реализовано как файловая система, база данных или специализированная CMS. Каждый репозиторий имеет уникальный идентификатор и предоставляет доступ к объектам.
- Объект (Object) — это основная единица контента в CMIS. Объекты могут быть документами (файлами), папками (контейнерами для группировки объектов), отношениями (связями между объектами) и политиками (правилами управления).
- Тип (Type) — определяет структуру и атрибуты объекта. CMIS поддерживает как базовые типы (например,
cmis:document,cmis:folder), так и пользовательские типы, которые могут быть созданы администратором репозитория. - Свойства (Properties) — это метаданные объекта, такие как имя, дата создания, автор, размер файла и т.д. Каждый объект имеет обязательные свойства (например,
cmis:name) и может иметь дополнительные, задаваемые типом. - Версия (Version) — CMIS поддерживает управление версиями документов. Каждый документ может иметь несколько версий, которые хранятся в виде серии объектов, связанных между собой.
Операции
Стандарт определяет набор операций, которые могут быть выполнены над объектами репозитория:
- CRUD: создание, чтение, обновление и удаление объектов.
- Навигация: получение содержимого папки, поиск объектов по пути или идентификатору.
- Поиск: выполнение запросов на языке CMIS Query Language (CMIS QL), который основан на SQL и позволяет фильтровать объекты по их свойствам.
- Управление версиями: создание новых версий, откат к предыдущим, получение истории версий.
- Управление отношениями: создание и удаление связей между объектами.
Применение
CMIS используется в различных сценариях, где требуется интеграция систем управления контентом:
- Интеграция корпоративных систем: связывание CMS с системами управления проектами, порталами, системами электронного документооборота (СЭД) и другими приложениями.
- Миграция контента: перенос данных между различными CMS или из устаревших систем в новые.
- Создание универсальных клиентов: разработка приложений, которые могут работать с любым CMIS-совместимым репозиторием, например, файловые менеджеры, редакторы документов или инструменты для совместной работы.
- Автоматизация процессов: использование CMIS для автоматического обмена документами между системами, например, при публикации контента на веб-сайте или в мобильном приложении.
Примеры реализации
Многие популярные системы управления контентом и документооборотом поддерживают CMIS:
- Alfresco — одна из первых систем, реализовавшая CMIS.
- IBM FileNet — корпоративная система управления контентом.
- Microsoft SharePoint — поддерживает CMIS с версии 2010.
- OpenText — платформа для управления корпоративным контентом.
- Nuxeo — открытая платформа для управления контентом.
- Documentum (EMC) — система управления документами.
Критика и ограничения
Несмотря на широкую поддержку, CMIS имеет ряд ограничений:
- Сложность реализации: полная реализация стандарта требует значительных усилий, особенно для систем с нестандартной архитектурой.
- Производительность: операции через CMIS могут быть медленнее, чем использование собственного API, из-за накладных расходов на сериализацию и десериализацию данных.
- Ограниченная функциональность: CMIS не покрывает все возможности, которые могут быть доступны в конкретной CMS, например, сложные рабочие процессы, права доступа на уровне записей или полнотекстовый поиск.
- Отсутствие поддержки в некоторых системах: некоторые популярные CMS, такие как WordPress или Drupal, не имеют встроенной поддержки CMIS, хотя могут быть расширены с помощью плагинов.
Интересные факты
- CMIS является одним из немногих стандартов, разработанных специально для управления контентом, и получил широкое признание в индустрии.
- Спецификация CMIS 1.1 включает поддержку вторичных типов, что позволяет динамически добавлять атрибуты к объектам без изменения их базового типа.
- Стандарт используется не только для интеграции CMS, но и для построения гибридных облачных решений, где часть контента хранится локально, а часть — в облаке.
Источники
- OASIS CMIS Technical Committee. "Content Management Interoperability Services (CMIS) Version 1.1". OASIS Standard, 2012.
- OASIS CMIS Technical Committee. "Content Management Interoperability Services (CMIS) Version 1.0". OASIS Standard, 2010.
- "CMIS and Apache Chemistry in Action". Brown, J., et al. Manning Publications, 2013.
- "Content Management Interoperability Services (CMIS) Overview". IBM DeveloperWorks, 2011.
- "CMIS: A Standard for Content Management Integration". Microsoft TechNet, 2010.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →