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.