はじめに
Silverlight 4では、n階層に分割されたアプリケーションを作成するためのアプリケーションフレームワークとして、WCF RIA Servicesが提供されています。
これから2回に渡って、WCF RIA Servicesの概要と仕組みについて解説を行います。前編の今回は、GUIを利用した開発でWCF RIA Servicesの簡単なアプリケーションの作成を通じてWCF RIA Servicesの概要を解説します。
WCF RIA Servicesとは
WCF RIA Servicesは、Silverlight 4で追加された、Silverlightでn階層アプリケーションを簡単に作成するためのアプリケーションフレームワークです。
n階層型のアプリケーション
Silverlightでの業務アプリケーション構築を考えた場合、いくつかの課題が頭の中に浮かびます。最も頭を悩ませるのは、Silverlightでサーバリソースを更新したい場合です。通常、Webブラウザで動作しているSilverlightから、データセンターのデータを直接更新することはできません。そのため、データセンター側にWCF等のサービスを作成し、更新や検索の処理を任せる必要があります。図1はn階層アプリケーションを簡単に示した図です。
これまでのアプリケーション開発
n階層型アプリケーションの開発の問題点として、データの検証ロジックなどでサーバ側とクライアント側で同じような処理を重複して記述したり、データモデルの変更時にクライアント側とサーバのモデルを更新する必要がある、などが挙げられます。さらに、Silverlightには同期通信の仕組みが存在しないため、複雑な業務ロジックが絡んでくると、本来作成したい業務ロジックがサービス呼び出しのためのシステム的なコードに埋もれ、肝心な部分が分かりにくくなる可能性もあります。
WCF RIA Servicesを使用しない場合のサーバサービスとの連携については、連載記事「Silverlightとサーバサービスの連携」を参照してください。この記事はSilverlight 2のときの記事ですが、単純なサービス呼び出しについてはあまり変わらないので、参考になるでしょう。
Silverlight 4で提供されたWCF RIA Services
Silverlight 4で提供が開始されたWCF RIA Servicesでは、サーバとサービスの連携コードや検証ロジック、サーバ側との共有コードを自動生成することで、プログラマーは重要な業務ロジックに専念できます。WCF RIA Servicesにおけるコードの自動生成の概要を図2に示します。
つまり、WCF RIA Servicesとは、Silverlightのn階層開発において、主要な部分の開発のみに開発者が注力できるように整備されたアプリケーションフレームワークであると言えます。