Silverlight can
take advantage of WCF RIA Services and its features to help build business
applications. WCF RIA Services makes n-tier development as simple as
traditional two-tier development by including enterprise-class networking and
data access for building n-tier applications with transactional support and
data paging. WCF RIA Services allows you to expose an object model on the
server through an optimized .NET to .NET binary format as well as a set of open
extensions to the ATOM formatted known as OData and an open JavaScript Object
Notation (JSON) format to Silverlight application. It offers support for
including metadata on the object model to describe validation requirements such
as required fields and checking for valid ranges. It also supports custom
validation for a single property or across an entire class. In addition, WCF
RIA Services has features to assist with change tracking on the client in
Silverlight, user authentication, and personalization. All of these features and others help WCF RIA
Services make it easier to build business applications with Silverlight.
Microsoft WCF RIA Services simplifies the traditional n-tier application
pattern by bringing together the ASP.NET and Silverlight platforms using the
power of WCF for communication. WCF RIA Services provides a pattern to write
application logic that runs on the mid-tier and controls access to data for
queries, changes and custom operations. It also provides end-to-end support for
common tasks such as data validation, authentication and authorization based on
roles by integrating with Silverlight components on the client and ASP.NET on
the mid-tier.
Key Classes: DomainService and DomainContext
WCF RIA Services provides framework and tooling support for some of the
common RIA patterns. A RIA developer authors a DomainService to define the
application logic on the mid-tier that operates on a set of data classes called
entities. RIA Services then generates the corresponding client-side entity
proxies and DomainContext class on Silverlight. The generated classes allow a
developer to retrieve data, work with it with rich binding and change tracking
capabilities and submit a unit of work corresponding to application tasks
completed by the end user of the application. The two parts of the application
are weaved together in a single Visual Studio solution to simplify iterative
development and testing. In addition, a set of common tasks such as validation,
authentication and authorization are pre-plumbed and simplified through
declarative attributes.
WCF RIA Services in an Architecture
Entities act as containers or data and associated validation information
specified as attributes or external metadata. They are obtained via Data Access
Layer (DAL) of your choice. Examples includeEntity Framework, LINQ to SQL, web
services, DataReader, or DataSet.