Está en la página 1de 7

Diseño y

Arquitectura de
Software
Patrones Arquitectónicos más
comunes
Broker Pattern Solution

Concepto Detalle

Descripción Este patrón define un componente en tiempo de ejecución, llamado bróker, que media la
comunicación entre un número de clientes y servidores.
Elementos Cliente, solicita servicios.
Servidor, proveedor de servicios.
Broker, intermediario que localiza un servidor apropiado que cubra los servicios solicitados,
acompaña la solicitud al servidor, y retorna los resultados al cliente.
Proxy del lado del Cliente.
Proxy del lado del Servidor.
Relaciones La relación asocia clientes y servidores con brokers.

Restricciones El cliente, sólo puede anexarse al bróker (potencialmente vía el proxy del lado del cliente).
El servidor, sólo puede anexarse al bróker (potencialmente vía el proxy del lado del servidor).
Debilidades Los brokers añaden una capa de indirección, y por lo tanto latencia, entre clientes y
servidores, además esta capa puede significar un cuello de botella.
El bróker puede ser un solo punto de falla.
El bróker añade complejidad hacia el frontend.
El bróker puede ser objetivo de ataques de seguridad.
Un bróker puede ser difícil de probar.
Model-View-Controller Pattern Solution
Concepto Detalle

Descripción Este patrón, funciona en tres componentes: modelo, vista, y un controlador que media entre
el modelo y la vista.
Elementos El modelo, es una representación de la data o el estado de la aplicación, y contiene (o provee
una interface a) la lógica de la aplicación.
La vista, como componente que produce una representación del modelo para el usuario o
permite de alguna forma ingreso de datos del usuario.
El controlador, gestiona la interacción entre el modelo y la vista, traduciendo las acciones del
usuario en cambios al modelo o cambios a la vista.
Relaciones Las relaciones se marcan como conexiones de instancias de modelo. Vista y controlador.

Restricciones Debe existir al menos una instancia de cada uno, modelo, vista y controlador.
El componente del modelo no debería interactuar directamente con el controlador.
Debilidades Esta complejidad puede no ser necesaria para interacciones de usuario simples.
La abstracción del modelo, vista y controlador, pueden no ser muy útiles para algunas
interfaces de usuario.
Client-Server Pattern Solution
Concepto Detalle

Descripción Los clientes inician la interacción con los servidores, invocan servicios que requieren de los
servidores y esperan por la respuesta a las peticiones.
Elementos El cliente, como componente que invoca los servicios de un servidor. Presentan puertos que
describen los servicios que requieren.
El servidor, como componente que provee los servicios a clientes. Presentan puertos que
describen los servicios que proveen.
Conector petición/respuesta, es un conector de datos que emplea un protocolo de
petición/respuesta, utilizado por un cliente para invocar servicios en un servidor.
Relaciones Relación de adhesión entre clientes y servidores.

Restricciones Los clientes están conectados a los servidores a través de conectores de petición/respuesta.
Los servidores pueden ser clientes de otros servidores.
Las especializaciones pueden imponer restricciones:
• Número de anexos a un puerto.
• Relaciones permitidas entre servidores.
Los componentes pueden ser agrupados en capas, las cuales son agrupaciones lógicas.
Debilidades Los servidores pueden convertirse en cuellos de botella.
Los servidores que fallan puede que no sean reemplazados.
Las decisiones complejas radican en dónde se va a ubicar la funcionalidad (en el cliente o
servidor).
Service-Oriented Architecture Pattern
Solution
Concepto Detalle

Descripción Se contempla un conjunto de componentes que proveen y/o consumen servicios sobre la red.

Elementos Componentes:
• Proveedores de servicios. Los cuales proveen uno o más servicios a través de interfaces
publicadas.
• Consumidores de servicios. Invoca servicios directamente o a través de un intermediario.
• Proveedores de servicios. Que pueden ser consumidores de servicios.
• ESB, el cual es un intermediario que puede enrutar y transformar mensajes entre proveedores
de servicios y consumidores.
• Registro de servicios, que pueden ser utilizados por proveedores para registrar sus servicios y
por los consumidores para descubrir servicios en tiempo de ejecución.
• Servicio de Orquestación. El cual coordina la interacción entre los consumidores de servicios y
los proveedores, las que se basan en lenguajes de proceso de negocios y workflow.
Conectores:
• SOAP. Comunicación síncrona sobre HTTP.
• REST. Recae sobre operaciones de petición/respuesta.
• Mensajes Asíncronos.
Relaciones Anexa los diferentes tipos de componentes disponibles para la conexión respectiva.

Restricciones Consumidores están conectados a los proveedores, pero pueden utilizarse componentes
intermediarios.
Debilidades Componentes SOA son típicamente complejos.
No se controla la evolución de los servicios.
Shared-Data Pattern Solution
Concepto Detalle

Descripción Comunicación entre accesores a datos es mediada por un almacén de datos compartidos. El
control puede ser iniciado por los accesores o los almacenes de datos.
Elementos Almacén de datos compartidos. Incluye, tipos de datos almacenados, propiedades de datos
orientados al rendimiento, distribución de datos y número de accesores permitidos.
Componente accesor de datos.
Conector de lectura y escritura de datos.Una importante elección aquí es ya sea un conector
transaccional o no, así como el lenguaje de lectura/escritura, protocolos y semántica.
Relaciones Se determina qué accesor se encuentra conectado y a qué almacén de datos.

Restricciones Los accesores interactúan con los almacenes de datos.

Debilidades El almacén de datos compartidos puede significar un cuello de botella.


Los productores y consumidores de datos pueden estar estrechamente acoplados.

También podría gustarte