Cenário Tradicionar X Cenário RIA
O que temos no cenário tradicional, é um cenário em que o número de requisições ao servidor é grande. A cada ação do usuário seja uma pesquisa, alteração ou inserção de dados, é realizada uma interação com o servidor. Este fluxo continuo, de requisição e resposta é inerente a este tio de cenário, pois o mesmo está preparadao para isto. Já no cenário RIA, o fato de expor recursos ricos, avançados e uma interface além de rica funcional como uma interface de um programa desktop, nos leva a ter que tomar determinados cuidados como evitar o excesso de requisições ao servidor para evitar um gargalo e perda de performance. São cuidados como este, que temos que ter na hora de montar uma arquitetura, para um sistema que roda em um cenário RIA.
RIA e os seus desáfios
Um problema comum ao se desenvolver aplicações RIA e até mesmo um dos seus desáfios era justamente desenvolver em camadas. Observer a imagen abaixo:


O WCF RIA Services
O WCF RIA Services, é um middware de comunicação, ou seja, ele irá fazer a ponte entre a lógica da aplicação( no lado do servidor ) e a lógica da apresentação( no lado cliente ). Agindo assim como uma fronteira de confiança, atravéz da qual, as camadas de apresentação e aplicação poderão se comunicar e trabalhar.
O WCF RIA Services, visa facilitar, ou seja, tornar mais suave o desenvolvimento em camadas para aplicações RIA. Para isto ele expõe serviços, operações e entidades para ser consumido no lado do cliente. Para entender melhor observe a figura abaixo:

Domain Services X Domain Context
Os Domain Services, são coração do WCF RIA Services. É ele quem controla, a serialização de objetos para ambos os lados servidor e cliente. Só precisamos escrever nosso código uma única vez e o mesmo, fica disponivél para os dois projetos em nossa solução: o projeto servidor e Cliente. O Domain Context, é com ele que o cliente trabalha, ou seja, ele é um espelho perfeito do Domain Service, que roda no lado do servidor. Analise a figura abaixo:


Seta Azul: Indica o projeto silvelight, que é o projeto client.
Seta amarela: Indica o projeto ASP.NET, que é o projeto servidor.
Seta Vermelha: Indica o arquivo que é gerado automaticcamente, pelo WCF RIA Services. Este arquivo, é gerado da exportação das funcionalidades do EDMX, que é o modelo de dados e as funcionalidades que podem ser adicionadas. Ou seja ele é o resultado da exportação do Domain Service, uma vez sendo compilada a solução se você abrir a pasta GeneratedCode destro da mesma, estará um arquivo deste( extensão .g.cs ).
Seta Verde: Indica um EDMX, arquivo do entity Framework, que contém o modelo de entidades, que também tem suas funcionalidades exportadas para o arquivo que é gerado pelo WCF RIA Services.
Entendendo melhor o processo, é que quando você compila o projeto, é feita uma cópia para o projeto silverlight, do seu Domain Service, ou seja, automaticamente o mesmo é espelhado no Domaind Context. Que contém absolutamente tudo, que existe no Domain Service, operações e entidades. Olhe um trecho do código do Domain Service e do Domain Context.
Domain Service

Domain Context
