WCF RIA Services
[WCF RIA Services Version 1 Service Pack 2 is compatible with either .NET framework 4 or .NET Framework 4.5, and with either Silverlight 4 or Silverlight 5.]
WCF RIA Services simplifies the development of n-tier solutions for Rich Internet Applications (RIA), such as Silverlight applications. A common problem when developing an n-tier RIA solution is coordinating application logic between the middle tier and the presentation tier. To create the best user experience, you want your RIA Services client to be aware of the application logic that resides on the server, but you do not want to develop and maintain the application logic on both the presentation tier and the middle tier. RIA Services solves this problem by providing framework components, tools, and services that make the application logic on the server available to the RIA Services client without requiring you to manually duplicate that programming logic. You can create a RIA Services client that is aware of business rules and know that the client is automatically updated with latest middle tier logic every time that the solution is re-compiled.
The following illustration shows a simplified version of an n-tier application. RIA Services focuses on the box between the presentation tier and the data access layer (DAL) to facilitate n-tier development with a RIA Services client.
RIA Services adds tools to Visual Studio 2010 that enable linking client and server projects in a single solution and generating code for the client project from the middle-tier code. The framework components support prescriptive patterns for writing application logic so that it can be reused on the presentation tier. Services for common scenarios, such as authentication and user settings management, are provided to reduce development time.
In RIA Services, you expose data from the server project to client project by adding domain services. The RIA Services framework implements each domain service as a Windows Communication Foundation (WCF) service. Therefore, you can apply the concepts you know from WCF services to domain services when customizing the configuration. For more information, see Domain Services.
Securing a RIA Services Solution
To ensure that your application addresses the security concerns associated with exposing a domain service, you must carefully consider how you implement the domain service. For more information, see Building Secure Applications with WCF RIA Services.
Tools and Documentation
The WCF RIA Services documentation require several prerequisite programs, such as Visual Studio 2010 and the Silverlight Developer Runtime and SDK, be installed and configured properly, in addition to WCF RIA Services and the WCF RIA Services Toolkit to work thorough the walkthroughs and how-to topics. They also require installing and configuring SQL Server 2008 R2 Express with Advanced Services and installing the AdventureWorks OLTP and LT database.
Detailed instructions for the satisfaction of each of these prerequisites are provided by the topics within the Prerequisites for WCF RIA Services node. Follow the instructions provided there before proceeding with this walkthrough to ensure that you encounter as few problems as possible when working through this RIA Services walkthroughs.
Prerequisites for WCF RIA Services
Walkthrough: Installing and Configuring SQL Server 2008 R2 Express with Advanced Services
Walkthrough: Installing the AdventureWorks OLTP and LT sample databases
Creating RIA Services Solutions
Walkthrough: Creating a RIA Service with the Code First Approach
Walkthrough: Using the Silverlight Business Application Template
How to: Create a Domain Service that uses POCO-defined Entities
Building Secure Applications with WCF RIA Services
Deploying and Localizing a RIA Services Solutions
Walkthrough: Sharing Entities between Multiple Domain Services
Accessing non-Silverlight Clients
Authentication, Roles, and Profiles
Walkthrough: Using Authentication Service with Silverlight Business Application
Walkthrough: Using Authentication Service with Silverlight Navigation Application
Walkthrough: Retrieving and Displaying Data From a Domain Service
Walkthrough: Displaying Data in a Silverlight Business Application
Walkthrough: Displaying Related Data in a Silverlight Business Application