0

現在のプロジェクトでは、jms を使用して xml を textmessage として送信しています。Objectmessage を単純に送信しない理由がわかりません。なぜ xml を処理するオーバーヘッドがあるのですか?

したがって、質問は基本的に、なぜ jms で xml を使用するのかということになります。

4

2 に答える 2

6

要するに、メッセージのシリアライゼーション形式に関する設計上の決定です。

最初は、Objectmessage が最も効率的なメカニズムのように見えます。ただし、次のシナリオではうまく機能しません。

  1. メッセージの検証 (XML スキーマはメッセージ コントラクトの形式として機能します)
  2. 送信者と受信者のソフトウェア バージョンの違い (メッセージのバージョン管理)
  3. 非 Java システムとの通信

XML でメッセージをシリアライズしても、これらの問題は完全には解決されませんが、人間が判読できる形式のメッセージを使用すると、デバッグが可能になります。

最後に、XML だけがゲームではありません。JSON は、XML の代替として人気が高まっています。Protocol Buffersは Google のメッセージング プロトコルであり、いくつかの問題と Google の解決策について概説されています。

于 2012-04-29T00:06:53.513 に答える
2

この状況で XML を使用する主な利点は、通信の両端で同じソフトウェア スタックを持つことへの依存を取り除くことです。

私はかつて、一方の端で SQL サーバー データベースの毎日のイメージを作成し、もう一方の端でそれを復元することによって、主要なサプライヤとデータを交換しているクライアントに出くわしました。結果: 相手側も同じ日にアップグレードしない限り、どちらの当事者も新しいバージョンの SQL サーバーにアップグレードできませんでした。

さらに、O'Connor も述べたように、XML を使用すると、要件の変更に応じてメッセージの内容を拡張することが比較的容易になり、全員が同時に変更を実装する必要がなくなります。

于 2012-04-29T07:46:15.243 に答える