[ This document was written for WCF Services Version 1 Service Pack 2 and might not be up to date Please see Release Notes or Changelog for a list of changes since WCF RIA Services ]

Open 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 Open 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. Open Ria Services solves this problem by providing framework components, tools, and services that make the application logic on the server available to the Open Ria Services client without requiring you to manually duplicate that programming logic. You can create a Open 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. Open Ria Services focuses on the box between the presentation tier and the data access layer (DAL) to facilitate n-tier development with a Open Ria Services client.

Open Ria Services adds tools to Visual Studio 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.

WCF Integration

In Open Ria Services, you expose data from the server project to client project by adding domain services. The Open 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 Open 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 Open Ria Services.

Tools and Documentation

The Open Ria Services documentation require several prerequisite programs, such as Visual Studio and the Silverlight Developer Runtime and SDK, be installed and configured properly, in addition to Open Ria Services and the Open 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 Open 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 Open Ria Services walkthroughs.


Prerequisites for Open Ria Services

Creating Open Ria Services Solutions

Building Secure Applications with Open Ria Services

Deploying and Localizing a Open Ria Services Solutions

  • Troubleshooting the Deployment of a Open Ria Services Solution

  • Troubleshooting the Deployment of a Open Ria Services Solution

  • Walkthrough: Localizing a Business Application

Middle Tier

Silverlight Clients

Accessing non-Silverlight Clients

Authentication, Roles, and Profiles


See Also

Other Resources

Offline Open Ria Services documentation

.NET Documentation Archive

This documentation was originaly fetched from .NET Documentation Archive The original work was open sourced and release by microsoft


The documentation and other content in this repository is licensed under the Creative Commons Attribution 4.0 International Public License (see the LICENSE file), while any code in the repository is licensed under the MIT License (see the LICENSE-CODE file).

Last updated