DESARROLLADORES DE JAVA: Hablando con Microsoft Dynamics en su código Java

Ana Neto Noticias de la empresa, Conectores, Técnico Deje un comentario

¿Alguna vez has considerado conectarte a Microsoft Dynamics desde tu código Java? Sí, lo sé... preferirías mantenerte alejado de cualquier cosa de Microsoft... Pero, ¿qué pasaría si pudieras obtener los datos de Microsoft Dynamics (o incluso de Microsoft Dynamics) sin ensuciarte las manos?

¿Cuáles son mis opciones?

La forma clásica de integrarse con cualquier tipo de software sería utilizar su API. Si quieres usar el API de Microsoft Dynamics, tienes, de hecho, dos opciones. Ambas son REST API y si alguna vez necesitas buscarlas, asegúrate de buscar "Microsoft Customer Engagement REST API". Microsoft utiliza ahora el término "Participación del cliente" para todo lo relacionado con Dynamics.

Volviendo a sus opciones, si está buscando el Microsoft Dynamics API, estas son:

- Web API

- API de administración en línea

El API de la web sería la elección natural del API para la mayoría de los casos. Implementa OData (Protocolo de Datos Abiertos) y soporta Dynamics 365 (tanto en línea como en las instalaciones), Dynamics CRM 2016 y Dynamics CRM Online. La versión de OData utilizada es la versión 4.0, y el uso de OData es una gran ventaja.

Si no ha oído hablar de OData, puede empezar aquí y luego ir más profundo aquí. Y si no está seguro de las ventajas de OData, sólo lo diré isaprobado como una norma internacional (ISO/IEC). Para usar esta API, probablemente usarías o bien SDL OData Frameworks o Apache Olingo, ya que estas son las bibliotecas Java que soportan OData V4.

La segunda opción, la API de gestión en línea, está pensada específicamente para tareas relacionadas con el ejemplo. Puedes realizar varias tareas en las instancias en línea de tu inquilino Office 365 como crear, recuperar, eliminar, hacer copias de seguridad y restaurar una instancia. Esta es una API de uso específico, no algo que usarías en un escenario de integración genérico.

Una alternativa a la integración clásica de la API con la API web y/o la API de gestión en línea sería probar una solución sin código/de bajo código. Sería posible utilizar PowerApps y crear una aplicación que se conectaría a Microsoft Dynamics. Sin embargo, este enfoque no tiene mucho sentido para un desarrollador... después de todo puedes codificar, ¿por qué intentarías evitarlo?

Si vas con PowerApps tienes el gran inconveniente de estar pegado a las plantillas que están definidas. Y también terminará con una aplicación que es totalmente inútil cuando está fuera de línea y que no manejará realmente ninguna parte complicada como la seguridad. Creo que estas son limitaciones que sólo soportarías si no pudieras codificar.

La zona de peligro... ¿la integración con Microsoft Dynamics podría funcionar en mi contra?

Digamos que vas con la integración clásica de la API. Lo primero que debes tener en cuenta es que habrá muchos estudios involucrados. La documentación básica de la API se puede encontrar en https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/about?view=dynamics-ce-odata-9.
Si necesitas trabajar con versiones anteriores de Dynamics (antes de la 9.x) entonces necesitas estudiar https://docs.microsoft.com/en-us/previous-versions/dynamicscrm-2016/developers-guide/mt607689(v=crm.8).

En resumen, hay un montón de documentación que necesitas para hacerte a la idea. No es súper difícil empezar, pero lo es más si estás trabajando en una aplicación de la vida real. Asegúrate de que tienes el tiempo para ello si este es el camino que eliges.

