Apache KarafはApache Felixのサブプロジェクトです。これは「軽量OSGiコンテナ」として定義されています。OSGi:Apache FelixとApache Karafの違いは何ですか?
ヘビーウェイトを使用する必要がある場合、および軽量を使用するタイミングを理解できません。彼らのサイトはこれをあまり説明していません。
Apache KarafはApache Felixのサブプロジェクトです。これは「軽量OSGiコンテナ」として定義されています。OSGi:Apache FelixとApache Karafの違いは何ですか?
ヘビーウェイトを使用する必要がある場合、および軽量を使用するタイミングを理解できません。彼らのサイトはこれをあまり説明していません。
「軽量のOSGiコンテナのラベルがFelixでより多くの機能が豊富なのOSGiコンテナとKaraf、ないを対比されます。ギヨームNodet(Karafの作者)from hereを引用する
:
フェリックスはただのOSGiコアランタイムです。 Karafは、コンソール、SSHリモーティングメカニズム、ファイルデプロイヤーなどの他の機能を追加することで、Felixに基づく「ディストリビューション」を提供します。 Karafアーキテクチャのこの図で
、フェリックス(または他のOSGi実装 - 現在Equinoxもサポートされている)は、OSGiのボックスであり、他のボックスはKarafによって追加された特徴である。したがって
、カラフでは満たされていない特定のニーズがある場合(基本的な実装にアクセスする必要がある場合を除き)、これは通常、より使い易いため、これを使用することは理にかなっています。
@Marcel Karafは、Java EEサーバーのようにモノリシックまたは巨大ではありません。これは非常にスリムで最小限の実装です。これは、基本的なコンソール以外の機能をほとんど持たないコア製品であり、実際に構成ファイルなどを読むことができるようにファイルをロードします。その最新のzipファイルは19.1 MBです。うん。小さい。小さなデバイスでも簡単に実行でき、組み込みで動作します。
あなたが考えているかもしれないのは、Karafをコア/カーネルとして使うServiceMixのようなものです。しかし、それはCXF、ActiveMQ、Camel、および他のライブラリを完全な構成で含んでいます。それでも、彼らは最小、中、フルサイズを持っています。
本当に、プロジェクトの99%は、フェリックスで直接始めて、カラフを使わないのは意味がありません。
現在、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プロジェクトは、フェリックスと呼ばれる汎用のOSGiコンテナを維持しています。ここ はServiceMixのように使用され
ServiceMixのとKarafの主な違いは ServiceMixのは、他の統合コンポーネントの束バンドルすることである - ActiveMQの メッセージブローカ、ラクダルーティングエンジン、およびいくつかの他のものを
ありがとうございます。それは混乱をクリアします:) – GabiMe
ありがとう、素晴らしい、きれいな説明。 – eduardohl
OSGiコンテナの優れた機能の1つは、必要なバンドルだけを選択してコンテナに展開できることです。だから私のアドバイスは、最初にアプリケーションを設計し、必要なものを選ぶことです。 「豊富な機能を備えているため、プラットフォーム全体をインストールする」というアドバイスは、巨大なJava EEアプリケーションサーバーに戻るようなものです。今はApache Karafがどこよりも大きいと言っているわけではありません。実際に必要なものだけを展開することができます。 –