Atenção: esse artigo tem uma palestra complementar. Clique e assista!
Vários exemplos encontrados na Internet, que tratam da utilização do RIA Services em conjunto com o Silverlight, mostram situações simples, de uma classe apenas em uso. Neste artigo vamos desvendar como utilizar o RIA Service para expor mais de uma classe ao Silverlight, mantendo seus relacionamentos.
Para que serve
O Silverlight é utilizado para o desenvolvimento WEB de aplicações ricas, enquanto que o RIA Services é um mecanismo desenvolvido para fornecer dados a aplicações Silverlight.
Em que situação o tema é útil
No desenvolvimento real de sistemas temos um domínio de classes complexo, e é necessário utilizar esse domínio em aplicações Web. Assim, através do RIA Services podemos manter nossa estrutura de negócios e prover as informações necessárias.
Resumo do DevMan
O Silverlight não permite que ele próprio acesse de forma direta um banco de dados, já que sua execução se dá no lado cliente da Internet. Assim, um mecanismo que permite o acesso a dados, de forma transparente, foi desenvolvido, conhecido como RIA Services.
Os exemplos disponíveis na Web sobre Silverlight com RIA Services nos mostram situações muito simples, que não retratam o meio real. Assim, neste artigo vamos ver como utilizar o RIA Services numa situação mais comum, em classes que possuam relacionamento. Veremos como mostrar em um Grid informações de determinada classe e seu relacionamento com outra.
Neste artigo iremos trabalhar com alguns controles do Silverlight, utilizando para acesso aos dados o RIA Service, juntamento com o Entity Framework.
O Silverlight é utilizado para a criação da interfaces para o usuário. Mais do que isso, ele iniciou um nova forma de se pensar na interface do usuário para a Internet. Com ele utilizamos o conceito de RIA (Rich Internet Application), aplicativos ricos para a internet, ou seja, é o nosso usuário utilizando o seu sistema na internet com um maior poder de interação, fazendo com que o usuário acredite que esteja utilizando um aplicativo instalado em sua própria máquina.
No início do Silverlight, como ainda hoje, não podemos acessar uma base de dados diretamente. Para resolver este problema utilizamos o WCF (Windows Communication Foundation) ou um Web Service, porém nestas duas formas tínhamos perda de alguns recursos muito úteis do Silverlight. Foi então que a Microsoft vendo este problema, desenvolveu uma nova forma de acesso aos dados para o Silverlight, que é o RIA Service.
O RIA Service não acessa diretamente a base dados, para isso vamos continuar utilizando o ADO.NET, Entity Framework, LINQ To SQL ou outra forma que você utilize, mas será o RIA Service o responsável por disponibilizar a informação para o Silverlight, ele faz o mesmo papel do WCF ou do Web Service, porém sem a perda das características que fazem do Silverlight uma poderosa ferramenta para a criação da interface.
A forma de acesso a dados que utilizaremos será o Entity Framework, porém não entrarei em detalhes sobre ele por não fazer parte do escopo desse artigo. Faremos uma breve introdução para a realização deste projeto. O Entity Framework surgiu a partir do Framework 3.5 como uma evolução do Linq to SQL, criando um framework de acesso a dados conhecido como ORM (Object Relational Model) usados para realizar o CRUD (Create, Read, Update, Delete – Inserção, Leitura, Atualização e Exclusão).
Download e instalação das ferramentas
Basicamente o que precisamos para desenvolver nossa aplicação, é ter instalada uma cópia do Microsoft Visual Studio 2008 Service Pack 1 em sua versão completa, do banco do dados Microsoft SQL Server 2005 Express Edition Service Pack 2, do Microsoft SQL Server Management Studio e o .net framework 3.5 Service Pack 1. Veja a seção Links.
Após efetuado o download, execute o arquivo e clique em Next na primeira tela de apresentação. Na tela seguinte clique em I have read and accept the license terms (Figura 1) para aceitar os termos de licenciamento do produto. Em seguida escolheremos o que será instalado utilizando a opção Custom (Figura 2). Marque o que deseja instalar. No meu caso desmarquei as opções linguagem Visual C++ e Visual Basic (Figura 3).
Figura 1. Aceite dos termos de licença
Figura 2. Escolha dos produtos a instalar
Figura 3. Instalação do Visual Studio 2008
Enquanto a instalação ocorre, faça o download do Microsoft SQL Management Studio (seção Links). Ao baixar o arquivo execute-o e apenas siga os passos, já que a instalação é bastante simples. Não há nenhuma configuração específica a ser feita.
Após ter feito o download e instalado o Visual Studio 2008 SP1 vamos instalar o Silverlight. Para isso faça seu download (seção Links) e instalação sem precisar de nenhuma configuração especial. Outra instalação que precisamos ter é o Silverlight Toolkit, que para este artigo foi utilizado a versão de novembro de 2009, mas sempre vale à pena ter a versão mais atual. E também vamos fazer o download e a instalação do RIA Service, veja seção ...