CRM 2011 – Early x Late Bound

Pessoal,

Um assunto que em alguns situações não é tão simples de escolhermos ou sabermos o que ganhamos ou perdemos com o uso, trata-se de manipular as classes CRM usando early bound (classes tipadas) ou late bound (classes não tipadas).

Assim decide escrever este post para colocar as vantagens e desvantagens de cada opção.

Early Bound

Utilizamos o aplicativo CrmSvcUtil (dentro da pasta bin do SDK), com as devidas configurações e execução conseguimos obter um “mapa” contendo todas as entidades que nossa organização de CRM possui em forma de classes tipadas, ou seja, temos objetos .Net que refletem as entidades CRM.

Vantagens:

  • Melhor aproveitamento do Intellisense do Visual Studio, a sintaxe é testada em tempo de compilação;
  • Aumento de produtividade para criar códigos, por temos classes tipadas que assessoram o desenvolvimento;
  • Menor curva de aprendizado para não desenvolvedores de Dynamics CRM, pois irão consumir classes, métodos e atributos;

Desvantagens:

  • Ter conhecimento de como parametrizar e executar o CrmSvcUtil;
  • Manipulação de várias entidades, atributos e relacionamentos para que sejam realizados os desenvolvimentos;
  • Não é possível manipular objetos que não existam no CRM, pois todos são tipados;
  • Todas vez que tivermos qualquer alteração em relação a estrutura entidades do CRM, como novas entidades, atributos, relacionamentos, precisamos executar novamente o CrmSvcUtil, isso é um trabalho que pode ser constante (dependendo da fase do projeto) e que pode impactar em várias áreas do projeto;

Late Bound

Fazemos uso da classe “Entity” que é tipadas por nós mesmos de acordo com nossa utilização, deste modo, nossa sintaxe será realmente testada apenas em momento de execução.

Vantagens:

  • Manipulação de uma única classe (Entity) para realizar os desenvolvimentos;
  • Podemos manipular objetos que não existam no CRM, como por exemplo criar um atributo em tempo de execução e depois utilizá-lo no código;
  • Por não tipar as classes é menos afetado as mudanças nas entidades do CRM;

Desvantagens:

  • Requer uma maior conhecimento na estrutura de entidades do CRM;
  • Pouco aproveitamento do Intellisense do Visual Studio, a sintaxe é testada apenas em tempo de execução;

Bom espero que tenha clareado alguns pontos que estavam “abertos”, até o momento procurei não expressar minha opinião quanto a utilização, mas com algum tempo realizando desenvolvimentos para o CRM 2011, acredito que o caminho para a maioria dos casos seja o uso de Late Bound, apesar de ser factível à erros, temos que nos preocupar com apenas uma única interface de acesso e acho válido termos o conhecimento das entidade do CRM, podemos criar melhor com esta abordagem.

[]’s,

Tiago Cardoso

Anúncios

Sobre Tiago Michelini Cardoso

I have been working with IT since 2006, almost of this time using Microsoft Dynamics CRM/365 as a source of solutions. I graduated in Bachelor of Information Systems at FIAP (Brazil) in 2012. I really love what I do! Technology has been my interest since always. Even in a tool different world of the current. When we didn't have internet, tablets, smartphones e social networks! Although I have worked in some roles, I can't give up "the developer life". Even so far of the greatest developers. Development in general is the thing that I love to work! I started my contributions about Dynamics in 2010. At the beginning, I used to help at MSDN and TechNet forums. But now, I'm dedicating all my time in my personal blog! Currently, I have the enormous honour of being the only Brazilian who got the award for Microsoft MVP (Most Valuable Professional) for Microsoft Dynamics CRM/365 product. I have been receiving the award since 2012.
Esse post foi publicado em Dynamics CRM e marcado , , , . Guardar link permanente.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s