Chapter 17. WCF RIA Services
This chapter covers
- Using the Business Application project template
- Exposing data from a domain service
- Filtering, sorting, grouping, paging, and updating data
- Using the presentation model for loose coupling
- Sharing logic between the client and server
- Securing the application
Data-oriented Silverlight applications are multitier by nature—they have a client, a server with services, and a data store. As you learned in chapter 14, the way Silverlight handles network calls requires setting up asynchronous proxies (or performing raw asynchronous network operations). Sometimes, sharing entities between the client and server is a simple task; sometimes it’s not. In general, the amount of code that goes into what could be considered plumbing and standard CRUD methods ends up being a significant portion of the overall source code for the application.
In many organizations, the code that makes up those plumbing and standard operations, despite best efforts, ends up being duplicated in project after project. Reuse is rarely seen, and when it is, it’s in relatively trivial things such as logging services or caching. When reuse is enforced, it can be overly cumbersome to use across the suite of applications and difficult to update.