Está já disponível para download a nova versão do Microsoft Dynamics CRM 4.0 SDK (4.0.12):

http://www.microsoft.com/downloads/details.aspx?FamilyID=82E632A7-FAF9-41E0-8EC1-A2662AAE9DFB&displaylang=en

 

Esta nova versão do SDK traz algumas novidades, nomeadamente as Advanced Developer Extensions que nos dão a possibilidade de acesso aos dados do CRM para uso com os novos WCF Data Services (ADO.NET Data Services).

Este é uma grande novidade e que nos leva no caminho do Cloud Computing (Azure), desenvolvimento com Silverlight/WPF e também dos desenvolvimentos client-side com JSON.

 

Estas novas funcionalidades permitem que os developers possam agora criar, actualizar, apagar e ler dados do CRM usando os WCF Data Services, mantendo o CrmService e o MetadataService como background.  Isto traz a vantagem de não termos a necessidade de entender as query expressions e os fetchs sempre que necessitamos de interagir com os dados do CRM.

Para além disto, os tipos de dados específicos do CRM (tais como CrmBoolean, CrmDateTime, etc) deixam de ser necessários nestes casos, mantendo-se no entanto a sua utilização para os restantes cenários de desenvolvimento existentes hoje em dia, tais como os plug-ins e os retrieves feitos directamente ao CrmService e MetadataService.

 

A plataforma .NET 3.5 é um requisito obrigatório para a utilização destas novas funcionalidades, devido, por exemplo, ao uso das possibilidades do LINQ.

 

Estas Advanced Developer Extensions surgem na sequência do tão falado xRM e de modo a facilitar a construção ágil de aplicações Web totalmente integradas e podemos usar as mesmas quer em deployments On-Premise, quer com IFD.

 

Gostava também de realçar a nova tool CrmSvcUtil que nos permite a geração automática de código. Esta é uma tool que é executada através de uma linha de comandos e que pode ser usada para gerar data context classes e ainda data transfer objects para qualquer entidade do CRM.

As data context classes são as responsáveis por todas as operações com dados e também por disponibilizar as interfaces IQueryble que devem ser usadas para fazermos o retrieve de dados através de queries LINQ. Estas queries LINQ permitem-nos então a utilização de métodos como AddObject, DeleteObject, UpdateObject e SaveChanges.

 

Alguns links que podem ser interessantes:

·         WCF Data Services: (http://msdn.microsoft.com/en-us/data/bb931106.aspx)

·         Artigo MSDN sobre oData: (http://msdn.microsoft.com/en-us/data/ff478141.aspx)

·         Open Data Protocol Web Site: (http://www.odata.org/)

·         LINQ: (http://msdn.microsoft.com/en-us/netframework/aa904594.aspx)

  

André Mestre