WhatsApp Facebook Twitter LinkedIn Mail

Integraciones de software: ¿cómo se integran las diferentes aplicaciones?

Hoy en día todo está conectado con todo. Esta necesidad no sólo está en los dispositivos particulares como los móviles. Las empresas requieren que haya un alto grado de interoperabilidad entre sus aplicaciones para no perder detalle. Sin embargo, muchas de estas aplicaciones están desarrolladas en lenguajes diferentes. Entonces, ¿es posible integrar siempre las distintas aplicaciones de software?

Índice:

  1. ¿Qué es una integración de software?
    1. Diferencia entre conectar e integrar
    2. ¿Se puede integrar siempre?
    3. Objetivos de la integración
  2. Tipos de integración
    1. De punto a punto
    2. Hub and Spoke
    3. Topología bus
  3. Ejemplos de integraciones
    1. ERP y CRM
    2. Calidad y Gestión documental
    3. E-commerce y ERP
    4. Otros ejemplos
  4. Consejos

¿Qué es una integración de software y para qué sirve?

La integración consiste en conseguir que distintos softwares se pasen información de uno a otro sin que el usuario lo note. Esta integración hace que el usuario pueda pasar de un sistema a otro en tiempo real.

Se pueden encontrar integraciones en casi todas las empresas. Esto es común en empresas que usan distintas aplicaciones para llevar a cabo un proceso en el que participan varios departamentos. Para que estos procesos fluyan bien, las distintas aplicaciones se tienen que hablar entre ellas. Por ejemplo, una empresa puede tener un software ERP para gestionar sus proyectos en el cual los empleados registran sus horas. Entonces, necesitan integrar el ERP con el sistema de nóminas para que éste tenga ya las horas trabajadas de cada empleado y, así, generar las nóminas automáticamente.

Una de las integraciones más comunes es la que se realiza entre sistemas genéricos (como sistema de gestión documental o el ERP) y sistemas Best-of-breed (BOB, sistemas especializados). Los BOB son soluciones nicho. Es decir, han sido especialmente diseñados para realizar una función en concreto.

puntos positivos bob

Sin embargo, si estos sistemas no están integrados con otros sistemas, es muy probable que se tenga que duplicar la información. Eso significa que por cada sistema donde se requiera un dato, se tendrá que escribir dicho dato. Por ejemplo, una empresa tiene un sistema especializado para la gestión de almacenes. Parte de la información que hay ahí es sobre qué artículos hay y en qué cantidad. Esa misma información la puede requerir un comercial que está trabajando desde el ERP para cerrar un pedido de un cliente. Si tiene que estar yendo de un programa al otro para comprobar la información, esto puede causar fallos por leer mal, pérdidas de tiempo, etc. Por lo tanto, puede afectar a la venta y perjudicar a los ingresos. Estando integrados el ERP y el sistema de gestión de almacenes, el comercial podría ver directamente desde una misma interfaz si el artículo que requiere el cliente está disponible y en qué cantidad.

No es lo mismo conectar que integrar

Muchas veces, los términos “conexión” e “integración” se usan indistintamente. Esto es un error, no es lo mismo conectar sistemas que integrarlos. La conexión de 2 sistemas implica que ambos sistemas operan paralelamente. Cuando los sistemas se conectan, se puede obtener información del otro sistema, pero hay que hacer la petición o se vuelca periódicamente.

Integrar dos sistemas es más complicado de conseguir, pero puede ser más útil. La integración de dos sistemas implica que la información que se rellena en un sistema es la misma que aparece en el otro sistema. Por lo tanto, con una integración, la información siempre se encuentra disponible y actualizada.

¿Se pueden integrar siempre los sistemas?

Por muy útil que sea una integración, conseguir que funcione al 100% también es muy difícil. Entre sistemas del mismo fabricante, esto suele ser fácil. Pero si los sistemas son muy antiguos (sistemas legacy) y/o son de diferentes fabricantes, cada sistema tendrá su propio código. Eso hace que la comunicación no siempre sea del todo posible. Los proveedores de las diferentes soluciones tienen que ponerse en contacto para poder crear una forma de conectarse. Por ejemplo, desarrollando una API que permita la conexión de ambos sistemas. Por tanto, esto implica un mayor coste.

