TEMA 6 - Introducción a la Integración Software PDF

Title TEMA 6 - Introducción a la Integración Software
Author Jose Carlos Romero Pozo
Course Arquitectura e Integración de Sistemas Software
Institution Universidad de Sevilla
Pages 4
File Size 251.1 KB
File Type PDF
Total Downloads 46
Total Views 115

Summary

Profesor Sergio Segura...


Description

TEMA 6: INTRODUCCIÓN A LA INTEGRACIÓN SOFTWARE 1. INTRODUCCIÓN Los negocios suelen contar con múltiples aplicaciones que deben “hablar entre sí” para poder funcionar de forma óptima: gestión de pedidos, stock, facturación, nóminas, TPV, envíos, redes sociales, … Por ejemplo, el objetivo de una zapatería es vender zapatos. Para poder realizar esta actividad de forma exitosa, el negocio debe ser capaz de llevar a cabo un adecuado registro, gestión, sistema de facturación, nóminas, impuestos… si vende por internet: envíos, correos electrónicos, servicio fiable de cobros… La integración de aplicaciones empresariales (Enterprise Application Integration, EAI) se define como el uso de software y principios de arquitectura para integrar un conjunto de aplicaciones.

2. APLICACIONES DISTRIBUIDAS VS. INTEGRACIÓN DE APLICACIONES Aplicaciones distribuidas: los componentes están altamente acoplados y dependen unos de los otros para funcionar correctamente. La comunicación suele ser síncrona. Aplicaciones integradas: las aplicaciones son independientes y pueden ejecutarse de forma aislada. El acoplamiento es bajo. La comunicación suele ser asíncrona.

3. INTEGRACIÓN DE DATOS VS. INTEGRACIÓN DE APLICACIONES Integración de datos: se trata de combinar información que se encuentra en distintas fuentes de datos para ofrecer una vista única de estos. Ejemplo: 3 bancos van a ser fusionados en otro. Cada banco tiene su propia base de datos y a cada una de estas se le aplica un proceso ETL para tener los datos de los clientes de cada banco en uno solo. ETL (Extract, Transform and Load): proceso que permite a las organizaciones mover datos desde una o múltiples fuentes, reformatear esos datos y limpiarlos cuando sea necesario y cargarlos en otra base de datos. Integración de aplicaciones: se trata de combinar funcionalidad y datos de varias aplicaciones para implementar nuevos casos de uso.

4. RETOS DE LA INTEGRACIÓN Las aplicaciones integradas, dado que no se ejecutan en solo 1 máquina, están expuestas a un conjunto de problemas con los que será necesario lidiar. Estos son los retos de la integración. ✓ Las redes no son fiables: las soluciones de integración tienen que transportar los datos de una computadora a otra a través de las redes. Estas están separadas por largas distancias y los datos tienen que viajar por diferentes medios, por lo que la comunicación es compleja. Hay que conseguir que las aplicaciones sigan funcionando y que en caso de error, éste se muestre de forma amigable. ✓ Las redes son lentas: enviar datos a través de una red es más lento que hacer una llamada a un método local. Se debe hacer solo las peticiones necesarias y solicitar los datos que realmente necesitamos. ✓ Heterogeneidad de plataformas (SO, protocolos de comunicación, lenguajes de programación, formatos de datos): una solución de integración debe ser capaz de interactuar con todas las tecnologías diferentes. ✓ El cambio es inevitable: aunque se integre la app perfecta, hay muchas cosas que pueden cambiar con el tiempo (requisitos, apps externas, …). Si una aplicación cambia, el resto de sistemas pueden

verse afectados creando un efecto dominó. El acoplamiento debe ser bajo, es decir, se deben minimizar las dependencias entre aplicaciones. ✓ La integración requiere un cambio de mentalidad en las políticas de las empresas : para que la integración empresarial tenga éxito es necesario establecer la comunicación entre los sistemas informáticos y entre las personas que trabajan en cada área. Esto implica cambios en la forma en la que solían trabajar. ✓ Control limitado sobre las apps integradas de los desarrolladores ya que muchas suelen ser sistemas heredados. ✓ Difícil mantenimiento: dado a las múltiples tecnologías con los diversos cambios.

