Imagine se você tivesse que criar métodos em um serviço para expor cada pedaço se seu modelo do Entity Framework. Além de extremamente trabalhoso, a interface não teria acesso a um trabalho amplo no modelo utilizando o Linq. O Data Services resolve isso, expondo o modelo do Entity Framework de forma quase imediata.
Porém a idéia da Microsoft para o Data Services vai muito além do que vimos lançado no Framework 3.5 SP 1 : A idéia é ter uma forma de acesso, um protocolo, para acessar dados em qualquer plataforma.
Qual a dificuldade, vocês perguntariam. Simples : Expor Sharepoint, dados do SQL Server, Windows Azure Table Services, e muito mais através de Data Services. Imagine qualquer fonte de dados disponível via Data Services e podendo ser consumida em qualquer plataforma. Observando por este ângulo realmente vemos algo muito mais amplo do que a simples implementação que conhecemos no framework 3.5 sp 1.
A comparação mais precisa é um paralelo com ODBC : O Data Services será para a web o que o ODBC foi para o client/server, permitindo acesso a múltiplas origens de dados em qualquer plataforma.
Porém essa não era a promessa dos WebServices, gerar a interoperabilidade ? Com certeza, porém os webServices dependem de uma ação do lado fornecedor da informação, a ação de criar o webService e isso dá trabalho. O Data Services fornece a opção de já vir integrado nas plataformas e desta forma poder expor os dados de forma praticamente automática (respeitando as necessidades de segurança), tendo a tendência de conseguir realmente muitos adeptos e gerar um ambiente de interoperabilidade maior do que os webservices conseguiram.
Esse novo ponto de vista foi apresentado entre o 1o e 2o dia do PDC que iniciou ontem. Porém não apenas isso : Quem já leu o livro de Data Services da Apress sabe como o Data Services envolve não só o lindo client do ADO, mas um protocolo HTTP muito bem definido para a realização das querys. Esse protocolo ganhou um nome específico – Open Data Protocol, ou OData.
O que começou como um protocolo específico do Data Services se tornou agora um protocolo aberto com a promessa de ser publicado sob a Open Specification Promisse, permitindo que qualquer ambiente possa interagir com o protocolo.
No ambiente Microsoft, o SQL Server 2008 R2, o Windows Azure Table Services, o Excel 2010 (através do recurso de PowerPivots) e o Sharepoint 2010, sendo que outros produtos, tal como o Microsoft MediaRoom, encontram-se em fase de desenvolvimento.
Porém isso não se restringe ao ambiente Microsoft. A IBM já implementou o ODP no WebSphere para permitir acesso a sua tecnologia de grid.
A novidade é muito promissora e só destaca mais a importância que deve ser dada ao desenvovimento com Data Services. Só falta melhorarem o R.A.D. para Data Services no VS 2010, aguardemos.
OData ganhou portal próprio : www.odata.org
Curiosidade : Quando digo que temos sérios problemas de nomenclatura, não acreditam. Vai ser muito fácil confundir o Open Data Protocol, explicado acima, com o Open Data Services, camada existente nos mecanismos de acesso a rede do SQL Server.