Escolha o estilo de desenvolvimento do código gerenciado
Publicado: novembro de 2016
Aplicável a: Dynamics CRM 2015
O SDK do Microsoft Dynamics CRM oferece uma grande variedade de tecnologias e métodos que podem ser usados ao escrever códigos para acessar os serviços da Web de Atualização do Microsoft Dynamics CRM 2015 e Microsoft Dynamics CRM Online 2015 ou para estender o aplicativo. Este guia destaca algumas ferramentas e métodos que podem ser usados para realizar diferentes tarefas de codificação e oferece algumas orientações sobre quando usá-los.
Neste tópico
Autenticação com uso de código
Criação e implantação de plug-ins ou atividades de fluxo de trabalho personalizadas
Cria e implementa fluxos de trabalho em XAML
Programação da entidade (early bound X late bound X extensões para desenvolvedores)
Consulta (Fetch X QueryExpressions X LINQ X Extensões para desenvolvedores)
Autenticação com uso de código
A tabela a seguir lista as opções disponíveis para escrever códigos que autenticam o autor da chamada com uma instalação do Microsoft Dynamics 365 no local, para implantação para a Internet (IFD) ou para implantações online.
Classes |
Descrição e uso |
Mais Informações |
---|---|---|
Código auxiliar |
As classes no código de exemplo demonstram como se conectar aos serviços da Web e autenticar o usuário. É possível usar o código auxiliar como base do seu próprio código de autenticação personalizado. Este código é fácil de usar e oferece suporte para todos os tipos de implantação do Microsoft Dynamics 365. Ele também oferece suporte ao armazenamento das senhas dos usuários no Gerenciador de Credenciais do Windows para reutilização posterior. O código-fonte completo será fornecido, para que você possa copiá-lo e personalizá-lo de acordo com as suas necessidades. É uma prática recomendável isolar os programas das alterações a este código auxiliar em versões futuras. |
Exemplo: início rápido do Microsoft Dynamics CRM Usar o código de exemplo e auxiliar Código auxiliar: Classe ServerConnection Este código pode ser encontrado nos arquivos SampleCode\CS\HelperCode\CrmServiceHelpers.cs e SampleCode\VB\HelperCode\CrmServiceHelpers.vb no SDK. Baixe o pacote do SDK do Microsoft Dynamics CRM. |
Extensões para desenvolvedores |
Estes assemblies são fornecidos para simplificar e acelerar o desenvolvimento de aplicativos que interagem com o Microsoft Dynamics 365. As extensões ampliam a funcionalidade do SDK do Microsoft Dynamics CRM principal, especificamente em relação ao uso da classe OrganizationServiceContext. Para obter um método fácil que realiza o trabalho mais difícil em poucas linhas de código, use a classe CrmConnection. Este código é fácil de usar e oferece suporte para todos os tipos de implantação do Microsoft Dynamics 365. |
|
Cliente do Xrm |
Para desenvolvedores avançados que precisam personalizar o gerenciamento do canal de serviço WCF (Windows Communication Foundation) e o processamento de autenticação, use as classes IServiceManagement<TService> e OrganizationServiceProxy no Microsoft.Xrm.Sdk.Client namespace. Usar diretamente essas classes pode oferecer um melhor desempenho de autenticação e conexão, além de uma maior flexibilidade. Entretanto, elas exigem um conhecimento mais avançado da autenticação do servidor e do canal de serviço do WCF. Além disso, é necessário escrever um maior número de códigos para lidar com todos os tipos de implantação do Microsoft Dynamics 365. |
Ativar diretório e autenticação com base em declarações Exemplo: autenticar os usuários com os serviços web do Microsoft Dynamics CRM |
Uso das ferramentas do XRM |
Estes assemblies utilizam as APIs do Dynamics 365 para oferecer um suporte fácil de autenticação com um menor número de linhas de código e com os cmdlets do Windows PowerShell. Todas as chamadas de função nessas classes fornecem segurança aos threads para as ações realizadas no Dynamics 365 em um ambiente com vários threads. Eles fornecem um controle comum de entrada com uma lógica de autenticação integrada e a capacidade de armazenar e reutilizar com segurança as informações de autenticação, a fim de proporcionar uma experiência consistente e integrada de entrada no Dynamics 365 a partir dos aplicativos clientes do Windows. Estas classes também fornecem o rastreamento integrado de diagnóstico para auxiliar os relatórios de desempenho e a resolução de problemas das chamadas de ação a partir dos aplicativos clientes do Windows. Estas classes oferecem suporte para todos os tipos de autenticação e de implantação do Microsoft Dynamics 365 com exceção de OAuth. |
Criar aplicativos cliente do Windows usando as ferramentas XRM Usar a ferramenta XRM para se conectar ao CRM Usar cmdlets do PowerShell para ferramentas XRM e conectar ao CRM |
Criação e implantação de plug-ins ou atividades de fluxo de trabalho personalizadas
A tabela a seguir lista as opções disponíveis para escrever e implantar plug-ins e atividades de fluxo de trabalho personalizadas.
Ferramenta |
Descrição e uso |
Mais Informações |
---|---|---|
Classes de plug-ins e de atividades de fluxo de trabalho personalizadas Ferramenta de registro de plug-ins |
As classes de plug-ins e de atividades de fluxo de trabalho personalizadas permitem criar manipuladores de eventos para executar uma lógica de negócios personalizada que pode ser integrada com o Microsoft Dynamics 365 para alterar ou aumentar o comportamento padrão da plataforma. Ao usar diretamente estas classes, o código não conterá nenhum código auxiliar fornecido no Kit de Ferramentas para Desenvolvedores. Se desejar escrever plug-ins e atividades de fluxo de trabalho personalizadas desde o início, use a Ferramenta de Registro de Plug-ins para registrá-los. Esta ferramenta fornece uma interface gráfica do usuário e oferece suporte ao registro de plug-ins e atividades de fluxo de trabalho personalizadas com o Microsoft Dynamics 365. Use este método se você: Sabe como usar as classes de plug-ins e atividades personalizadas. Não deseja que o código adicional da biblioteca seja gerado automaticamente e inserido nos arquivos de código. Não se importa em usar uma ferramenta externa e o aplicativo Web para registrar e empacotar assemblies de código personalizados. |
Atividades personalizadas de fluxo de trabalho (assemblies de fluxo de trabalho) Registrar e implantar plug-ins Passo a passo: Registrar um plug-in usando a ferramenta de registro de plug-in |
Cria e implementa fluxos de trabalho em XAML
A tabela a seguir lista as opções disponíveis para escrever e implantar fluxos de trabalho em XAML.
Ferramenta |
Descrição e uso |
Mais Informações |
---|---|---|
Microsoft Visual Studio Designer de Fluxos de trabalho |
O Microsoft Dynamics 365 no local e IFD oferece suporte à capacidade de criar fluxos de trabalho personalizados em XAML. Ao usar o Designer de Fluxos de trabalho do Microsoft Visual Studio, é possível criar fluxos de trabalho personalizados em XAML, também chamados fluxos de trabalho declarativos, arrastando as atividades de fluxo de trabalho da caixa de ferramentas para a superfície de design, criando variáveis e definindo as propriedades dessas atividades para implementar a funcionalidade do fluxo de trabalho. É possível usar as atividades integradas do Windows Workflow Foundation ou as atividades de processos que são específicas para o Microsoft Dynamics 365. Use este método somente quando desejar escrever fluxos de trabalho personalizados em XAML. |
Fluxos de trabalho do XAML personalizados Gravar fluxos de trabalho para automatizar processos empresariais |
Programação da entidade (early bound X late bound X extensões para desenvolvedores)
A tabela a seguir lista as opções disponíveis para escrever códigos que usam entidades em Microsoft Dynamics 365.
Classe |
Descrição e uso |
Mais Informações |
---|---|---|
Early Bound <optional namespace>.Account, <optional namespace>.Contact e assim por diante |
A ferramenta de geração de códigos (CrmSvcUtil) cria classes da entidade early bound, derivadas da classe Entity, que podem ser usadas para acessar dados corporativos no Microsoft Dynamics 365. Estas classes incluem uma classe para cada entidade na instalação, incluindo entidades personalizadas. Use este método quando desejar que o compilador verifique as referências de tipo no momento da compilação. Além disso, como os atributos e relacionamentos são incluídos na classe gerada, eles têm suporte do IntelliSense para nomes de entidade, atributo e relacionamento. Usar tipos fortes é geralmente o método preferencial e é usado na maioria dos exemplos neste documento do SDK. Há algumas desvantagens nesta abordagem: As classes devem ser geradas novamente sempre que as entidades são personalizadas para aproveitar as alterações do esquema. Os custos de serialização aumentam conforme as entidades são convertidas para tipos late bound durante a transmissão pela rede. |
|
Late Bound Microsoft.Xrm.Entity |
A classe Entity contém o nome lógico de uma entidade e uma matriz do recipiente de propriedades dos atributos da entidade. Isso permite usar a associação recente, para ser possível trabalhar com tipos como entidades personalizadas e atributos personalizados que não estavam presentes durante a compilação do aplicativo. Outro benefício é que uma menor serialização ocorre conforme os dados da entidade são transmitidos por uma rede, o que significa um desempenho mais alto. Há algumas desvantagens nesta abordagem: Os tipos devem ser especificados de forma explícita para prevenir conversões implícitas. É mais difícil isolar o impacto das alterações ao esquema, já que os nomes dos recursos, como entidades e atributos, são fixados no código. É mais fácil cometer erros de ortografia durante a codificação, já que os nomes dos atributos são cadeias de caracteres fixadas no código. |
|
Extensões para desenvolvedores Microsoft.Xrm.Client.CrmEntity |
A classe CrmEntity é derivada da classe Entity. Além de fornecer as mesmas funcionalidades da classe Entity, a classe CrmEntity inclui novos métodos de extensão de obtenção e definição para simplificar tarefas de codificação comuns e dois novos eventos de alteração da propriedade. |
|
Early Bound com o uso das extensões da Ferramenta de Geração de Código <optional namespace>.Account, <optional namespace>.Account e assim por diante |
Ao usar a versão Extensões para desenvolvedores da ferramenta CrmSvcUtil, é possível gerar tipos early bound que são derivados da classe CrmEntity. Use-a quando desejar aproveitar os outros recursos disponíveis nas Extensões para desenvolvedores. |
Gerar código com as extensões da ferramenta de geração de código (Dynamics CRM 2015) |
Consulta (Fetch X QueryExpressions X LINQ X Extensões para desenvolvedores)
A tabela a seguir lista as opções disponíveis para criar consultas que podem ser usadas para recuperar registros do banco de dados do Microsoft Dynamics 365.
Estilo de consulta |
Descrição e uso |
Mais Informações |
---|---|---|
FetchXML |
Esta é uma linguagem de consulta personalizada baseada em XML, que oferece suporte a todos os recursos do QueryExpression além de agregações e agrupamento. As consultas do tipo Fetch podem retornar registros para várias entidades. Além disso, as consultas podem ser serializadas e salvas no banco de dados. Isso é usado para salvar uma consulta como uma exibição salva de propriedade do usuário na entidade UserQuery e como uma exibição salva de propriedade da organização na entidade SavedQuery. Use esta linguagem de consulta quando precisar de suporte para agregações e agrupamento ou quando precisar salvar a consulta. |
|
Uma expressão de consulta é usada para pesquisar registros de um único tipo de entidade. As consultas são criadas como um modelo de objeto. Esta classe oferece suporta todos os recursos de FetchXML, com exceção das agregações e agrupamento. Ela também pode ser usada com estilos de programação da entidade early bound e late bound. |
||
LINQ |
As consultas são criadas usando o idioma padrão, mas o .NET LINQ (Language-Integrated Query) usa internamente QueryExpression, por isso são limitadas aos recursos de QueryExpression.LINQ pode ser usada com estilos de programação da entidade early bound e late bound. |
Compilação de consultas com o LINQ (Language-Integrated Query do .NET) |
Confira Também
Visão geral do desenvolvedor
Tutoriais para aprender sobre o desenvolvimento do Microsoft Dynamics CRM 2015
Crie aplicativos e extensões do servidor
Os módulos de programação para o Microsoft Dynamics CRM 2015
© 2017 Microsoft. Todos os direitos reservados. Direitos autorais