Pero el verdadero peligro son las actualizaciones. El ciclo de vida de los productos de Dynamics se mueve rápido. Si miras los últimos 10 años, esto es lo que obtienes (para más detalles mira (para más detalles mira (para más detalles mira https://docs.microsoft.com/en-gb/previous-versions/dynamics/ para las versiones más antiguas o https://community.dynamics.com/p/products para los actuales):

Dinámica AX

- Dynamics 365 for Finance and Operations

- Microsoft Dynamics AX 2012

Dynamics CRM

- Dynamics 365 para Ventas

- Dynamics 365 para el Servicio de Atención al Cliente

- Dynamics 365 para el Servicio Móvil

- Dynamics CRM 2016

- Dynamics CRM 2015

- Dynamics CRM 2013

- Dynamics CRM 2011

Dinámica NAV

- Dynamics 365 Central de Negocios

- Dinámica NAV 2016

- Dinámica NAV 2015

- Dynamics NAV 2013 R2

- Dynamics NAV 2013

- Dynamics NAV 2009 R2

- Dynamics NAV 2009

Servicio de atención al cliente unificado

Management Reporter para Microsoft Dynamics ERP

Microsoft Dynamics Business Analyzer

Microsoft Dynamics Marketing

En resumen, en el pasado, si usted estaba hablando con Dynamics API, habría tenido que considerar el Microsoft Dynamics CRM API (2016, 2015, 2013, 2011, 4.0), el Microsoft Dynamics GP API, el Microsoft Dynamics AX API (2012/2009), ...

Sólo puedes imaginar lo que nos depararán los próximos 10 años... Digamos que hoy construyes tu integración de Java con Dynamics. ¿Cuántas horas-hombre necesitará para mantener esa integración actualizada durante los próximos 10 años? Cada vez que se lance una nueva versión, tendrá que estudiar los cambios de la API y volver a su código para hacer los cambios necesarios.

Todo este ir y venir consume tiempo y es propenso a errores. Y, afrontémoslo... ¡simplemente aburrido! No hay nada excitante en hacer que una integración funcione y es aún menos excitante mantenerla funcionando en el futuro.

La zona segura... ¿podría funcionar para mí la integración con Microsoft Dynamics?

¿Hay una mejor manera de hacer esta integración de Microsoft Dynamics en Java entonces? La solución es conseguir una herramienta de integración entre usted (y su código Java) y la API. La herramienta que sugerimos es Connect Bridge.

Esta es una herramienta pagada, pero tiene un prueba gratuita disponible para que puedas ver si funciona para ti. La belleza de esta herramienta es que asegura la compatibilidad hacia adelante y hacia atrás. Construiste tu código Java integrándose con él, y entonces tus usuarios pueden actualizar (o incluso bajar de categoría si ese es el caso) y no tienes que preocuparte por ello. Microsoft también puede lanzar nuevas versiones de la API, reorganizar todas sus soluciones de Dynamics o hacer lo que quiera... ¡Su solución seguirá haciendo lo que estaba destinada a hacer con cero esfuerzo de su parte!

¿Cómo funciona esto? Connect Bridge básicamente traduce las sentencias SQL en llamadas a la API. Está escribiendo su código Java como si accediera a una base de datos relacional utilizando JDBC (también se admiten ODBC y servicios Web). Estás usando las sentencias SELECT, INSERT, UPDATE y DELETE. Está utilizando procedimientos almacenados. Pero todo eso es sólo una capa de abstracción.

No estás accediendo a la base de datos de la Dinámica (¡y eso es algo bueno!). Pero parece que sí. Connect Bridge viene con una herramienta de consulta donde puedes probar tus consultas (falsas), ver las tablas (falsas) con sus columnas (falsas) y encontrar un procedimiento almacenado (falso) conveniente. Como he dicho, parece exactamente como si estuvieras mirando una base de datos SQL, pero es sólo una abstracción. Y después de que hayas terminado con las pruebas, simplemente pones todo en tu código como si estuvieras usando JDBC para conectarte a una base de datos... et voilá! Una solución que funciona y que no requiere ningún mantenimiento. Todo el esfuerzo de mantenimiento está del lado de Connect Bridge. Por eso es una herramienta de pago y por eso vale cada centavo!

Es importante señalar que esto funciona para leer los datos de la Dinámica, pero también para poner datos en ella. Para poner los datos, se utilizan las declaraciones INSERTAR o ACTUALIZAR o uno de los procedimientos almacenados disponibles. Y aunque se verá aterrador la primera vez que lo hagas porque se siente como si realmente estuvieras tocando la base de datos de Dynamics, sólo tienes que recordar que siempre estás pasando por la API, así que estás en terreno seguro.

Conclusión

Hemos visto cómo el acceso a los datos de Microsoft Dynamics en Java se puede hacer fácilmente usando el Plataforma de integración Connect Bridge. La buena noticia es que esto también es posible con Microsoft Exchange y Microsoft SharePoint! De hecho, puedes conectarte a cualquier software del ecosistema de Microsoft, a Salesforce, y a muchos otros:

- SharePoint 2010, 2013, 2016, 2019, En línea

- Office 365

- Exchange Server 2003, 2007, 2010 SP1, 2013, 2016, 2019, Exchange Online

- Directorio activo

- Bing

- Excel, Word, PowerPoint

- Equipos, Planificador

Sólo necesitas tener Connect Bridge, que es la plataforma de integración de base y elegir el conector para el software específico que quieras.

Si quieres explorar los conectores actualmente disponibles en Connect Bridge, el lugar para ir es https://www.connecting-software.com/connect-bridge-connectors/.

Si quieres saber cuáles son los conectores más nuevos de esta extensa colección, mira los Connect Bridges Dynamics 365 BC y Dynamics 365 FO .

Una interesante opción adicional que tienes en Connect Bridge es el sellado inteligente de documentos. Hay un complemento que utiliza la tecnología de cadenas de bloques para sellar documentos en Dynamics. Le da el más alto nivel de seguridad, garantizando que el documento no ha sido manipulado, pero el hecho de que utilice libros de contabilidad distribuidos de forma inteligente lo hace mucho más rentable. Y también puede funcionar con documentos que están almacenados en otro lugar, por ejemplo en SharePoint.

¡Esperamos que este artículo le haya sido útil! Aquí hay algunas publicaciones más que tenemos en nuestro blog discutiendo otras posibilidades de integración:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *