Partekatu honen bidez:


Elegir su estilo de desarrollo para código administrado

 

Publicado: noviembre de 2016

Se aplica a: Dynamics CRM 2015

Microsoft Dynamics CRM SDK proporciona diversos métodos y tecnologías para usar al escribir un código acceder a los servicios web de Microsoft Dynamics CRM 2015 y actualización de Microsoft Dynamics CRM Online 2015 o para ampliar la aplicación. Este manual resalta algunas herramientas y métodos que puede usar para llevar a cabo diversas tareas de codificación, y brinda algunas instrucciones sobre cuándo usarlas.

En este tema

Autenticar código de uso

Crear e implementar complementos o actividades personalizadas del flujo de trabajo

Crear e implementar flujos de trabajo XAML

Programación de entidad (enlace en tiempo de compilación frente a enlace en tiempo de ejecución frente a extensiones de desarrolladores)

Consulta (Fetch frente a QueryExpressions frente a LINQ con Extensiones de desarrollador)

Autenticar código de uso

La siguiente tabla muestra las opciones que tiene para escribir un código que autentique al autor de la llamada con una instalación de Microsoft Dynamics 365 para implementaciones locales, las implementaciones con conexión a Internet (IFD), o implementaciones en línea.

Clases

Descripción y uso

Más información

Código auxiliar

Las clases en el código de muestra indican cómo conectarse a los servicios web y autenticar al usuario. Puede usar el código auxiliar como base de su propio código de autenticación personalizado.

Este código es fácil de usar y admite todos los tipos de implementación de Microsoft Dynamics 365. También admite el almacenamiento de las contraseñas de los usuarios en Administrador de credenciales de Windows para reutilizar posteriormente.

Se proporciona el código fuente completo para que pueda copiarlo y personalizarlo conforme a sus necesidades. Esto es una práctica recomendada para aislar los programas de cambios en este código auxiliar en versiones futuras.

Ejemplo: Inicio rápido para Microsoft Dynamics CRM

Usar el ejemplo y el código auxiliar

Código auxiliar: clase ServerConnection

Este código puede encontrarse en los archivos SampleCode\CS\HelperCode\CrmServiceHelpers.cs y SampleCode\VB\HelperCode\CrmServiceHelpers.vb del SDK. Descargue el paquete de SDK de Microsoft Dynamics CRM.

Extensiones de desarrollador

Estos ensambladores se suministran para simplificar y acelerar el desarrollo de las aplicaciones que interactúan con Microsoft Dynamics 365. Las extensiones amplían la funcionalidad deMicrosoft Dynamics CRM SDK básico específicamente acerca del uso de clases de OrganizationServiceContext.

Para un método sencillo que haga el trabajo duro por usted en algunas líneas del código, use la clase CrmConnection.

Este código es fácil de usar y admite todos los tipos de implementación de Microsoft Dynamics 365.

Extensiones de desarrollador para Microsoft Dynamics CRM 2015

Conexión simplificada a Microsoft Dynamics CRM 2015

Cliente Xrm

Para desarrolladores avanzados que necesitan personalizar la administración del canal de servicio de Windows Communication Foundation (WCF) y el proceso de autenticación, use las clases IServiceManagement<TService> y OrganizationServiceProxy en el espacio de nombres Microsoft.Xrm.Sdk.Client.

Mediante estas clases, puede ofrecer directamente una mejor conexión y rendimiento de autenticación, así como mayor flexibilidad. Sin embargo, necesita un conocimiento más avanzadas del canal de servicio de WFC y de la autenticación del servidor. Además, debe especificar más códigos para administrar todos los tipos de implementación de Microsoft Dynamics 365.

Active Directory y autenticación basada en notificaciones

Ejemplo: Autenticar usuarios con los servicios web de Microsoft Dynamics CRM

Mejorar el rendimiento de la asignación del canal de servicio

Útiles de XRM

Estos ensamblados aprovechan las API de Dynamics 365 para proporcionar un soporte de autenticación sencillo con menos líneas de código y a través de cmdlets de Windows PowerShell . Todas las llamadas de función en estas clases brindan la seguridad de hilo para las acciones realizadas en Dynamics 365 en un entorno multiproceso. Proporciona un control de inicio de sesión común con lógica de autenticación integrada y una posibilidad para asegurar y volver a usar de manera segura la información de autenticación a fin de brindar una experiencia de inicio de sesión uniforme e integrada a Dynamics 365 desde las aplicaciones cliente de Windows.

