3

SOAP統合にRubyとJavaのどちらを使用するかを決定する必要があります。私のWebアプリケーション全体はRubyonRails上に構築されており、SOAPを使用してレガシーシステムと統合する必要のある重要なバックエンドコンポーネントがあります。

JavaにはApacheAxisのような広範なSOAPライブラリがあり、このタイプの「レガシー」Webサービスと非常にうまく統合されているようですが、RubyにはSavonやhandSOAPのようないくつかの宝石があります。

私はRubyライブラリを使用することに偏っていますが、パフォーマンス/スケーラビリティの問題について心配しています。Rubyの使用に伴うパフォーマンス/スケーラビリティの問題は何ですか?

より多くのコンテキストを取得するために、レガシーシステムとの統合には、パフォーマンスがそれほど重要ではない毎日のプロセスと、ユーザーがクエリの処理中に待機しているためにパフォーマンスが非常に重要であるリアルタイムクエリエンジンの2つのコンポーネントがあります。

4

1 に答える 1

4

私は最近同じ課題に直面しました。私はもともとJavaを使用していましたが、最終的にはBuilderを使用してリクエストを作成し、Nokogiriを使用してレスポンスを解析することですべてをRubyに移植しました。また、SoapUIを使用して、リクエストの開発/デバッグを支援します。

なぜ私はRubyoverJavaを使うことになったのですか...

  1. よりシンプルなインフラストラクチャ。必要がないのに、アーキテクチャに2つの異なるパラダイムがあるのはなぜですか。サイトがRubyonRailsの場合、必要でない限りJavaを導入するのはなぜですか。
  2. Javaには、SOAPリクエストをオブジェクトに変換するためのAxisのような優れたライブラリがいくつかあります。しかし、それは実際には大きな問題ではありません。しかし、私のロジックのほとんどがRubyにある場合、実際にはそれほど大きな問題にはなりません。中間のJavaオブジェクトを使用するよりも、Nokogiriを介してDOMを操作する方がはるかに簡単でした。
  3. 私のロジック(ActiveRecordモデルオブジェクト、検証など)はすべてJavaでした。JavaコードとRailsコードの間で通信するために、データベースの永続性などのロジックを複製する必要がありました... boo
  4. パフォーマンスの懸念は赤いニシンのようです。SOAP要求を行う場合、ネットワークのオーバーヘッドは、言語の解析/実行ではなく、ボトルネックになる可能性があります。
于 2011-05-04T19:24:22.113 に答える