Patrones de Diseño y Arquitectura en Sistemas Distribuidos

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 2,87 KB

A continuación, se describen diversos patrones de diseño y arquitectónicos fundamentales para la construcción de sistemas robustos y eficientes, especialmente en entornos distribuidos y de comunicación cliente-servidor.

Patrones de Transferencia de Datos y Lógica

  • DTO (Data Transfer Object): Su propósito es facilitar el intercambio de información entre el servidor y el cliente.
  • Assembler: Se encarga de traducir un objeto a otro formato, devolviendo un objeto DTO.

Patrones de Comunicación y Acceso

  • Gateway: Establece la conexión y el enrutamiento entre servidores, evitando exponer servicios directamente a terceros.
  • Remote Facade: Gestiona las invocaciones provenientes del cliente. Los métodos se centralizan en una fachada en lugar de interactuar directamente con las clases, previniendo que el usuario acceda o interactúe de forma inapropiada con las clases internas.
  • DAO (Data Access Object): Facilita la interacción con el repositorio de información, como bases de datos.
  • Factory: Implementa instancias concretas de acciones, minimizando la comunicación y las dependencias entre sistemas.
  • AppService: Implementa las funcionalidades del servidor y proporciona respuestas a los mensajes recibidos de otros servidores.
  • Singleton: Asegura que solo exista una instancia por clase.
  • Controller: Envía los métodos solicitados desde la interfaz gráfica de usuario (GUI).
  • Service Locator: Reduce la complejidad para el cliente y lleva a cabo la conexión inicial con el servidor.

Patrones de Comportamiento y Flexibilidad

  • Strategy: Se utiliza cuando un servicio o función puede realizarse de múltiples maneras, permitiendo que la implementación varíe.
  • Visitor: Permite separar el algoritmo del objeto con el que opera.
  • Observer: Implementa una relación de uno a varios, facilitando la notificación y el registro de eventos.

Patrones de Persistencia y Conexión Remota

  • Enhancer (JDO): Se utiliza para aplicar enriquecimiento en clases JDO, permitiendo agregar información a las clases para su uso con persistencia.
  • Naming.rebind(): Registra en el RMIRegistry la referencia a la interfaz RMI del servidor.
  • Naming.lookup(): Busca y recupera desde el RMIRegistry la referencia a la interfaz RMI del servidor.

Entradas relacionadas: