WCF Data Services: falando sobre protocolo ODATA

Olá pessoal, tudo certo?

No post anterior falamos sobre os novos participantes da família WCF, na figura a seguir:

image

Vamos olhar um pouco mais de perto o WCF Data Services. Como sabemos, ele é o antigo ADO.NET Data Services, agora consolidado para suportar OData – Open Data Protocol, para a exportação de dados via serviços como HTTP, REST, ATOM, etc. Note que ele aparece no desenho acima, na caixa de Protocolos do Modelo de Canais do WCF.

O OData é um protocolo Web para a consulta e atualização de dados via internet. É baseado em tecnologias como HTTP, AtomPub, JSON, etc., oferecendo acesso a dados para uma variedade de aplicações e serviços. A Microsoft soltou um release de OData sobre OSP - Open Specification Promise, o que capacita qualquer um a interoperar com implementação de OData na plataforma .NET.

Mas o que OData tem a ver com o WCF Data Services?

De fato, o protocolo OData é um padrão para o compartilhamento de dados que estão isolados em silos, abrindo um horizonte muito poderoso de interoperabilidade entre clientes (consumidores) e serviços (produtores), muito maior do que temos hoje em dia.

O WCF Data Services, é a primeira tecnologia da Microsoft a suportar o protocolo OData no Visual Studio 2008 SP1. Ele oferece bibliotecas clientes para o .NET, Silverlight, AJAX, PHP e Java. A Microsoft agora também suporta o OData no SQL Server 2008 R2, Windows Azure Storage, Excel 2010 (através de PowerPivot) e no SharePoint 2010. Muitas outras aplicações estão em desenvolvimento. O desenho abaixo ilustra essa visão:

image

Como funciona o OData no WCF Data Services?

O Data Services framework facilita a criação de serviços de dados flexíveis que são naturalmente integrados com a web. O WCF Data Services usa URI's para apontar porções de dados, permitindo que formatos de representação bem-conhecidos como JSON e ATIM, baseados em XML, sejam usados para o transporte de dados.

Isso resulta num estilo de programação RESTful, enquanto permite a manipulação de coleções endereçadas via URI's. Nesse modelo, agentes consumidores podem interagir com os dados através de verbos padrão HTTP, como GET, POST, PUT ou DELETE.

Para a exportação dos dados a partir do banco, pense em ADO.NET Entity Framework, além de providers baseados em LINQ:

image

Em posts futuros, vamos construir alguns exemplos em WCF Data Services, que junto com o WCF RIA Services, ampliam as possibilidades de aplicações ricas com fácil manipulação de dados de fontes diversas, seja no ambiente on-premise ou na nuvem, sobre o Windows Azure.

Para saber mais, confira os links a seguir:

Open Data Protocol (OData)
Ref.: https://www.odata.org/

WCF Data Services...
Ref.: https://msdn.microsoft.com/en-us/data/bb931106.aspx

Por enquanto é só! Até o próximo post :)

Waldemir.