■ 仕様書本家サイト
■ 概要(※Abstractの訳)
Content Management Interoperability Services (CMIS)標準は、複数のContent Management Repository/System (CMS)と共に動作するアプリケーションが利用できる、ドメインモデル、Webサービス、Restfull AtomPubバインディングを定義します。
CMISインターフェースは、既存のCMSやそれらのプログラミング言語向けインターフェースの上位層に位置付けられるよう設計されています。CMISインターフェースは、既存CMS特有の機能を如何に実装するか説明したり、そのCMSの全ての機能(capability)をCMISインターフェースを通して公開しようと意図するものではありません。むしろ、CMSの一般的(generic)/普遍的(universal)な機能(capability)セットとそれら機能を活用するサービスのセットを定義することを目指しています。
■ ドメインモデル概要
- Repository
・CMISのサービスを提供する“インスタンス”・Capabilityが定義されていて、アプリはどういったCapabilityが備わっているか問い合わせることができる
- Object
・Repositoryに格納されるモノ・下記4種のベースタイプ(Object-Type)がある:
- Document Object- Folder Object- Relationship Object- Policy Object・CMISとして規定するアクセス制御が為される・Repositoryに対してSQL互換のQuery言語を投げてObjectを抽出できる
※そのため(?)、CMISのObjectは強く型付けされる・Repositoryは、Objectに対する操作のChange Logを取り、管理する
- Document Object
・いわゆるドキュメント、の理解でOK・バージョン管理される・何れのFolderにも属さなかったり、複数のFolderに属したりもできる
- Folder Object
・いわゆるフォルダー、の理解でOK・階層化可能(※"/"区切りのパス表現あり)
・バージョン管理されない
- Relationship Object
・SourceとTargetの間にRelationshipを張る・タイプ(※つまり、どのような意味のRelationshipか、を表す)が既定される
- Policy Object
・CMISのシステムが、各Objectをどのように取り扱うかの表明
※例えば、「削除後nヶ月はリカバリー可能」などを表明する
※アクセス制御のことではない
・より具体的な仕様はCMISとしては規定せず、各実装が任意に扱え、というスタンス
■ CMISが定義している主だったサービス(API)
getRepositoriesgetRepositoryInfogetChildrencreateDocumentcreateFoldergetObjectgetObjectByPathdeleteObjectquerycheckIncheckOut...
◆以上