5. ESCENARIOS COMUNES DE INTEGRACIÓN Portales de información: agregan información de múltiples fuentes en un único punto evitando al usuario acceder a varios sistemas. Replicación de datos: replican la información en varias fuentes de datos. Funcionalidad compartida: funcionalidad común implementada en un componente compartido usado por varias aplicaciones. Ej. comprobar la validez del DNI. Microservicios: funciones de negocio encapsuladas como “servicios” que son invocados usando protocolos estándar. Proceso de negocio distribuido: implementación de procesos de negocios que requieren la participación de varias aplicaciones. Business to business (B2B): integración entre dos o más organizaciones.

6. ESTRATEGIAS TRADICIONALES DE INTEGRACIÓN 6.1. TRANSFERENCIA DE FICHEROS ¿Cómo podemos integrar varias aplicaciones para que trabajen juntas e intercambien información? Podemos hacer que unas aplicaciones creen y almacenen información en ficheros y otras los lean. Las aplicaciones tienen la responsabilidad de transformar los ficheros de un formato a otro si es necesario. La frecuencia de escritura/lectura dependerá de la naturaleza del negocio. Ventajas: ✓ Las aplicaciones que se integran no necesitan conocer cómo funcionan las otras aplicaciones, sólo el formato de datos y cuándo se debe leer y escribir. ✓ No es necesario el uso de herramientas adicionales. ✓ Mecanismo relativamente simple. Inconvenientes: ✓ Sobrecarga de trabajo a los desarrolladores: acordar un formato de ficheros y directorios a usar, garantizar que los nombres son únicos, decidir el tratamiento de ficheros antiguos, … ✓ Si la frecuencia de escritura/lectura es baja pueden surgir problemas de sincronización. Ej. un cliente cambia sus datos personales en la web y el sistema de facturación lee el fichero con el cambio 24 horas más tarde. ✓ Si la frecuencia de escritura/lectura es alta, puede llegar a ser ineficiente.

6.2.

BASE DE DATOS COMPARTIDA ¿Cómo podemos integrar varias aplicaciones para que trabajen juntas e intercambien información? Integrar las aplicaciones almacenando sus datos en una base de datos compartida. El esquema de la base de datos debe ser capaz de satisfacer las necesidades de las distintas aplicaciones. Ventajas: ✓ Todas las aplicaciones tienen una vista consistente de los datos, la posibilidad de inconsistencias es mínima. ✓ Lenguaje de consulta estándar: SQL. Inconvenientes: ✓ Es difícil diseñar un esquema que satisfaga las necesidades de todas las aplicaciones involucradas. ✓ La integración de componentes externos es compleja porque no suelen funcionar con un esquema de datos que no sea el suyo. ✓ Alto acoplamiento con la base de datos: cualquier cambio en la base de datos afecta a todas las aplicaciones. ✓ Puede ser un cuello de botella en términos de rendimiento.

6.3.

INVOCACIÓN A PROCEDIMIENTOS REMOTOS ¿Cómo podemos integrar varias aplicaciones para que trabajen juntas e intercambien información? Hacer que las aplicaciones proporciones una o varias interfaces que permitan a otras aplicaciones interaccionar con ella en tiempo de ejecución. Las llamadas suelen ser síncronas.

Ventajas: ✓ Las aplicaciones que se integran no necesitan conocer cómo funcionan las otras aplicaciones, sólo su interfaz. ✓ Opción natural para los programadores. ✓ Las aplicaciones pueden ofrecer varias interfaces para los mismos datos. ✓ Opción preferente para la integración web. Inconvenientes: ✓ Rendimiento y fiabilidad.

6.4.

MENSAJERÍA ¿Cómo podemos integrar varias aplicaciones para que trabajen juntas e intercambien información? Usar mensajes para transferir paquetes de datos de forma frecuente, fiable y asíncrona, usando formatos personalizables.

Procedimiento: ✓ ✓ ✓ ✓ ✓

Crear. El emisor crea un mensaje y le añade datos. Enviar. El emisor coloca el mensaje en el canal. Entregar. El sistema de mensajería transmite el mensaje desde el ordenador del emisor al del receptor. Recibir. El receptor lee el mensaje del canal. Procesar. El receptor extrae los datos del mensaje.

Comunicación asíncrona.

Ventajas: ✓ Alta cohesión (mucho trabajo local). ✓ Bajo acoplamiento (pocas dependencias). ✓ Las aplicaciones pueden funcionar de forma desconectada. Inconvenientes: ✓ Es posible que los mensajes lleguen en el orden incorrecto. ✓ No adecuado para aplicaciones que requieren un tiempo de respuesta rápido. ✓ Aplicaciones difíciles de probar y depurar....


Similar Free PDFs