CRM 2013/2015/2016 – Conexão Simplificada (Simplified Connection)

Pessoal,

Acredito que tenha sido após o release Polaris no CRM 2011 tenhamos “ganho” uma forma bem simplificada de conexão ao CRM quando estamos acessando “fora de seus domínios”, ou seja, através de uma aplicação custom. Quando estamos acessando através de um plugin ou custom workflow teríamos o contexto e não precisamos nos “re-conectar”.

Uma Conexão Simplificada (Simplified Connection) nos remete de volta as Connections Strings do .NET! Sim, agora podemos utilizar uma simples connection string e apenas DUAS LINHAS no C# para termos acesso ao WCF do Dynamics CRM!

Microsoft.Xrm.Client.CrmConnection connection = Microsoft.Xrm.Client.CrmConnection.Parse(
System.Configuration.ConfigurationManager.ConnectionStrings["NOME DE SUA CHAVE"].ToString());
OrganizationService _orgService = new OrganizationService(connection);

Assim, resolvi criar este post para ajudar a disseminar esta boa dica! Incrementei um pouco ao original (Sample: Simplified connection quick start using Microsoft Dynamics CRM), inseri uma criptografia (fonte: MSDN) para melhorar um pouco mais a segurança do conteúdo do web.config.

Basicamente, existem 5 pontos para serem observados:

1 – Criptografia (classe Cripto) – Devemos criar “nossas sementes” de criptografia, respeitando a quantidade de caracteres obrigatórios. (Fique tranquilo quanto ao conteúdo dos métodos, vou disponibilizar o source!):

simplifiedconn1

2 – Conexão com o CRM (classe Connection) – Criei uma classe de conexão implementando o Pattern Singleton, para não ficarmos a todo momento criando novas conexões:

simplifiedconn2

3 – Gerar Criptografia (“Crypto.exe”) – Na imagem 1, notem que temos dois projetos nesta solução, para gerarmos nossa criptografia, precisamos executar primeiro o arquivo “Crypto.exe” que é gerado ao compilarmos o projeto “Crypto

simplifiedconn4

Informe, os dados de conexão com o Dynamics CRM que deseja conectar-se (para maiores detalhes da formatação, não deixe de ler o artigo do SDK), exemplo:

simplifiedconn4_1

 

4 – Connection String (app ou web.config) – Adicionar a chave que foi gerada pelo “Crypto.exe”:

simplifiedconn3
5 – Para testarmos a conexão, criei  para fins de teste uma chamada da clase “WhoAmIResponse”:

simplifiedconn5

O resultado será a apresentação do GUID do usuário que foi utilizado na conexão com o CRM:

simplifiedconn6

 

Pronto! Nada além do SDK e muito útil para o desenvolvimento, ganhamos um bom tempo de trabalho!

Para ter acesso a solução baixe o arquivo ConnectionInCRM2013 (está em formato .doc, substitua para .zip e descompacte).

É isso pessoal, espero que ajude!

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.

4 respostas para CRM 2013/2015/2016 – Conexão Simplificada (Simplified Connection)

  1. Adriano disse:

    Consigo utilizar o Crypto.exe para criptografar strings de conexão em arquivos WebConfigs da versão 2011 do Dynamics CRM?

    Curtir

  2. Ricardo Rodrigues disse:

    Tiago boa tarde,

    Estou começando a desenvolver para o MSCRM porém não consigo achar nenhum material para criar conexão com o banco de dados do MSCRM e como e o codebehind para criar por exemplo um novo Contato no MSCRM 2015, pagina web, você tem algum link ou material que possa me ajudar?

    Curtir

    • Olá Ricardo,

      Para o CRM não fazemos acesso ao banco de dados, usamos seus serviços (Web Services), o principal é o Organization Services. Inclusive este post que você postou seu comentário, possui como realizar a conexão com o CRM.
      Outro ponto importante é que quando necessitamos criar novas funcionalidades dentro do CRM, não é preciso fazer uma conexão, pois herdamos do contexto.
      O CRM possui um guia para desenvolvimento que é o seu SDK, procure post “Dynamics CRM SDK”, lembre-se de pegar a versão referente ao CRM que está utilizando.
      Acredito que no meu blog você possa encontrar alguns exemplos de como desenvolver para o CRM, você primeiro precisa entender onde vai customizar e qual tecnologia será desenvolvida.

      Para por exemplo trabalhar com contato, faríamos algo assim:

      Entity contact = new Entity(“contact”);
      contact[“firstname”] = “Tiago”;
      contact[“lastname”] = “Cardoso”;
      service.Create(contact); // onde service é o objeto que representa o Web Services

      []’s,
      Tiago Cardoso

      Curtir

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