conexiones Dynamics NAV

¿Qué integraciones permite Dynamics NAV?

El sector de la tecnología de la información está en auge y en un continuo crecimiento exponencial, hecho que Navision no ha pasado por alto y, por este motivo, desde hace ya varios años se ha encargado de proporcionar diferentes métodos de integración con otras tecnologías externas a Dynamics. De este modo, podemos hacer crecer en funcionalidad nuestro ERP para adaptarlo a los circuitos que necesite nuestra empresa.

El primer método de integración que Microsoft sacó a la luz en la versión 2009 del software, recoge el nombre de SOAP Services o también conocido como WebServices. Estos son un tipo de servicios que basan su comunicación bajo el protocolo SOAP (Simple Object Access Protocol) el cual según el portal Wikipedia se define como: “protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML”.

Los servicios SOAP funcionan, por lo general, por el protocolo HTTP aunque no están limitados únicamente a éste, ya que pueden ser enviados mediante FTP, POP3, TCP, Colas de mensajería, entre otros.

SOAP, por el momento, sigue siendo el mejor protocolo para la comunicación de Servidor a Servidor o de Partner a Partner debido a que es un protocolo mucho más robusto, tiene un tipado más fuerte, permite agregar metadatos mediante los atributos (a diferencia de JSON), permite definir espacios de nombres, evitando de esta forma la ambigüedad. A parte los XML’s tienen métodos de validación mucho más potentes que los utilizados en JSON.

Este tipo de servicio es un formato más pesado, tanto en tamaño como en procesamiento, ya que los XML tienen que ser transformados a un árbol DOM y resolver los espacios de nombres (namespace’s) antes de poder empezar a procesar el documento.

Por otro lado, tenemos los OData Services o también llamados REST Services que aparecieron en la versión Dynamics 2013, basados en una tecnología mucho más flexible que transporta datos por medio del protocolo HTTP, pero permite utilizar los diversos métodos que proporciona para comunicarse (como lo son GET, POST, PUT, DELETE, PATCH) y, a la vez, utiliza los códigos de respuesta nativos de HTTP (404,200,204,409).

REST es tan flexible que permite transmitir prácticamente cualquier tipo de datos, ya que el tipo de datos está definido por el Header Content-Type (Cabecera del contenido HTTP), lo que nos permite mandar XML, JSON, Binarios, Text… al contrario que SOAP, que solo permite enviar datos en formato XML.

A pesar de todo, este tipo de datos que soporta REST, la gran mayoría se transmiten en JSON, ya que este formato es interpretado de forma natural por JavaScript, lo que ha hecho que Frameworks basados en JS se aprovechen al máximo de la integración, pues pueden enviar peticiones directas al servidor por medio de AJAX y obtener los datos de una forma nativa.

Otra de las grandes ventajas que presenta JSON sobre SOAP es el Performance, ya que los JSON son considerablemente más livianos en peso y mucho más rápidos en su procesamiento.

Por lo que podríamos afirmar que los REST Services (OData Services) deberían de utilizarse para obtener datos en aplicaciones web que funcionan principalmente con el modelo MVC (Modelo-Vista-Controlador) del lado del cliente, es decir, que todos los procesamientos se realizan desde el navegador y que solo se va al Backend para obtener o actualizar la base de datos.

Otra de las situaciones en las que es recomendable aplicar REST es cuando tenemos aplicaciones en las que los recursos de procesamiento son bajos y con ancho de banda limitado, como sería el caso de aplicaciones móviles.

Por lo que, como conclusión, podemos ver que Dynamics NAV se ha encargado de proporcionar los métodos necesarios para su correcta integración con otros softwares y deja en nuestras manos la decisión de elegir el servicio que más se adapte a las necesidades de la tarea de comunicación a utilizar.