こんにちは、私は osgi の初心者です。osgiがコンテナかフレームワークかを理解するのを手伝ってくれませんか? どなたか両者の違いを説明していただけないでしょうか。ありがとうございます。
2 に答える
フレームワークは、コーディングの対象となり、実行を制御できるライブラリとして定義します。たとえば、春はフレームワークであり、OSGiも同じです。
コンテナは、起動でき、実行可能なアーティファクトをデプロイできる汎用アプリケーションです。OSGiはデフォルトでは、アーティファクトをデプロイすることを許可していません。これは主に、バンドルのロードと開始を可能にするAPIを提供します。実際には、ほとんどすべてのOSGi実装で、特定のディレクトリからのような展開が可能です。したがって、少なくとも実装はコンテナでもあります。
ニールが書いたように、私の定義は唯一のものではないので、上記は普遍的に真実ではないかもしれません。
これらの用語が何を意味するかによって異なりますが、どちらにも普遍的に受け入れられている定義はありません。
私の見解では、OSGi はコードをラップしたり、実行モデルを変更したりしないため、実際にはコンテナーではありません。したがって、私はフレームワークという用語を好みます。実際、ほとんどのドキュメントでは、フレームワークを「OSGi フレームワーク」または場合によっては「OSGi サービス プラットフォーム」と呼んでいます。
たとえば、わずか 5 ~ 10 行の Java コードで、実行中の便利な OSGi フレームワークを作成できます。