Los modelos de programación para Dynamics 365 Customer Engagement (on-premises)
Microsoft Dynamics 365 Customer Engagement (on-premises) ofrece varios modelos de programación diseñados para proporcionar la flexibilidad necesaria para decidir qué trabajos son más convenientes para sus necesidades.
En el siguiente diagrama se ilustran los escenarios clave de programabilidad paraDynamics 365 Customer Engagement (on-premises). Use los modelos de programación Dynamics 365 Customer Engagement (on-premises) adecuados para el tipo de soluciones que crea.
Conectando a Dynamics 365 Customer Engagement (on-premises)
Cuando escribe clientes para obtener acceso a datos en Dynamics 365 Customer Engagement (on-premises) tiene dos opciones: puede usar la API web o el servicio de organización.
API Web
La API web se introdujo con la actualización de diciembre de 2016 para Dynamics 365 (en línea y local) y proporciona una experiencia de desarrollo que puede usarse en una gran variedad de lenguajes de programación, plataformas, y dispositivos. La API web implementa OData (Open Data Protocol) v4. OData es una norma OASIS para crear y consumir API RESTful a través de orígenes de datos enriquecidos.
Cuando use la API web, puede elegir entre una lista de bibliotecas compatibles con la comunidad que admiten la norma OData v4. También puede elegir escribir código mediante HTTP directamente. Más información: Usar la API web de Dynamics 365 Customer Engagement
Al conectarse a entornos Dynamics 365 for Customer Engagement (on-premises) con implementación con conexión a Internet (IFD), puede usar Bibliotecas de autenticación de Azure AD (ADAL) para habilitar la autenticación de una gran variedad de lenguajes de programación y plataformas. Más información: Autenticar en Dynamics 365 Customer Engagement (on-premises) con la API web
Nota
La biblioteca de Azure ADAL está en desuso. Use la Biblioteca de autenticación de Microsoft (MSAL) en su lugar.
El servicio de datos de organización ("extremo REST" o "extremo OData") es un servicio OData v2 que quedó obsoleto en la actualización de diciembre de 2016 para Dynamics 365 (en línea y local) a favor de la API web. El servicio de datos de la organización no está incluido en el diagrama precedente. El servicio de organización sigue disponible para admitir el código que lo utilizaba. Sin embargo, para cualquier nuevo desarrollo de Dynamics 365 Customer Engagement (on-premises) se recomienda el uso de la API web. Más información: Usar el extremo de OData con recursos web
Servicio de organización
Si usted es desarrollador de .NET puede usar API web o el servicio de la organización. Con el servicio de la organización puede usar un conjunto de ensamblados y herramientas para generar las clases con establecimiento inflexible de tipos que incluyan entidades y atributos personalizados que se han agregado a una instancia de Dynamics 365 Customer Engagement (on-premises).
Con los ensamblados y las herramientas de SDK para generación de código también puede incluir un OrganizationServiceContext, que se basa en el mismo concepto que DataServiceContext en Windows Communication Foundation (WCF) Data Services. Esta clase permite controlar los cambios, administrar identidades y relaciones, y proporciona acceso al proveedor Dynamics 365 Customer Engagement (on-premises) .NET Language-Integrated Query (LINQ) para que pueda crear consultas utilizando LINQ. Cuando use las herramientas para generación de código, obtiene clases con establecimiento inflexible de tipos para entidades y atributos que se definen cuándo se ejecute la herramienta de generación de código. Estos se denominan clases con enlace de tipo de compilación. Más información: Usar las clases de entidad con enlace en tiempo de compilación en código.
Cuando el código necesita trabajar con entidades y atributos que no se conocían en el momento en que se ejecutaron las herramientas de generación de código, puede usar una clase Entity que permite especificar entidades y atributos de entidad en su código. Este estilo de enlace en tiempo de ejecución de escribir código ofrece mayor flexibilidad pero no permite comprobar en tiempo de compilación todos los tipos para que no se produzcan conversiones implícitas. El enlace en tiempo de ejecución comprueba tipos solo cuando se crea el objeto o se realiza una acción en el tipo. La clase Entity requiere que los tipos se especifiquen explícitamente para evitar conversiones implícitas. Más información: Usar la clase de entidad con enlace en tiempo de ejecución en código
Si crea un cliente de Windows o usa Windows PowerShell, Xrm.Tooling proporciona un conjunto de API que usan los ensamblados de SDK para proporcionar características y recursos adicionales específicamente para el desarrollo de cliente de Windows. Más información: Crear aplicaciones cliente de Windows mediante las herramientas XRM
Ampliar en el servidor
Puede escribir código que escuche eventos y aplique lógica de negocios personalizada para modificar o mejorar el comportamiento estándar de la plataforma. Este código sólo está disponible para escribir con código administrado .NET y la experiencia del programador se basa en los mismos objetos definidos en los ensamblados de SDK. Puede trabajar con el servicio de la organización para realizar operaciones con los datos de Dynamics 365 Customer Engagement (on-premises). Más información: Escribir complementos para ampliar los procesos de negocio.
También puede crear procesos personalizados basados en el modelo de programación Windows Workflow Foundation. Puede crear distintos tipos de procesos. La mayor parte del tiempo usará el diseñador de flujo de trabajo. Pero cuando hay cierta capacidad que no puede conseguir en el diseñador, puede definir los procesos con código. Más información: Escribir flujos de trabajo para automatizar los procesos de negocios
Ampliarse en la aplicación
Cada una de las aplicaciones cliente que ofrece Dynamics 365 Customer Engagement (on-premises) incluye la capacidad de definir personalizaciones y de implementarlas a tipos múltiples de clientes. La aplicación web, Dynamics 365 for Outlook, Dynamics 365 para tabletas y Dynamics 365 para teléfonos proporcionan capacidades para incluir navegación personalizada y opciones de comando así como el modelo de objeto Xrm
y funciones Xrm.Utility
que puede usar con JavaScript para proporcionar experiencias con capacidad de respuesta en el cliente. Las bibliotecas JavaScript, páginas HTML, imágenes y otros tipos de archivos que pueden usarse o mostrarse en el cliente están disponibles como recursos web direccionables mediante dirección URL. Más información: Usar JavaScript con aplicaciones Customer Enagement y Recursos web de Dynamics 365 Customer Engagement (on-premises).
Si necesita obtener acceso a datos de Dynamics 365 Customer Engagement (on-premises) que no están disponibles en el contexto donde se ejecuta el código JavaScript, puede crear llamadas al servidor para obtener los datos que necesite. El servicio de la organización se puede usar, pero es mucho más fácil usar la API web con JSON en lugar del XML requerido por el servicio de organización. Puesto que el script se ejecuta en el contexto de la aplicación, usted se autentica automáticamente. Más información: Introducción a la API web de Dynamics 365 Customer Engagement (JavaScript del lado del cliente)
Consultar también
Guía para desarrolladores de Dynamics 365 Customer Engagement (on-premises)
Introducción
Tutoriales y recursos
Prácticas recomendadas
Herramientas del desarrollador