- Al enfrentar este proceso, se debe partir del hecho que muchas aplicaciones corren en diferentes plataformas y en diferentes ubicaciones, y utilizar software de EAI (Enterprise Application Integration) solo cubre una parte de las complejidades de integración. Por tal motivo se debe:
- Establecer comunicación entre grupos IT y unidades de negocio.
- La solución de integración tiene gran alcance y debe cubrir primero los las funciones de negocio más importantes y evitar cualquier cambio de comportamiento negativo.
- Ofrecer “endpoints” de comunicación para sistemas legados, que por sus idiosincrasias o por políticas no pueden ser conectadas de manera adecuada.
- Tener en cuenta estándares de integración como XML, XLS o Servicios Web. Siendo estos últimos los que más ofrecen puntos de extensión y nuevas interpretaciones de los estándares.
- Hay diferentes semánticas entre sistemas, estas diferencias implican grandes decisiones técnicas y de negocio.
- Desarrollar habilidades no solo para implementar soluciones EAI, sino también para manejarlas.
Acoplamiento
Con el fin de obtener una comunicación de bajo acoplamiento entre los diferentes sistemas a integrar se deben superar los siguientes obstáculos y dependencias con el fin de poder concebir una solución que sea tolerante a cambios:
- Plataforma Tecnológica
- Localización
- Time de disponibilidad
- Formato de Datos
Estilos de integración
En este aspecto, destacamos los siguientes criterios a ser aplicados:
- Acoplamiento de Integración: Las aplicaciones integradas debería minimizar sus dependencias para evolucionar por aparte sin causarle daño a las demás. La interfaz de integración debería contener información suficiente para la implementación.
- Simplicidad de Integración: El código que se utiliza para la integración debería ser mínimo, dando el menor impacto posible a la aplicación y ofreciendo la mejor integración en la empresa.
- Tecnología de Integración: Herramientas especializadas en integración pueden ser costosas, y sin ayuda del vendedor pueden incrementar el costo de tiempo y entendimiento entre los desarrolladores sobre estas herramientas.
- Formato de Datos: Las aplicaciones integradas deben acordar que tipos de datos van a intercambiar, cómo pueden evolucionar estos datos y afectar estas aplicaciones.
- Duración de Datos: Acuerdos para la duración de un dato y para que sea consumido apenas sea publicado.
- Datos o Funcionalidad: Las aplicaciones integradas pueden querer no solamente compartir datos sino también funcionalidades.
- Asincronicidad: las aplicaciones integradas pueden no querer que siempre sus invocaciones tengan respuesta inmediata.
File Transfer: Múltiples aplicaciones construidas independientemente con diferentes lenguajes y plataformas y entre ellas necesitan consumir información (En el caso de VehiAlpes la aplicación de inventarios, de gestión de clientes, garantías, etc.). Estas aplicaciones deciden en qué formato de archivo comparten la información (se podría estandarizar en XML el cual es el mas usado). Como la construcción de estos archivos requiere de un esfuerzo, es necesario configurar una periodicidad para su construcción, así como la frecuencia para eliminarlos.
Shared Database: Necesidad de tener la última versión de los datos, rápida y consistentemente. Se debe tener una base de datos centralizada para que las aplicaciones la puedan acceder cuando sea que la necesiten. Las aplicaciones no se preocupan por el formato de los archivos puesto todas conocen SQL a través de diferentes herramientas (clientes SQL). Sus desventajas:
- Necesidades reunidas de las aplicaciones, haciendo que se origine un esquema unificado difícil para trabajar entre los programadores.
- Conflictos humanos debido a las políticas establecidas en el esquema.
- Problemas al no querer trabajar con paquetes externos, sino con sus propios esquemas.
- Cuellos de botella y bloqueos debido a las modificaciones hechas por las múltiples aplicaciones.
Messaging: Los llamados remotos de “Remote Procedure Invocation” pueden ser lentos y pueden fallar. Existen organizaciones que no les gusta compartir los detalles de su estructura, inclusive si sus detalles son sus interfaces.
Messaging transfiere paquetes de datos de forma confiable, frecuente, inmediata y asíncronamente, utilizando formatos de datos personalizados. La desincronización es importante porque se pueden enviar datos sin estar listos para recibirlos aún. El desacoplamiento de los formatos de datos hace que múltiples sistemas puedan recibir mensajes.
No hay comentarios:
Publicar un comentario