Estas clases también brindan un seguimiento de diagnóstico integrado para colaborar en la solución de problemas y en la generación de informes de rendimiento de las llamadas de acción desde las aplicaciones cliente de Windows.

Estas clases admiten todos los tipos de implementación y de autenticación de Microsoft Dynamics 365, excepto OAuth.

Crear aplicaciones cliente de Windows mediante las herramientas XRM

Usar herramientas XRM para conectarse a CRM

Usar cmdlets de PowerShell para que las herramientas de XRM se conecten a CRM

Ejemplo: inicio rápido para la API de útiles de XMR

Crear e implementar complementos o actividades personalizadas del flujo de trabajo

La siguiente tabla enumeran las opciones disponibles para escribir e implementar complementos y actividades personalizadas del flujo de trabajo.

Herramienta

Descripción y uso

Más información

Clases de complemento y actividad de flujo de trabajo personalizada

Herramienta de registro de complementos

Las clases de complementos y de actividades de flujo de trabajo personalizadas le permiten crear controladores de eventos para realizar la lógica empresarial personalizada que puede integrar con Microsoft Dynamics 365 para modificar o aumentar el comportamiento estándar de plataforma.

Al usar directamente estas clases, el código no contendrá ningún código auxiliar proporcionado en Kit de herramientas del desarrollador.

Si escribe complementos y actividades de flujo de trabajo personalizadas desde el comienzo, debe usar la herramienta de registro de complementos de registrarlas. Esta herramienta proporciona una interfaz gráfica de usuario y admite el registro de complementos y actividades de flujo de trabajo personalizadas con Microsoft Dynamics 365.

Use este método si:

Comprende cómo usar los complementos y las clases de actividad personalizadas.

No desea un código de biblioteca adicional generado automáticamente y colocado en los archivos de código.

No le importa usar una herramienta externa y la aplicación web para registrar y agrupar ensamblados de código personalizado.

Desarrollo de complementos

Actividades de flujo de trabajo personalizadas (ensamblados de flujo de trabajo)

Registrar e implementar complementos

Tutorial: registrar un complemento mediante la herramienta de registro de complementos

Crear e implementar flujos de trabajo XAML

La siguiente tabla muestra las opciones disponibles para escribir e implementar flujos de trabajo de XAML.

Herramienta

Descripción y uso

Más información

Diseñador del flujo de trabajo Microsoft Visual Studio

Microsoft Dynamics 365 local e IFD admite la posibilidad de crear flujos de trabajo de XAML personalizados. Mediante el diseñador de flujo de trabajo de Microsoft Visual Studio, puede crear flujos de trabajo de XAML personalizados, también denominados flujos de trabajo declarativos, al arrastrar actividades de flujo de trabajo desde el cuadro de herramientas situado sobre la superficie de diseño, crear variables y establecer propiedades de estas actividades para implementar la funcionalidad de flujo de trabajo. Puede usar las actividades de Windows Workflow Foundation integradas o las actividades de proceso que son específicas de Microsoft Dynamics 365.

Use este método cuando desee especificar flujos de trabajo de XAML personalizados.

Flujos de trabajo personalizados XAML

Escribir flujos de trabajo para automatizar procesos de negocios

Programación de entidad (enlace en tiempo de compilación frente a enlace en tiempo de ejecución frente a extensiones de desarrolladores)

La siguiente tabla muestra las opciones disponibles para escribir el código que usa entidades en Microsoft Dynamics 365.

Clase

Descripción y uso

Más información

Enlace en tiempo de compilación

<optional namespace>.Account, <optional namespace>.Contact, y así sucesivamente

La herramienta de generación de códigos (CrmSvcUtil) crea clases de entidad de enlace en tiempo de compilación desde la clases de Entity, que pueden usarse para tener acceso a los datos de negocio en Microsoft Dynamics 365. Estas clases incluyen una clase para cada entidad en su instalación, incluidas las entidades personalizadas.

Use este método cuando desee tener las referencias del tipo de comprobación de compilador en tiempo de compilación. Además, los atributos y las relaciones se incluyen en la clase generada, por lo que tienen soporte de IntelliSense para los nombres de la entidad, el atributo, y la relación. El uso del establecimiento inflexible de tipos es el método preferido y se usa en la mayoría de muestras de esta documentación de SDK.

Este enfoque presenta algunas desventajas:

