Artigo WebMobile 23 - Manipulação de dados através do Silverlight com Astoria
Artigo publicado pela revista WebMobile edição 23.
Clique aqui para ler este artigo em PDF
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 "
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo