Apache KarafはApache Felixのサブプロジェクトです。「軽量なOSGiコンテナ」として定義されています。
ヘビーウェイトをいつ使用すべきか、いつ軽量を使用すべきかわかりません。彼らのサイトはこれをあまり説明していません。
Apache KarafはApache Felixのサブプロジェクトです。「軽量なOSGiコンテナ」として定義されています。
ヘビーウェイトをいつ使用すべきか、いつ軽量を使用すべきかわかりません。彼らのサイトはこれをあまり説明していません。
回答:
「軽量のOSGiコンテナー」ラベルは、Felixではなく、Karafとより機能の豊富なOSGiコンテナーを対比しています。
Felixは単なるOSGiコアランタイムです。Karafは、コンソール、SSHリモーティングメカニズム、ファイルデプロイヤなどの他の機能を追加することにより、Felixに基づく「配布」を提供します。
Karafアーキテクチャのこの図では、Felix(または他のOSGi実装-現在Equinoxもサポートされています)がOSGiボックスであり、他のボックスはKarafによって追加された機能です。
したがって、Karafが満たしていない特定のニーズがない限り(基礎となる実装へのアクセスが必要です)、「すぐに」使用できるため、通常これを使用することは理にかなっています。
@Marcel Karafは、Java EEサーバーのようにモノリシックでも巨大でもありません。これは非常にスリムで最小限の実装です。これは、基本的なコンソール、実際に構成ファイルを読み取れるようにファイルをロードすることなど、多くの機能を持たないコア製品です。最新のzipファイルは19.1 MBです。うん。小さい。小さなデバイスで簡単に実行でき、組み込みで動作します。
あなたが考えているのは、コア/カーネルとしてKarafを使用するServiceMixのようなものです。ただし、CXF、ActiveMQ、Camel、その他のライブラリが完全な構成で含まれています。それでも、最小、中、フルサイズがあります。
実際、99%のプロジェクトでは、直接Felixから始めてKarafを使用しないのは意味がありません。
現在、3つの人気のあるオープンソースOSGiコンテナーがあります。
- Equinox. It is the modular Java runtime at the heart of the Eclipse IDE, - Knopflerfish, Is an open source implementation of the OSGi R3 and OSGi R4 specifications. - Apache Felix. Is the open source OSGi container from the Apache Software Foundation.
Apacheプロジェクトは、Felixと呼ばれる汎用のOSGiコンテナーを維持しています。ここはServiceMixとして使用され、
ServiceMixとKarafの主な違いは、ServiceMixが他の統合コンポーネント(ActiveMQメッセージブローカー、Camelルーティングエンジンなど)をバンドルしていることです。