0060nobodyさん
2012/02/15(水) 08:52:10.35ID:???方法はいくつかあって、ケースバイケースで選択する
(1) オブジェクトの値を配列で返す(>>59)
--> あらかじめオブジェクトのデータ量が少ないと分かっている場合には、最も簡潔な方法
(2) オブジェクトへの参照を配列で返す
--> あらかじめオブジェクトの件数が少ないと分かっている場合には、((1)に次いで)簡潔な方法
(3) 各レスポンスに(省略可能な)次のオブジェクトへの参照を含め、クライアントは
最初のリクエストには検索条件を2回目以降では参照をパラメタとして指定する
--> オブジェクトのデータ量/件数に依存しない優れた方法であるが、サーバ側の実装が難しい
ここまではステートレスな(=サーバ側で状態を持たない)方法だったが、ステートフルな方法もある
(4) 最初のリクエストでサーバ上にイテレータを生成し、クライアントはそのイテレータをアクセス
--> 分散オブジェクト技術(CORBA/DCOM/RMI/dRuby等)では一般的な手法だが、
XMLによるSOAPでの実装は面倒なものになる(ツールやフレームワークによる支援が必須)
なお、少し複雑にはなるが、(1)と(2)..(4)を組み合わせることもできる
つまり、(2)..(4)で1件ずつオブジェクトを転送する代わりに、n件を一括転送する方法