2011-08-26 10 views
1

当社では、サーバーアプリケーションとそれを制御するGUIを開発するつもりです。サーバーアプリケーションは、C++で作成されています。 GUIからアプリケーションにコマンドを送ることができる必要があります。彼らは通常、いくつかのパラメータを持っており、データはそれほど大きくはありません(1kbよりはるかに大きくなりません)。最初は、GUIはサーバーの同じシステム上で実行されますが、GUIは別のマシンに配置する必要があります。 重要な要件は、GUIが非同期呼び出しをサーバーメソッドに送信する必要がありますが、サーバーもGUIにデータを送信できなければならないことです(たとえば、エラーの報告など)。 今は、GUIアプリケーションとサーバー間の通信プロトコルの技術を評価しています。私たちは、SOAP、XML-RPC、JSON、プロトコルバッファなど、さまざまな機会に恵まれています。 SOAPまたは類似のプロトコルの場合、双方向性要件のために、ポーリングメカニズムを作成する可能性を評価することができます。つまり、必要に応じてシームレスSOAPサーバーを必要とせずにGUIが定期的にサーバーにpingを実行します。GUIとサーバー間の遠隔通信のためのより良いソリューション

私は、利用可能なさまざまなソリューションに関するいくつかの提案をしたいと思います。

アップデート:認証と暗号化のためのシステムも必要です。 HTTPSは実行可能なソリューションになります。

答えて

0

個人的には、私はJSONに行きます。 XML(およびextention、SOAP)よりもあまり冗長ではなく、JSONデータのシリアライズとデシリアライズ、そしてJSONデータをうまく表示するためのツールがたくさんあります。

私の意見では、人間の目で(書式設定されていると)XMLと同じように読むことができます。 XMLのオーバーヘッドはありません。

+0

asynchronuousメソッド呼び出しを可能にパブリッシュ/サブスクライブ・モデルを持ってい私たちは非常に少量のデータしか持っていないので、オーバーヘッドは法外なものではありません。また、(私が更新する)質問に言及しなかったものには、可能な限りの形で認証と暗号化の形式が必要です。 – cpl

+0

HTTP経由で通信する場合は、JSONとRESTfulなAPIを使用できます。 SOAPはより成熟しているかもしれませんが、SOAPではなくHTTPを介してJSONを使用している人がどれくらいの人に驚いていますか? –

+0

双方向通信チャネルに関するご意見はありますか? – cpl

1

zeroc's iceもチェックする価値通信ミドルウェアシステムである、それはbidirectional connectionsicestorm我々はすでにJSONについて考えたが、私はSOAPがもう少し広く成熟していると思います

+0

このオプションは評価されましたが、広く採用されているようではありませんが、SOAPではより大きなサポートが得られます。また、無料ではありません。あなたはこのシステムを使いましたか? – cpl

関連する問題