以前はTomcat/WARプロジェクトの展開をたくさん行っていましたが、現在はESBモデル(つまりSericeMix)を検討しています。主な長所/短所は何ですか?なぜ私は切り替えに興味があるのですか?
ありがとう!
以前はTomcat/WARプロジェクトの展開をたくさん行っていましたが、現在はESBモデル(つまりSericeMix)を検討しています。主な長所/短所は何ですか?なぜ私は切り替えに興味があるのですか?
ありがとう!
両方の長所が必要な場合は、Apache Camel を検討します。箱から出してすぐに使用できる多くの ESB 機能を提供し、tomcat や servicemix を含む任意のコンテナーにデプロイできます。
多くの場合、Camel、CXF、WSS4J などの特定のバージョンのプロジェクトにロックされているため、ServiceMix はイライラすることがあります。コンテナーを手動でアップグレードして、必要なバージョンを含めることができますが、これは難しい場合があります。ただし、バージョン 4.5.x の ServiceMix チームは、これに対応するためのマイナー バージョンのリリースに関してはるかに優れています。WAR をビルドするときは、プロジェクトのバージョン/ビルド/デプロイを選択するだけです。
OSGi コンテナーに関するもう 1 つの点は、すべてのプロジェクトに OSGi 対応のバンドルがあるわけではないということです。たとえば、以前は特定の機能を備えた Apache POI が必要でした。OSGi バンドルを自分で作成する必要がありました。
OSGi コンテナーの利点は、ビルドするバンドルのサイズが非常に小さく、jar ファイルで肥大化しないことと、異なるバージョンのバンドルを同時に実行できることです。ただし、Wulfgar が言うように、この機能が必要ない場合は、それを避ける方が簡単かもしれません.
私自身の経験から。
ServiceMix と一般的な OSGi は、展開モデルを過度に複雑にする傾向があります。
OSGi の利点 (サービスの登録、フラグメント バンドルの作成など) を活用しておらず、Tomcat や Jetty などで通常行っていることを行っている場合は、私は避けます。
一方、小規模で再利用可能なバンドルを作成していて、メッセージング、キューイング、およびその他の ESB タイプの機能などのサービスを導入したい場合、私の経験では、ServiceMix は私が期待するすべてを提供してくれました。 ESB。
また、依存関係の解決を大幅に容易にするOBRも使用しています。ServiceMix (具体的には Apache Karaf) では、この時点でオプションの依存関係をインストールしない方法はないようで、パッケージの衝突に対処しなければならず、私は悲しみました。