私は最近 OSGi を発見しましたが、非常に有望なようです。すでに OSGi の実装を使用している人々に、それらが本番環境に対応しているかどうかを知りたいと思います。それらは、本番環境で一般的に必要とされる機能を提供していますか? 多くの実装があると読んだことがありますが、Apache Felix だけを見てきました。
ありがとう
OSGi は本番環境に対応しています。エンタープライズおよび組み込みドメインには多くの運用システムがあります。Java アプリケーション サーバーの多くは、OSGi コアを備えています。Eclipse IDE は OSGi ベースです。Felix の隣には、他のオープン ソース実装 (Eclipse Equinox および Knopflerfish) と ProSyst による商用実装があります。
OSGiはそれが指定するものを提供し、利用可能な生産品質のシステムがあります。ただし、注意点を追加します。バンドルのホットスワップの夢を実現するには、プログラマーの緊密なコラボレーションが必要であり、非常に簡単に破ることができます。
OSGi は、新しい機能や時には実験的な機能が常に追加されていますが、長い間本番環境に対応してきました。そのため、OSGi の個々の部分についてこの質問を自問する必要があります。Core や Declarative Services などの基本は堅実です。
OSGi は確実に製品化の準備が整っています。ほとんどすべての大規模な Java EE サーバーは、そのコアを OSGi に切り替えました。より大きな問題は、開発チームとプロジェクトがすでに OSGi の準備ができているかどうかです。ほとんどの開発者はまだ OSGi の経験が十分にないため、開発者が十分なトレーニングを受けていることを確認してください。既存のプロジェクトがある場合、それらを OSGi に変換するのは大変な作業になる可能性があります。(適切に設計されているかどうかにもよります。通常、適切に設計された疎結合システムは、比較的簡単に移植できます)。
Felix は、OSGi フレームワークとして適切な選択です。Apache Karafと一緒に使用することをお勧めします。Felix に多くの興味深い機能を追加します。