私はあなたの質問のいくつかに答えることができます. 完全な開示: 私は ModeShape の創設者であり、プロジェクト リーダーです。
簡単に言うと、ModeShapeは、ファイル システム、データベース、データ グリッド、その他のリポジトリなど、複数のシステムのコンテンツを連携および統合する、軽量で組み込み可能で拡張可能なオープン ソース JCR リポジトリの実装です。従来のJCRシステムのように持っている、または使用しています。
ModeShape のより高度な機能の一部を次に示します。
- JCR 2.0 に必要なすべての機能をサポートします。リポジトリの取得。認証; 読書/ナビゲート; クエリ; 書き出す; ノードタイプの発見; パーミッションと機能チェック
- JCR 2.0 のオプション機能のほとんどをサポートします。輸入; 観察; ワークスペース管理; バージョン管理; ロック; ノードタイプ管理; 同姓同名の兄弟; 注文可能な子ノード。共有可能なノード; と
mix:etag
、mix:created
およびmix:lastModified
自動作成されたプロパティを持つミックスイン。
- JCR 1.0 および JCR 2.0 言語 (XPath、JCR-SQL、JCR-SQL2、JCR-QOM など) に加えて、JCR-SQL2 全文検索式文法に基づく全文検索言語をサポートします。さらに、ModeShape は、JCR-SQL2 に対するいくつかの非常に便利な拡張機能をサポートしています。
- 条件のサブクエリ
- 集合演算 (例: "
UNION
"、" INTERSECT
"、" EXCEPT
"、それぞれにオプションの " ALL
" 節がある)
- 制限とオフセット
- 重複削除 (例: "
SELECT DISTINCT
")
- 追加の深さ、参照、パス基準
- 基準の設定と範囲 (例: "
IN
"、" NOT IN
"、および " BETWEEN
")
- 算術基準 (例: "
SCORE(t1) + SCORE(t2)
")
- 完全外部結合とクロス結合
- もっと
- RDBMS ( Hibernate経由)、データ グリッド (例: Infinispan )、ファイル システムなど、複数のストレージ オプションから選択するか、必要に応じて独自のストレージ コネクタを記述します。
- JCR API を使用して、既存のサービス、ファイル システム、およびリポジトリの情報にアクセスします。ModeShape コネクタは、外部情報を JCR リポジトリに投影し、複数のシステムからの情報を 1 つのワークスペースにフェデレートする可能性があります。カスタム コネクタを作成して、他のシステムにアクセスすることもできます。
- ファイルをアップロードすると、ModeShape がそれらのファイルの内容を表す構造化された情報を自動的に解析して導き出します。この派生情報はリポジトリに保存され、他のコンテンツと同じように照会およびアクセスできます。ModeShape は、CND、XML、XSD、WSDL、DDL、CSV、ZIP/JAR/EAR/WAR、Java ソース、Java クラスファイル、Microsoft Office、画像メタデータ、およびTeiidモデルと VDB。他のファイル タイプのシーケンサーを作成することも非常に簡単です。
- ファイル拡張子を使用したすぐに使える検出と、 Apertureを使用したコンテンツベースの検出を備えた、自動化された拡張可能な MIME タイプ検出。
- Microsoft Office、PDF、HTML、プレーン テキスト、およびTikaを使用した XML ファイルをすぐにサポートする、拡張可能なテキスト抽出フレームワーク。
- JGroups を使用した単純なクラスタリング。
- ModeShape を独自のアプリケーションに組み込みます。
- RESTful API (アプリケーション サーバーへの展開が必要)。
これらはハイライトのほんの一部です。これらおよびその他の ModeShape 機能の詳細については、ModeShape のドキュメントを参照してください。
ここで、番号付きの質問に対する具体的な回答をいくつか示します。
ModeShape は JBoss.org でホストされており、他の JBoss テクノロジを使用/統合しています。しかし、ModeShape は JBoss Application Server に結び付けられていません。ModeShape は、他の JCR 実装 (通常は Web アプリケーションに組み込まれる) とほぼ同じ方法で、他のアプリケーション サーバーで使用できます。さらに、ModeShape はあらゆるアプリケーションに組み込むことができます。結局のところ、これは単なる通常の Java ライブラリです。ModeShape ログ メッセージをアプリケーションのロギング フレームワークに送信できるように、SLF4J も使用します。
そうは言っても、単純なキットを使用して ModeShape を JBoss AS インストールに簡単にデプロイできるようにします。単純に解凍し、設定を少しカスタマイズして (必要に応じて)、アプリケーション サーバーを起動します。ModeShape はアプリ サーバー内でサービスとして実行されるため、デプロイされたアプリはリポジトリを簡単に検索、使用、共有できます。ModeShape は、JBoss AS コンソールを使用して監視することもできます。
リポジトリの視覚化ツール (本格的な CMS システムよりもはるかに少ない) を開発するという私たちの計画について言及していると思います。その作業は最近始まったばかりです。洞察、機能のリクエスト、および協力への関心を歓迎します。Magnolia が ModeShape 上で実行できることは知っていますが、他の CMS アプリで実行できるかどうかはわかりません。JBoss Enterprise Data Services (EDS) プラットフォームにも ModeShape が含まれており、これをメタデータ リポジトリとして使用します。JBoss Business Rules Management Systemは、ModeShape を JCR リポジトリとして使用することもできます。
ModeShape と Jackrabbit はどちらも、全文検索とクエリに Lucene を内部的に使用しています。その点で、彼らはかなり似ています。もちろん、ModeShape の検索およびクエリの解析と実行の実装は、Jackrabbits とは異なり、MetaMatrix リレーショナル指向の統合およびフェデレーション エンジン (現在は JBoss EDS の一部) を実装した同じ人々によって実際に作成されました。その結果、ModeShape にはクエリ言語ごとに個別のパーサーがありますが、その後はすべてのクエリの検証、計画、計画、および実行が同じ方法で行われます。私たちは、クエリ エンジンの機能とパフォーマンスを非常に誇りに思っています。
ModeShape には他の CMIS システムへのコネクタはありませんが、ご指摘のとおり、現在作業中です ( MODE-650 )。また、Apache Chemistry チームと協力して、JCR アダプターが ModeShape で動作することを確認したいと考えています。そうする時間がありませんでした。
ModeShape には、役に立つと思われるJcrToolsユーティリティ クラスがあります。しかし、JCR API の上に記述されたユーティリティ クラスは、問題なく動作するはずです。
それが役立つことを願っています!