Las clases deben volver a generarse cada vez que las entidades se personalizan para aprovechar los cambios de esquema.

Los costos de la serialización aumentan mientras las entidades se convierten en tipos de enlace en tiempo de ejecución durante la transmisión a través de la red.

Usar las clases de entidad con enlace en tiempo de compilación en código

Crear las clases de entidad con enlace en tiempo de compilación con la herramienta de generación de código (CrmSvcUtil.exe)

Enlace en tiempo de ejecución

Microsoft.Xrm.Entity

La clase Entity contiene el nombre lógico de una entidad y de una matriz de bolsa de propiedades de los atributos de una entidad. Esto le permite usar enlaces de tiempo de ejecución a fin de que pueda trabajar con tipos como entidades y atributos personalizados que no estaban presentes en que la aplicación compilada.

Otra ventaja de esto es que la menor serialización se produce a medida que los datos de la entidad se transmiten a través de una red, lo que indica un rendimiento más alto.

Este enfoque presenta algunas desventajas:

Los tipos deben especificarse explícitamente para evitar conversiones no válidas.

Es más difícil aislar el impacto de cambios en el esquema ya que los nombres de los recursos, como entidades o atributos, están codificados de forma rígida.

Los errores de ortografía mientras se realiza la codificación son más fáciles de cometer porque los nombres de los atributos son cadenas con codificación de forma rígida.

Usar la clase de entidad con enlace en tiempo de ejecución en código

Extensiones de desarrollador

Microsoft.Xrm.Client.CrmEntity

La clase de CrmEntity se obtiene de la clase de Entity. Además de ofrecer toda la misma funcionalidad de clases de Entity, CrmEntity agrega nuevos métodos de extensión de obtención y configuración para simplificar las tareas de codificación comunes, y dos nuevos eventos de cambio de propiedad.

Extensiones de desarrollador para Microsoft Dynamics CRM 2015

Enlace en tiempo de compilación que usa extensiones de herramientas para la generación de códigos

<optional namespace>.Account, <optional namespace>.Account, y así sucesivamente

Al usar la versión de extensiones de desarrolladores de la herramienta CrmSvcUtil, puede generar tipos de enlace en tiempo de ejecución que derivan de la clase de CrmEntity. Use esta opción cuando desee aprovechar otras características disponibles en las extensiones de desarrollador.

Generar código con las extensiones de la herramienta de generación de código (Dynamics CRM 2015)

Adjuntar entidades al contexto (Dynamics CRM 2015)

Extensiones de desarrollador para Microsoft Dynamics CRM 2015

Consulta (Fetch frente a QueryExpressions frente a LINQ con Extensiones de desarrollador)

La siguiente tabla muestra las opciones disponibles para crear consultas que puede usar para recuperar registros de la base de datos de Microsoft Dynamics 365.

Estilo de la consulta

Descripción y uso

Más información

FetchXML

Se trata de un idioma de consulta personalizado basado en XML que soporta todas las características de QueryExpression más agregados y agrupación. Las consultas de Fetch pueden devolver registros para varias entidades. Además, las consultas pueden serializarse y guardarse en la base de datos. Esto se usa para guardar una consulta como una vista guardada que pertenece al usuario en la entidad de UserQuery y como una vista guardada de propiedad de la organización en la entidad de SavedQuery.

Use este lenguaje de consulta cuando se necesita soporte para agregados y agrupación o si necesita guardar la consulta.

Crear consultas con FetchXML

QueryExpression

Se usa una expresión de consulta para buscar registros para un tipo único de entidad. Las consultas están integradas como un modelo de objetos. Esta clase admite todas las características de FetchXML excepto los agregados y la agrupación. También admite estilos de programación de entidades de enlace en tiempo de compilación y en tiempo de ejecución.

Crear consultas con QueryExpression

LINQ

Las consultas se crean mediante un lenguaje estándar, pero internamente Consulta integrada del lenguaje .NET (LINQ) usa QueryExpression, por lo que se limita a las características de QueryExpression.LINQ admite estilos de programación de entidades de enlace en tiempo de compilación y en tiempo de ejecución.

Crear consultas con LINQ (consulta integrada del lenguaje .NET)

Ver también

Información general del desarrollador
Tutoriales para obtener más información acerca de Microsoft Dynamics CRM 2015
Escriba aplicaciones y extensiones de servidor
Los modelos de programación para Microsoft Dynamics CRM 2015

© 2017 Microsoft. Todos los derechos reservados. Copyright