パターン | データ型 | 圧 縮 | データサイズ | Bytes | 対標準送信(%) | 備考 | ||
---|---|---|---|---|---|---|---|---|
(KB) | 上り(C→S) | 下り(S→C) | 上り(C→S) | 下り(S→C) | ||||
@ | DataSet型 | 無効 | 21 | 19,263 | 19,277 | 100 | 100 | |
A | 有効 | 19,262 | 3,383 | 99.99 | 17.55 | IISのHTTP圧縮設定が必要 | ||
B | バイト配列型 | 無効 | 38,980 | 39,024 | 202.37 | 1,153.53 | バイト型を送受信するとインターフェースが見えにくいため異なるプラットフォーム間で使いにくくなる。 | |
C | 有効 | 2,863 | 2,923 | 7.34 | 7.49 |
1) |
.NET 2.0で可能になった自動圧縮機能は、 確かに「下り」の送信比率は格段に減少させることができます。 しかしWebサーバ側のHTTP圧縮設定も必要であり、「上り」(データ更新時)では圧縮機能が働かないため クライアントから送信される更新対象データが多いとメリットが薄い。 |
2) |
バイト型配列そのものを送信するのでは逆にデータサイズが大きくなりすぎて意味がないが、 送信するデータに対してHTTP圧縮と同じ圧縮方法であるGZip圧縮を行ったバイナリデータ(独自に組み込む必要あり)を 送受信すると「上り」「下り」共にSOAP圧縮よりもデータサイズを抑えることができる。 |
3) |
・.NET プラットフォーム間連携のみ ・スマートクライアントからの呼び出ししかされない業務ロジック であればこのGZip圧縮方法も選択肢に入れてよいのではないかと思います。 |