CMISсемизм
Джон Манчини, президент AIIM, в своем блоге опубликовал ответы Лоуренса Харта, директора по технологическим решениям Washington Consulting, Inc и эксперта с 13-летним стажем в области ECM, что такое CMIS.
Если коротко, то CMIS (Content Management Interoperability Services) - это, по мнению Wikipedia, «предлагаемый ведущими производителями пакет стандартов, состоящий из набора веб-сервисов для совместного использования информации, хранимой в несвязанных между собой хранилищах контента. Предлагаемый набор стандартов должен гарантировать возможность взаимодействия пользователей и приложений, совместно использующих различные хранилища контента».
Итак, 8 фактов, которые по мнению Джона Манчини и Лоуренса Харта вы должны знать о CMIS:
- CMIS - это не новый интерфейс к вашему хранилищу контента. Это модель предметной области (domain model) в части организации контента, и описание протоколов для работы с ней. Сейчас реализованы два протокола - веб-сервисы (SOAP) и Restful AtomPub. Если появится новая технология, то можно будет разработать новую привязку (binding) для работы с уже существующей моделью. Это вселяет надежду, что CMIS задержится на ECM-небосводе надолго.
- CMIS серьезно упрощает взаимодействие разных репозиториев контента. Например, будет проще организовывать перемещение контента из основного депозитория в архив или в репозиторий, обслуживающий систему управления документами (RMS, Records Management System).
- CMIS позволяет строить «репозиторнонезависимые» приложения для управления контентом. Разработчики смогут сфокусироваться на решении бизнес-проблем, с репозиторием (или репозиториями) такое приложение сможет работать через стандартный API.
- CMIS упростит создание федераций репозиториев. Единый API позволит пользователям работать с несколькими репозиториями (даже от разных производителей).
- CMIS технологически нейтрален. К одному и тому же репозиторию смогут обращаться .Net, Java, PHP, Flex и другие приложения. Поставщики прикладных решений больше не будут ограничены платформами для построения своих решений.
- CMIS не просто стандарт, он поддерживается ведущими ECM-вендорами (Alfresco Software, ASG Software Solutions, Content Technologies ApS, Day Software, Ektron, EMC Corporation, ESoCE-NET, Exalead, Inc., FatWire, Flatiron Solutions Corporation, Greenbytes GmbH, Harris Corporation, IBM, Microsoft Corporation, Nuxeo, Open Text Corporation, Oracle Corporation, SAP AG, Saperion AG, Sun Microsystems, Vignette Corporation.
- CMIS поддерживается open-source комьюнити.
- CMIS еще в начале своего пути. Все только начинается.
Когда видишь, слышишь, читаешь про 13-летний опыт, да еще в столь молодой отрасли, становится страшно высказывать свое мнение - у тебя же нет такого бэкграунда, может, ты просто не понимаешь очевидных истин. Тем не менее, попробую сформулировать свои тезисы. Их у меня набралось, правда, не восемь, а всего пять.
- Для веб-решений, когда репозитории, серверы приложений и клиенты разбросаны по разным частям Интернета, взаимодействие через стандартный интерфейс оправдано, если не сказать, что это вообще единственный вариант. Учитывая это и тот факт, что в первую очередь реализованы SOAP и REST, CMIS получит распространение в первую очередь в облачных и распределенных системах.
- Риторика на тему CMIS будет вестись на уровне независимых экспертов, вендоров и поставщиков решений. Конечным пользователям CMIS-совместимость, равно как и CMIS-несовместимость ECM-решения будет волновать в куда меньшей степени, чем способность решения закрывать бизнес-потребности.
- На мой взгляд, маловероятно, что кто-то (разве что open-source комьюнити) будет производить «голые» CMIS-совместимые репозитории. Такой продукт будет непросто продать конечному пользователю. Тем более что твой продукт может без проблем быть заменен другим. Может случиться, что бесплатным open-source решинием. В любом случае придется покупать «целую» систему, включающую помимо репозитория еще и сервер приложений, и сам клиент.
- Не думаю, что все ECM-вендоры посчитают поддержу CMIS в своих продуктах делом чести. Для мелких вендоров это будет означать ослабление позиций.
- В теории универсальные API выглядят действительно невероятно круто да и просто красиво, на практике же зачастую получаем низкую пропускную способность и необходимость «жестоко извращаться», чтобы решить практическую в доску задачу. «Через CMIS» можно будет решить скорее типовые задачи. Если применяется более сложный алгоритм или критична пропускная способность репозитория, взаимодействие приложений будет осуществляться через более низкоуровневые интерфейсы.
В общем, я не против CMIS, а скорее за, но лично не думаю, что этот стандарт способен серьезно изменить ECM-ландшафт.
Комментарии 2
Еще один тонкий момент: стандарт допускает опциональность некоторых функций. Например, репозиторий может не поддерживать поиск или поддерживать только частично, необязательна поддержка версионности контента, страниц предпросмотра, управление доступом может быть реализовано по совершенно различным схемам и т.д. В результате, сквозные задачи в приложениях реализуются не так-то просто. То есть CMIS, конечно же, упрощает задачу интеграции репозиториев, но не делает ее чисто технической.
Насчет практики универсальных стандартов -- отличный пример это набор стандартов W3C вокруг HTML. Если ранее производители web browsers соревновались кто добавит более экзотическую возможность, то сейчас они, во-первых, соревнуются кто полностью пройдет http://www.acidtests.org/ а, во-вторых, кто быстрее.
Конечно, рынок web browsers является уже customer-centric в то время как рынок ECM еще vendor-centric.
Thanks,
AS