私は Java と OSGi の世界全体にかなり慣れていないため、OSGi Web アプリケーションのエコシステムを理解するのに苦労しています。
より正確に言うと、私は現在、生態系のすべての部分がどのように相互に関連しているかを理解しようとしています:
- OSGi フレームワーク (例: Apache Felix、Equinox、Knoplerfish)
- OSGi ランタイム (Spring DM Server、Pax Runner、Apache Karaf など)
- Web Extender (Pax Web Extender、Spring Web Extender など)
- Web コンテナ (Apache Tomcat、Jetty など)
彼らの関係についての私の実際の理解を視覚的に表現するために、この画像をチェックしてください。
私の知る限り、OSGi フレームワークは OSGi 仕様の実装です。ランタイムは、OSGi 仕様の上にロギングなどの追加機能を追加するディストリビューションです。OSGi と Tomcat のような Web コンテナーのクラスパス メカニズムにはいくつかの違いがあるように思われるため、何らかのトランスレーターが必要です。この部分は「Web Extender」によって処理されます。
私のためにこのすべてを明確にしてくれませんか?私はすべてを正しく理解していますか?