2012-01-23 10 views
15

私は、OSGI(具体的にはKaraf)アプリケーションをデプロイして更新する方法を検討しています。いくつかの選択肢があるようです。 1つはOSGi Bundle Repository(OBR)を使用する方法、もう1つはKarafで機能を使用する方法、もう1つはKaraf Caveを使用する方法です。KarafとOBRの機能の相違点

これらのオプションが実際にどのように異なっているかわかりません。彼らはすべて同じことをしているようです。彼らは同じ機能の異なる実装ですか?誰かが違いを説明したり、いくつかの推奨事項を提示してもらえますか?

答えて

38

カラフの特徴とOBRは、(同じ種類の)同じ問題を解決するさまざまな方法です。両方とも、OSGiバンドルをOSGiフレームワークにインストールすることができますが、どのバンドルをインストールするかはどのように決定するかは異なります。

Karafの機能では、その機能のすべてのバンドルのURLを明示的にリストするファイル(feature.xml、say)を提供します。彼らは、ファイルシステム、またはMavenリポジトリ、またはURLで記述できるその他の場所に存在することができます。

OBRは、要件と機能に基づいて動作するバンドルを生成します。あなたの出発点としてインストールしているものの推移的な依存関係を確認し、それらがすべてインストールされていることを確認します。通常、OBRフォーマットをサポートする1​​つ以上の外部リポジトリを設定し、ランタイムのOBRリゾルバはそれらのリポジトリからバンドルをプロビジョニングします。したがって、 "私はパッケージorg.fooが必要です"または "org.barを実装するOSGiサービスが必要です"と言うことができ、プロビジョナはあなたの要件に最も適したバンドルを決定します。 OBRは、カラフの機能よりも柔軟性と汎用性がありますが、必要なインフラストラクチャですでに準備されているフレームワークに、明確に定義されたバンドルセットをインストールするだけでは過度のことになるかもしれません。また、アプリケーションを構成するバンドルが互いに依存関係にない場合には、あなたの助けにならないでしょう - あなたはまだそれらをすべてあなたの 'スタートセット'に含める必要があります。

Karafの機能では、Maven URLのバージョン範囲を指定できるため、機能が少しでも柔軟に設定できます。 Karafの機能にはOBRとの相互運用性もありますので、OBR要件の観点から機能定義ファイルを記述することができます。

私はKaraf Caveがいくつかの機能を備えたOBR実装であると信じています。したがって、機能やOBRプロビジョニングのような新しい「テクノロジー」ではなく、サーバーです。

- アクションで エンタープライズOSGiの:http://www.manning.com/cummins

+2

自己宣伝する正しい方法を;)良い答え、ありがとう! – Kjellski

+0

"あなたが必要とするインフラストラクチャーですでに準備されているフレームワークに明確なバンドルのセットをインストールするだけなら、余計になるかもしれません。 、まだ:) – sloven

関連する問題