Knoppia

Wiki de Informática y otras historias

Herramientas de usuario

Herramientas del sitio


Barra lateral

Proyecto Integral de Ingeniería del Software
Metodologías Ágiles
Trabajo Fin De Grado
Guía Memoria TFG

Colecciones

Otros

dad:patrones_de_integracion

¡Esta es una revisión vieja del documento!


Patrones de Integración

Las aplicaciones actuales interaccionan unas con otras y le hacen frente a los siguientes problemas:

  • Las redes son lentas y no fiables
  • Las aplicaciones son diferentes: Framework, sistema, codificación y codificación de los datos.
  • El cambio es inevitable, las aplicaciones evolucionan constantemente.

Los desarrolladores suelen adoptar las siguientes soluciones:

  • Transferencia de ficheros.
  • Base de datos compartida.
  • Invocación de procesos remotos.
  • Envío de mensajes.

Elementos

Mensaje

es una estructura de datos, puede ser un string, byte array, registro o un objeto Se puede interpretar como:

  • Dato
  • Una descripción de orden a ejecutar en el receptor
  • Descripción de un evento producido en el emisor

Tiene 2 partes:

  • Body
  • Header

Canal

Son vías lógicas que conectan los programas y el listado de mensajes.

Se comportan como una colección de mensajes.

Se comparten entre ordenadores.

Múltiples aplicaciones pueden usarlos simultáneamente.

Sender y Receiver

Lo que serían el emisor y el receptor

Sistema de mensajería

El envío de mensajes se realiza a través de un sistema de mensajería. Hay que diferenciar entre sistema de mensajería y una base de datos:

  • Un sistema de mensajería gestiona mensajes
  • Un gestor de base de datos gestiona persistencia

Pasos para transmitir un mensaje

  1. Create: El emeisor crea un mensaje y guarda los datos
  2. Send: el emisor añade el mensaje al canal
  3. Deliver: El sistema de mensajería lo entrega al receptor
  4. Receive: El receptor lee el mensaje del canal
  5. Process: el receptor extrae los datos del mensaje

Conceptos importantes

  • Send and Forget: el emisor envía y olvida
  • Store and forward:
    • En el paso 2 el emisor envía y el sistema de mensajería guarda el mensaje en memoria o en disco
    • En el paso 3 el sistema de mensajería entrega el mensaje

Por que usar mensajería

  • Es más inmediato que la transferencia de ficheros
  • Mejor encapsulado que compartir una base de datos
  • Más seguro que la invocación remota de procedimientos (RPC)
  • Permite que dos aplicaciones se comuniquen y transfieran datos sin serializar objetos
  • Permite la comunicación entre aplicaciones con distinto lenguaje, tecnología y plataformas
  • Comunicaciones asíncronas → envío y me olvido

El problema de esto es que cambia el modelo de programación ya que estamos hablando de comunicaciones asíncronas. Para solucionar esto se mete un sistema de mensajería con una URL de retorno o leemos de otro sistema de mensajería para que nos confirme la recepción y procesamiento del mensaje. La URL invocaría un servicio para indicar que hemos terminado y continuar.

dad/patrones_de_integracion.1700735702.txt.gz · Última modificación: 2023/11/23 10:35 por thejuanvisu