Importante: la gestión de las API’s para la integración de los sistemas necesita mantenimiento. Este mantenimiento sirve para que la integración siga siendo posible cuando se realicen actualizaciones de los distintos sistemas. Si no se hiciera dicho mantenimiento, la integración podría dejar de funcionar en caso de actualización de alguno de los sistemas. Por ejemplo, una empresa no tiene apuntada qué API’s ha creado para integrar sus sistemas a su sistema de gestión de contenido (CMS). Si actualiza el CMS para obtener una nueva versión, puede perder alguna API porque no sirve con la nueva versión de su CMS. Por tanto, podría tardar en darse cuenta y, mientras tanto, el sistema que integraba dicha API no está alimentando al CMS de la información o función que necesita.

Para facilitar las integraciones, cada vez más fabricantes crean API’s estándares, que ellos mismos mantienen, para que sus productos se puedan integrar con soluciones muy comunes de otros fabricantes. Por ejemplo, hay muchas empresas que usan Microsoft Office 365. Por ello, hay otros fabricantes que crean conexiones con Office, para que las empresas puedan usar su software y Office 365. Un caso en el que se ve es en las soluciones de BI de SAP, tanto SAP Analytics Cloud como SAP BusinessObjects tienen integraciones con Office para que las empresas puedan hacer uso de Excel para sus informes.

Otra solución a la que han llegado los fabricantes de software es el uso de los data services. De esta forma, los datos que proceden de distintas fuentes se organizan de una forma común que puede ser usada por los distintos sistemas. Algunos de estos data services son: Microsoft Dataverse, SAP Data Services, Adobe Experience Platform, etc.

data service almacen datos repositorios

¿Cuáles son los objetivos de la integración?

Integrar sistemas puede ser muy útil, pero para hacerlo es necesario saber qué objetivo es el que hay detrás de dicha integración. Los objetivos de la integración puede ser:

  • Integración de datos: cuando el objetivo es el de integrar los datos, eso quiere decir que se busca mejorar la calidad y disponibilidad de los datos. Por ejemplo, los datos de contacto del cliente que pide un producto en una tienda web se actualizan en el CRM, el ERP y el sistema financiero. Además, esta integración permite generar informes integrales. Por tanto, con sólo pulsar un botón, se muestra una ficha completa del cliente sin tener que acceder a todo tipo de aplicaciones diferentes.
  • Integración de procesos: la integración de los procesos debe tener como objetivo el seguimiento y la optimización de este tipo de procesos globales de los departamentos y/o de las aplicaciones. Por ejemplo, el pedido que se realiza a través de la tienda web desencadena una reacción en varias aplicaciones de la empresa. A estas reacción se le aplican todo tipo de reglas de negocio y se inician varios subprocesos (generación de la factura, actualización del stock, etc.). Pero, ¿qué formas hay de integrar? ¿cómo se puede conocer el estado del proceso cuando éste se desarrolla en varios departamentos o aplicaciones? ¿quién espera a quién?

¿Qué tipos de integración hay?

Dependiendo de los sistemas y de la cantidad de ellos que se vayan a integrar, las empresas suelen escoger una forma de integrar u otra. A continuación se muestran las formas de integración más comunes:

Conexión de punto a punto (point-to-point)

Este tipo de integración se consigue estableciendo una conexión doble entre cada sistema que se necesita integrar. Es decir, entre cada sistema hay 2 conexiones, una que va del sistema A al sistema B, y la otra conexión va del sistema B al sistema A. Por tanto, el número de conexiones finales será n2, siendo “n” el número total de aplicaciones a integrar. Se hace un cambio en el código fuente de cada aplicación para realizar las modificaciones necesarias para lograr la integración. La desventaja de este tipo de integración es que si no están bien planificadas pueden surgir problemas de escalabilidad y mantenimiento, afectando al desempeño de la integración de los sistemas. Además requiere bastante tiempo de desarrollo de las conexiones.

Hub and Spoke

La integración Hub and Spoke también es conocida como EAI brokers (EAI, Enterprise Application Integration, integración de aplicaciones empresariales). En este tipo de integración, las diferentes aplicaciones se conectan al middleware conocido como broker, que hace de administrador central. Por tanto, no se comunican directamente entre ellas, sino que el broker transforma los mensajes de acuerdo al formato que necesita la aplicación de destino. Esto hace que las modificaciones en las aplicaciones sean menos invasivas. La desventaja con este tipo de integración es que, al ser un punto centralizado de conexiones, si hay un fallo o caída, deja de funcionar la integración por completo.

