Arquitecturas de comunicación distribuida: Cliente/Servidor, MOM y comunicación entre entidades SD

Clasificado en Informática

Escrito el en español con un tamaño de 3,21 KB

Arquitecturas de Comunicación Distribuida

Cliente/Servidor

Se establece sobre el paradigma de paso de mensajes.

Roles: Servidor y Cliente

Requisitos:

  • Mecanismos de concurrencia.
  • Mantenimiento de la sesión.
  • Mecanismos de escalabilidad.

Utilizado por la mayoría de protocolos de Internet (HTTP, DNS, FTP, SMTP, etc.).

Presenta un esfuerzo elevado de implementación.

MOM (Message-Oriented Middleware)

Se basa en la elaboración de un sistema de paso de mensajes.

Comunicación emisor-receptor de forma desacoplada.

Proceso asíncrono (el emisor no necesita respuesta para continuar su procesamiento).

Elementos:

  • Emisor: Emite un mensaje.
  • Intermediario: Almacena los mensajes del emisor, generalmente es un middleware. (Puede poseer: gestión de prioridades de mensajes, temporizadores para la gestión de mensajes, gestión de formatos de mensajes, gestión de seguridad, gestión de la persistencia de los mensajes.)
  • Consumidor: Se conecta al proceso intermediario para obtener los mensajes y procesarlos.

Tipos:

  • Punto a punto: Cada mensaje enviado por el emisor únicamente será procesado por un proceso consumidor. El mensaje es borrado del agente intermediario.
  • Publicación/suscripción: El mensaje publicado por el emisor (enviado al agente intermediario) será procesado por todos los agentes consumidores que se hayan suscrito al proceso intermediario.

Modelo adecuado cuando se quiere establecer un único punto de entrada a aplicaciones y sistemas donde se establece una comunicación asíncrona entre las partes (por ejemplo, solicitudes de reservas o de ofertas, etc.).

Comunicación entre Entidades de Software Distribuido

Existen diferentes enfoques para la comunicación entre entidades de software distribuido:

  • Adaptación por el emisor: El proceso emisor (P1) adapta el formato antes de enviar los datos al sistema del proceso receptor (P2). No es flexible, ya que se debería conocer el formato de representación del proceso receptor.
  • Adaptación por el receptor: El proceso receptor (P2) adapta el formato del proceso emisor (P1) a su representación interna. Junto con la información enviada se debería incluir información del formato de representación del proceso emisor.
  • Representación externa negociada: Uso de una representación externa que negocien los procesos emisor y receptor. La mayoría de plataformas middleware de comunicación entre procesos utilizan hoy en día esta solución.

Son necesarios mecanismos que permitan organizar los datos para poder ser transmitidos: Marshalling. Primero serialización y luego codificación.

Se suelen utilizar lenguajes de representación externa que se han convertido en estándares (XDR, ASN.1, XML).

Entradas relacionadas: