Artigo WebMobile 23 - Manipulação de dados através do Silverlight com Astoria

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Artigo publicado pela revista WebMobile edição 23.

 

Esse artigo faz parte da revista WebMobile edição 23. Clique aqui para ler todos os artigos desta edição

 

 

imagem_pdf.jpg

ASP.NET

Manipulação de dados através do Silverlight com Astoria

Criação de proxy para o ADO.NET Data Services com IUpdatable para Silverlight

 

 

Neste artigo veremos

·                         Implementação da interface IUpdatable;

·                         Criação de serviços ADO.NET (Web Service REST);

·                         Criação de um proxy para manipulação de serviços ADO.NET;

·         Como consumir e manipular informações através do Silverlight de forma assíncrona.

Qual a finalidade?

·                Manipular informações através do Silverlight com serviços ADO.NET de forma assíncrona.

Quais situações utilizam esses recursos?

·                Em projetos já em produção que não utilizam o Entity Framework e que precisam consumir informações através de web service.

 

Resumo do DevMan

         Em meio a tantas tecnologias existentes no mercado escolher uma que melhor se adapta a nossa necessidade acaba sendo uma tortura no dia-a-dia já que somos obrigados (de maneira positiva) a estudar todas elas. O problema que vou exporar aqui nesse artigo está totalmente relacionado a integração de dados entre diferentes tecnologias. Como fazer uso de um Proxy para consumir informações e serviços do ADO.NET e com SilverLight?

         Vamos a fundo na tecnologia e usar o que há de mais recente no mercado. Vamos fazer a criação de um proxy para acesso à serviços ADO.NET com Silverlight e implementação da interface IUpdatable.

 

A Microsoft está lançando cada vez mais recursos, como a família LINQ, Entity Framework, Silverlight, ADO.NET data service (Astoria), entre outros. É muito difícil incorporar em um sistema já em funcionamento os novos recursos que vão surgindo. Neste artigo quero mostrar como ter um meio termo entre as novas tecnologias e o seu sistema legado.

Faremos uma aplicação bem simples, como a base de trocas de mensagens por um chat. A idéia não é fazer um chat 100% funcional, com todos os recursos, mas sim mostrar como implementar a interface IUpdatable, criar o serviço Astoria, criar o proxy e interagir com o Silverlight.

 

Conceitos iniciais: REST, IUpdatable e Entity Framework

Antes de começarmos a por a mão na massa, vamos alinhar alguns conceitos. Dois tipos de serviços web muito utilizados são os baseados em SOAP (Simple Object Access Protocol), que está voltado a chamadas a métodos através de um protocolo. O REST (Representational State Transfer), muito conhecido do mundo Ruby e Java, foi incorporado de modo nativo a plataforma .NET com o ADO.NET Data Service, codinome Astoria. O REST em linhas gerais, utiliza-se dos métodos do próprio http para manipulação de informações, como o método GET, POST, PUT e DELETE.

As URLs devem por si só, trazer todas as informações necessárias da requisição, ou seja, não pode haver informações salvas no cliente e no servidor que mantenha o estado. Em suma, não é permitido utilização de cookie e session para manter o estado da requisição. Um usuário deve poder enviar o endereço para outra pessoa, que visualizará as mesmas informações. Logicamente que as questões de autenticação e privacidade da informação devem ser levadas em conta. Mais adiante veremos como tratar a questão da segurança.

As informações fornecidas pelo REST podem ser representadas por JSON ou ATOM (XML), definidos através do content-type. O content-type do HTTP define o tipo do conteúdo da resposta, como por exemplo, HTML, JPG, XML, entre outros.

 

Nota do DevMan

O JSON, ou JavaScript Object Notation, é um formato leve para troca de informações. Ele é fácil de ser compreendido sem o auxílio de sistemas específicos. Baseado em um subconjunto do JavaScript, sua estrutura é fácil de ser analisada pelos mais diversos sistemas e tecnologias como Java, Ruby, .NET e Delphi. Isso porque é constituído de texto simples, que é completamente ignorante às linguagens de desenvolvimento. Por isso é uma forma ideal de realizar intercâmbio de informações entre sistemas distintos onde seria impossível uma troca direta.

 

         O Entity Framework permite abstrair a base de dados em classes e entidades, sendo possível efetuar as operações de consulta, inserção, atualização e exclusão de registros. O Entity Framework é o modo mais imediato quando se pensa em utilizar o Astoria, por ter um casamento muito bom. Porém, isto nem sempre é possível em uma aplicação no mundo real, pois normalmente existe muito código legado que não utiliza o Entity Framework. Assim, é necessário implementar a interface IUpdatable.

         O IUpdatable por sua vez, é uma interface que permite inserir ou atualizar registros através do HTTP POST e pertence ao namespace System.Data.Services, permitindo assim que dados provenientes da aplicação Silverlight sejam atualizados ou inseridos.         

 

WebMobile PLUS!

Acesse agora mesmo o portal do assinante WebMobile e veja uma vídeo aula de Rodrigo Sendin que mostra como instalar e criar um modelo objeto-relacional utilizado o Entity Framework.

http://www.devmedia.com.br/articles/viewcomp.asp?comp=9472

 

Mãos à obra

Para criar um sistema utilizando o Astoria é necessário instalar o .net 3.5 SP1 do .NET Framework e do Visual Studio 2008. Para efetuar o download procure por Download .net 3.5 sp1 no seu mecanismo de busca favorito, ou acesse o site da Microsoft.

Abra o Visual Studio e crie uma nova solução em branco, utilizando o Framework 3.5, conforme a Figura 1.

 

Figura 1. Crie uma nova solução em Branco no Visual Studio

 

Adicione um novo Web Site na solução, conforme Figura 2.

 

Figura 2. Adicione um novo website à solução

 

 

 

Também utilize o Framework 3.5 e a linguagem VB.NET. Se quiser desenvolver em C# fique a vontade. Nomeie o Web Site de "

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?