Projeto Astoria no SAF 2007.
Olá pessoal, tudo certo?
O assunto agora é o Projeto Astoria. Falamos dele em posts passados, quando tratamos o assunto WEB 2.0. Nesse cenário de Web com maior interatividade e usabilidade, quando pensamos sobre os dados na Web, podemos citar 4 tipos básicos de aplicações hoje em dia:
- Aplicações AJAX
Onde o foco é a maior interatividade com o usuário. Antecipando informações que serão apresentadas na interface da aplicação Web, evitamos roundtrips para o servidor, ganhando maior interatividade e melhor experiência para o usuário. - Aplicações Silverlight
Aplicações Silverlight seguem a mesma linha de interatividade, adicionando o aspecto RIA - Rich Internet Application. Nesse cenário, temos controles interagindo com o servidor em background, mantendo uma maior atratividade visual para a aplicação, enquanto a performance de navegação é melhor em relação as aplicações tradicionais na Web. - Serviços Online
Onde serviços básicos são implementados para o tratamento direto por outros serviços ou módulos de aplicações. - Mashups
Que permite a composição online de serviços e recursos de diversas fontes diferentes. Através de geradores de mashups, um usuário pode compor funcionalidades a partir de uma mesma interface, acessando dados de diversas fontes. Um exemplo aqui é o PopFly da Microsoft.
Nesse contexto surgiu o Projeto Astoria, que pode ser definido como uma interface REST para dados na Web. Durante o SAF 2007, Pablo Castro, líder técnico do projeto Astória apresentou o projeto e vários exemplos interessantes.
O projeto Astoria consiste de uma combinação de patterns, bibliotecas e serviços online que exploram o conceito de serviços de dados na Web. Assim, o objetivo do Astoria é facilitar a criação de serviços de dados flexíveis que são naturalmente integrados com a Web. Atualmente, pensamos num mecanismo de pulicação de dados relacionais, através da interaface REST. Para isso, o Astoria utiliza URI's para endereçar porções de dados, enquanto documentos XML e JSON são utilizados para representar os dados acessados, de formasimples e compacta. Como resultado, os serviços de dados são navegados pela Web como uma coleção de recursos sobre REST, o que permite que agentes possam interagir através de verbos GET, POST ou DELETE do protocolo HTTP, por exemplo.
Um exemplo de query que navega o banco de dados NorthWind é dada abaixo:
https://astoria.sandbox.live.com/northwind/northwind.rse/Categories
Veja que o resultado da query é um XML com o conteúdo da raiz do banco de dados. Se fizermos um drill-down sobre query, podemos acessar novas porções do banco de dados:
https://astoria.sandbox.live.com/northwind/northwind.rse/Categories[CategoryName%20eq%20'Beverages']
ou ainda esta, onde navegamos na categoria "Beverages", sub-produto "Products"...
https://astoria.sandbox.live.com/northwind/northwind.rse/Categories[CategoryName%20eq%20'Beverages']/Products
A partir do Visual Studio 2005, é possível a criação de serviços Web que exportam as porções de dados ou bancos que desejamos. Mas a idéia é ampliar os dados além dos modelos relacionais. Oficialmente, o nome do Astoria será "ADO.NET Data Services Framework". O Astoria está em CTP - Community Technology Preview, com suas últimas edições em maio e setemrbo de 2007. Um novo CTP deve ser publicado em dezembro. O RTM deve estar finalizado em meados de 2008.
Alguns links importantes são:
CTP Astoria Maio 2007
https://www.microsoft.com/downloads/details.aspx?familyid=1B6F85BC-8933-4D0E-A639-934EF85ADCE1&displaylang=en
CTP Astoria Setembro 2007
https://www.microsoft.com/downloads/details.aspx?FamilyID=0fa1413c-cb55-4577-960e-0f3491847f58&DisplayLang=en
Pablo Castro's blog
https://blogs.msdn.com/pablo/
Project Astoria Team Blog
https://blogs.msdn.com/astoriateam/
Para maiores detalhes, visite ainda o site do projeto no link:
Astoria Online Service
https://astoria.mslivelabs.com/
Por enquanto é só. Até o próximo post! :)
Waldemir.