web-dev-qa-db-ja.com

ApacheJackrabbitとJackrabbitOakの違いは何ですか?

これがばかげているように聞こえたら申し訳ありませんが、ジャックラビットとオークの違いは何ですか? JCR170、特に2つのjackrabbitインストール間でコンテンツを移行する方法を調べていますが、JackRabbitとOakの両方に出くわしました。

ApacheJackrabbit™コンテンツリポジトリは、Java Technology API(JCR、JSR170およびJSR283で指定)のコンテンツリポジトリの完全準拠の実装です。

コンテンツリポジトリは、構造化コンテンツと非構造化コンテンツ、全文検索、バージョン管理、トランザクション、監視などをサポートする階層型コンテンツストアです。

Jackrabbit Oakは、JCR仕様の補完的な実装です。これは、最新のワールドクラスのWebサイトやその他の要求の厳しいコンテンツアプリケーションの基盤として使用するための、スケーラブルでパフォーマンスの高い階層型コンテンツリポジトリを実装するための取り組みです。詳細については、JackrabbitOakのWebサイトを参照してください。

Apache Jackrabbitは、Apache SoftwareFoundationのプロジェクトです。

http://jackrabbit.Apache.org/jcr/index.html

彼ら自身のホームページには、JackrabbitはJCRを実装するコンテンツリポジトリであり、OakはJCRの補完的な実装であると書かれています。同じプロジェクトでJCRが2つ実装されているのはなぜですか?

8
Goldentoa11

コメントでawdが述べたように、OakはJackrabbitの最新バージョンにすぎません。これは単なるアップデートではなく、同じJSR170の新しい実装です。したがって、APIは変更されませんが、基本的な内部動作は少し異なります。 Julianが言及しているように、ドキュメントには多くの情報があります。主な変更点は次のとおりです。

  • セッション処理:各セッションは、リポジトリの同時変更を防ぐために、リポジトリが作成されたときにリポジトリのスナップショットを取得します: http://jackrabbit.Apache.org/Oak/docs/architecture/transactional-model.html ==
  • MicroKernels:リポジトリの保存方法を定義できます。現在、tarMKと呼ばれるtarファイル、またはmongoMKを使用したNoSQL DBMongoDBを使用します。

変更の概要は次のとおりです。 http://jackrabbit.Apache.org/Oak/docs/differences.html

そして短いスライドショー: https://www.slideshare.net/jukka/Oak-the-architecture-of-Apache-jackrabbit-

9
Thomas

現在、それらの違いも調べています。 Apache Oak currentは、ロック( https://jira.Apache.org/jira/browse/Oak-6421 )とマージをサポートしていないため、代わりにjackrabbitを使用する場合があります。

0
R.Groote