Integración en topología bus

Este tipo de integración sigue el modelo publicador/suscriptor (publish–subscribe pattern). Todas las aplicaciones tienen un adaptador que transforma los datos y los enruta a la aplicación de destino. El envío del mensaje se hace a través de un punto central (conocido como bus o backbone) al que están conectadas todas las aplicaciones. Luego la información llega hasta la aplicación de destino, la cual lo traduce con ayuda de su adaptador propio. Por tanto, el flujo sería el siguiente: la aplicación que tiene la información (publicador) modifica los datos para que puedan viajar por el bus. Luego, la información llega a la aplicación de destino (suscriptor), la cual la traduce a su idioma con ayuda de su adaptador. La desventaja de este tipo de integración es que no va bien cuando hay muchas aplicaciones que se deben integrar. De hecho, cuanto más grande es la red de aplicaciones, peor desempeño tiene la integración. Esto se debe a que el backbone tiene que ser capaz de transformar los mensajes de los distintos sistemas en un formato común que a su vez sea modificable por cada adaptador. Esto supone mucha codificación que, llegada a cierto punto, puede ser insostenible debido a todas las modificaciones realizadas.

bus integracion aplicaciones

Una de las formas de integración en bus más conocidas es la infraestructura basada en ESB (Enterprise Service Bus, bus de servicio empresarial). La infraestructura basada en bus forma parte de la arquitectura SOA (Service Oriented Architecture, arquitectura orientada a servicios). Esta infraestructura es muy utilizada en empresas cuyos web services se multiplican y necesitan tener rápidamente conectores para integrar las distintas aplicaciones.

Ejemplos de integraciones de sistemas empresariales

Las integraciones se encuentran entre sistemas empresariales muy distintos. Sin embargo, hay algunas integraciones que se dan con más frecuencia que otras. A continuación se encuentran algunos ejemplos de integración de sistemas en empresas:

La integración del ERP con CRM para mejorar la experiencia del cliente

Es muy común encontrarse que se integre un sistema CRM con un sistema ERP. Especialmente, en aquellas empresas que están muy enfocadas al cliente, como las que prestan servicios, las que fabrican por pedido o las que trabajan en base a proyectos.

Por ejemplo, las empresas de telefonía tienen un amplio equipo de atención al cliente. Estos empleados deben tener acceso tanto al CRM para poder tener la información cuando entra y la del ERP para ver los contratos, acceder a las facturas, etc. Si tuviera que estar iniciando sesión en uno y en otro durante la conversación telefónica, el enfado del cliente aumentará y esto puede ocasionar que la empresa pierda al cliente.

Atención: debido a la gran demanda de integración entre los sistemas de ERP y los CRM, muchos proveedores ofrecen paquetes que los combinan. En la Guía CRM hay una lista de control que indica cuando resulta beneficioso este tipo de paquetes completos.

La integración del sistema de gestión de calidad con la gestión documental para las auditorías

Las empresas que trabajan con especial enfoque en la calidad suelen generar una gran cantidad de documentación. Estos documentos son manuales, procedimientos, no conformidades, entre otros. Además, si se tiene una norma ISO, se recibirán auditorías para comprobar que la empresa sigue todos los estándares.

Generalmente, este tipo de empresas tienen un sistema de gestión de la calidad (SGC o QMS, Quality Management System). Debido al alto volumen de documentación relacionado con la calidad, estas empresas suelen requerir integrar su sistema de gestión de calidad con uno de gestión documental. Así, todos los documentos se encuentran en un punto central, se puede controlar sus versiones en caso de que se hagan modificaciones en los procedimientos, buscar la información rápidamente y mostrarla en caso de auditoría.

¿Sabías que? Los paquetes de SGC no son iguales para cada sector, e, incluso dentro de los propios sectores, hay diferencia entre los sistemas. En la Guía de Gestión Documental hay una clara diferenciación de la SGC por sectores.

La integración de e-commerce con ERP

