私は osgi が初めてで、バンドルを更新、インストール、または削除するための集中化されたメカニズムを持つことが可能かどうか疑問に思っています。
2 に答える
はい。これはプログラムで行うことができます。つまり、すぐに使用できるソリューションを提供する多数のバンドルが存在します。非常に簡単 (そして非常に楽しい) であるため、多くの人にとって最初のバンドルの 1 つは小さな「管理エージェント」です (OSGi 仕様ではこの部分を呼び出します)。
最も簡単なソリューションはApache File Installです。ディレクトリを追跡し、そこからインストール/アンインストールします。これを Google ドライブまたは Dropbox と組み合わせると、完全に自動化された大規模なデプロイ モデルが作成されます (構成も処理されますが、これは非常に重要です)。
OSGi 仕様に OSGi Bundle Repository (OBR) 仕様が追加されました。これは、管理エージェントが依存関係を計算/活用できるようにする依存関係 (バンドルだけでなく) を記述する非常に強力なモデルです。これは、Felix ですぐにサポートされます。
OSGi フレームワークを管理するソリューションは無数にあります。Paremus、IBM Tivoli、ProSyst などの商用サポートがあります。そしてApache ACEとfusebundlesによるオープンソース。
これを行う一般的な方法は 2 つあります。アプリケーションでバンドルをホストするリポジトリからバンドルを「プル」して自身を更新するか、外部プロビジョニング アプリケーションでバンドルをアプリケーションに「プッシュ」します。
プル ソリューションについては、次のようなものがあります。
- Eclipse P2 Eclipse の更新マネージャーによって使用されます。成熟しており、安定していますが、入り込むのが少し難しいかもしれません。また、P2 が Eclipse Equinox 以外の OSGi ランタイムで動作するかどうかもわかりません
- Apache Bundle Repository (OBR) 少し簡単で、OSGi 仕様に含まれています。
プッシュ ソリューションについては、Apache Ace を見てください。あなたの質問から、それがあなたがやりたいことに最も近いと思います。