inohilog

/var/log/inohiro.log

WCF Data Servicesでの「クライアントの変更管理」とは

前回のエントリ(Visual Studio 2010 Ready Day に行ってきた - INOHILOG)の「セッション: Silverlight4 データ駆動アプリケーション開発」に

サービスの選択
  • WCF Data Services(CRUD処理)
    • メリット: サービスのエンドポイントが少ない, クライアントの変更管理が可能(?
    • デメリット: 複雑な処理をURI(URL)で表現するため実装が冗長
  • WCF, ASMX(OLTP処理)
    • メリット: 複雑な処理が実装可能
    • デメリット: サービス参照のエンドポイントが多くなる可能性がある, クライアントの変更管理を実装する必要がある(?

とあります。これはSilverlight 4における、データソース(リソースを提供するサービス)の選択において、WCF Data Servicesもしくは、WCF(ASMX)を選択した際のメリット/デメリットについて記述したものですが、この中で「クライアントの変更管理」というものがあります。


「(?」が付いてるのは私自身が理解していなかったからなのですが、@dotnetfan さんにtwitter

SLとWCFの組み合わせだと、クライアント側でデータの変更(追加/更新/削除)を保持しておいて、それを一気に投げる、とかが可能。独自でasmxとか使ったときはそこが簡単にはできない、って話かな、と。
http://twitter.com/onos/status/12618771167

と教えていただきました。これに対して、私の単純な疑問として、

@onos ローカルデータベースよりはキャッシュ?バッファ?のような感じでしょうか? CRUD処理を一度ためておいて、一気に投げたりするとさっきまであったオブジェクトが無くなってて例外とかってのも考えられますが、そのへんんの面倒もみてくれるんですか?
http://twitter.com/inohiro/status/12619184396

という疑問が浮かんだのですが、Silverlight 4 + WCF だけだとこの辺の面倒は見てくれないのではないかという感じらしいです。


WCFもあんまり使った事ないし、Silverlight 4もさっぱりなので、この辺は調べてみる必要がありますね。