Muchos sistemas de gestión de contenido (CMS) como WordPress o Magento, facilitan conexiones para e-commerce. Esto ayuda a las empresas que tienen un e-commerce a hacer campañas de email marketing con facilidad. De hecho, tienen ya conectores con algunos sistemas muy comunes como Mailchimp. Así, si por ejemplo, un cliente deja un carrito abandonado, el sistema lo detecta y a las 3 horas se le puede mandar un email al cliente incitándole a comprarlo.

Sin embargo, un e-commerce no siempre tiene suficiente con una conexión entre un sistema de email marketing. En muchos casos, estas empresas con e-commerce necesitan integrarlos con un sistema ERP. Esto se debe a que, sin un ERP que lo gestione, todo el volcado de datos de los pedidos y los relacionados con la contabilidad, tendrían que traspasarse manualmente del e-commerce al ERP.

Otros ejemplos de integraciones

Las integraciones no sólo se dan entre softwares grandes como ERP, CRM o DMS (gestión documental). Estas integraciones se dan en sistemas como: pequeñas aplicaciones de desarrollo propio de una empresa; en base de datos; sistemas de email marketing; etc.

También, como se ha dicho, se puede hacer en aplicaciones de desarrollo propio. Por ejemplo, una empresa de refrescos tiene una aplicación propia de incentivos para los clientes y otra de preventa de productos para clientes. Entonces, esta empresa puede decidir integrar ambas aplicaciones para que se le sumen o resten puntos al cliente directamente. Estos puntos se pueden sumar cuando se da de alta o hace una compra, y se le puede restar cuando paga tarde o usa sus puntos para obtener un descuento.

Consejos para una buena integración entre sistemas

  1. No subestimes la integración: la integración entre sistemas suena muy bien, pero cuesta mucha dedicación y esfuerzo. Por ello, es necesario que esté bien detallada y planificada.
  2. Asignar un responsable de la integración: una integración es un proyecto bastante complejo. Por ello, es necesario que haya alguien responsable que se asegure de que todo está yendo bien, según los plazos previstos y que compruebe que funciona.
  3. Reúne un equipo capaz de hacer la integración (si la vas a hacer en interno): algunas empresas tienen equipos informáticos internos y piensan que cualquiera del equipo puede. Eso no es verdad. Dentro del área de la informática hay especializaciones y una integración no es cualquier cosa. Por ello, es importante poner a trabajar en la integración a personal que sepamos que son realmente capaces de hacerla.
  4. Integra sólo lo necesario: a la hora de planificar la integración es importante hacer una lista de lo que es necesario integrar. Esta lista servirá de guía para todo el proyecto. Esto es importante porque suele pasar que, a medida que avanza el proyecto de integración, van llegando más ideas y peticiones de elementos a integrar. Esto hace que se ralentice el proyecto global, tardando más, aumentando costes y posibilidades de que surjan errores y/o complicaciones. Por lo tanto, es aconsejable que se integre sólo lo necesario.
  5. No reinventes la rueda: los problemas que surgen a la hora de integrar sistemas suelen ser los mismos. Para estar preparados para estos posibles errores se pueden consultar los muchos libros, manuales y blogs ya existentes que tratan estos temas. Además, en ellos también se encuentran las soluciones que le han dado a dichos problemas. Muchas empresas no se preparan para los problemas y deciden buscar ellas mismas una solución sin consultar primero estas fuentes. Esta forma de actuar conlleva una mayor pérdida de tiempo ya que en vez de implementar soluciones que se sabe que funcionan, se intenta llegar a una solución que no ha sido desarrollada ni probada.
  6. Recuerda que los cambios en un sistema pueden afectar a la integración: los sistemas tienen actualizaciones constantemente. A veces, estas actualizaciones son de gran tamaño que afectan al código del sistema. Otro factor que puede afectar al sistema son las personalizaciones que hace la empresa para que el sistema se adapte mejor a los procesos. Estas modificaciones, aunque sean necesarias, pueden influir en la integración. Por eso, aunque la integración ya esté realizada, cada vez que se haga un cambio en cualquiera de los sistemas integrados, revisa la integración para comprobar que sigue funcionando bien.

¿Quieres usar este artículo como fuente? Haz clic para copiar:

European Knowledge Center for Information Technology. (2022, 1 septiembre). Integraciones de software: ¿cómo se integran las diferentes aplicaciones? TIC Portal. https://www.ticportal.es/glosario-tic/integraciones-software