Conectores en arquitectura: tipos y cuándo usarlos
Clase 26 de 43 • Curso Profesional de Arquitectura de Software
Contenido del curso
Atributos de calidad
- 2

Qué son los atributos de calidad en software
01:49 min - 3

Cómo medir idoneidad funcional en software
02:52 min - 4

Qué es eficiencia de ejecución en software
04:14 min - 5

Cómo medir interoperabilidad y coexistencia
03:49 min - 6

Qué es la usabilidad y sus 6 dimensiones
08:14 min - 7

Cómo medir confiabilidad en software
05:38 min - 8

Los 5 pilares de seguridad en software
04:01 min - 9

Cómo garantizar mantenibilidad con tests
06:27 min - 10

Adaptabilidad vs capacidad de instalación vs reemplazo
02:48 min - 11

Tensiones entre atributos de calidad de software
04:04 min - 12

Atributos de calidad según fase de empresa
07:00 min
Patrones de arquitectura
- 13

Qué es un patrón de arquitectura
02:50 min - 14

Modelo vista controlador: cómo separar responsabilidades
05:37 min - 15

Arquitectura en capas: controller, servicio y repositorio
03:14 min - 16

Event sourcing vs bases relacionales
06:17 min - 17

Qué es la arquitectura microkernel
01:52 min - 18

Arquitectura Comparte Nada con Map Reduce
02:29 min - 19

Patrón de microservicios: cuándo y cómo
03:57 min - 20

Qué es CQRS y cómo separa lectura de escritura
03:24 min - 21

Arquitectura hexagonal: puertos y adaptadores
04:10 min - 22

Qué son los contextos delimitados en DDD
05:34 min - 23

Cómo combinar patrones de arquitectura
09:22 min - 24

Evolución de patrones desde monolito a microservicios
07:58 min
Diseño de una arquitectura
- 25

Cómo traducir requerimientos en decisiones arquitectónicas
02:18 min - 26

Conectores en arquitectura: tipos y cuándo usarlos
Viendo ahora - 27

Llamadas asíncronas vs síncronas vs cliente-servidor
03:05 min - 28

Conector enrutador vs difusión: Twitter
01:55 min - 29

Conectores cola, repositorio y pub/sub
03:52 min - 30

Framework de diseño orientado a atributos
01:55 min - 31

Cómo detectar fallas y reparar sistemas
05:59 min - 32

Cómo recuperar y prevenir fallas en sistemas
04:09 min - 33

Tácticas para confinar modificaciones
06:15 min - 34

Cómo prevenir efectos dominó en software
12:17 min - 35

Tácticas para controlar eficiencia de ejecución
09:14 min - 36

Cómo detectar, resistir y recuperarse de ataques
09:02 min - 37

Cómo probar que el software funciona correctamente
05:14 min - 38

Cómo controlar la usabilidad con tácticas
08:20 min - 39

Cómo validar arquitectura con ATAM y métricas
06:34 min - 40

Evolución de arquitectura: startup a gran escala
10:30 min
Modelado y documentación de arquitectura
Diseñar con criterio exige unir piezas clave de arquitectura de software con foco en valor y calidad. Aquí se repasan, con claridad práctica, las herramientas para pasar de requerimientos y restricciones a estilos y patrones de arquitectura, identificando riesgos, y culminando en escenarios y tácticas que alinean el diseño con los atributos de calidad de la solución.
¿Cómo se integra la arquitectura de software con requerimientos y riesgos?
Partimos de entender qué afecta el diseño: requerimientos y restricciones guían decisiones de alto impacto. Desde allí, los estilos de arquitectura orientan el diseño a gran escala y revelan riesgos que ayudan a priorizar el trabajo de arquitectura. Luego, los atributos de calidad se conectan con requerimientos funcionales y no funcionales para aclarar qué resolver y dónde hay incertidumbre o complejidad. Los patrones de arquitectura bajan al detalle la solución de problemas concretos. Finalmente, escenarios y tácticas enlazan los atributos con opciones de implementación: se plantea un estímulo como una falla o un ataque, se analizan respuestas posibles y se elige el camino para llegar a buen puerto.
- Identificar restricciones y su impacto en el diseño.
- Elegir estilos de arquitectura y reconocer riesgos tempranos.
- Mapear atributos de calidad a requerimientos funcionales y no funcionales.
- Seleccionar patrones para problemas específicos.
- Formular escenarios con estímulo y evaluar tácticas de respuesta.
¿Qué son los componentes y cómo se organizan?
Los componentes son partes del sistema que cumplen una función específica. En una arquitectura distribuida, esas partes se separan y se comunican por protocolos de red u otros mecanismos. Cada parte es un componente y, si hacemos zoom, aparecen subcomponentes internos: pueden ser objetos o capas dentro de ese componente. Mientras los componentes implementan funcionalidades clave de negocio, su comunicación es igual de relevante para la calidad y el comportamiento global.
- Ver un sistema como conjunto de componentes con responsabilidades claras.
- Distinguir entre componentes distribuidos y los que conviven en un monolito.
- Analizar componentes internos: objetos o capas que colaboran.
- Definir el rol de cada parte y cómo se coordina con las demás.
¿Qué tipos de conectores existen y cuándo usarlos?
Los conectores tipifican la comunicación entre componentes y son independientes del dominio. Un e-commerce, una red social, un sistema bancario o una aplicación móvil pueden usar los mismos tipos. Elegir bien el conector es clave para cumplir los atributos de calidad y sostener la evolución del diseño.
- Llamado a procedimiento: invocar de un componente a otro y esperar respuesta.
- Enlace: vínculo fuerte entre componentes que incluso condiciona la compilación, típico en lenguajes compilados o en un mismo monolito.
- Evento: un componente notifica que algo sucedió y otros escuchan y reaccionan.
- Adaptador: compatibiliza la interfaz de un componente con la de otro para que colaboren aunque no hayan sido pensados juntos.
- Acceso a datos: facilita el uso de recursos compartidos como bases de datos, sistemas de archivos o una API, ajustando la interfaz de los datos a la que espera el sistema.
- Flujo o stream: la información circula de forma continua y otro componente consume parte o la totalidad de ese flujo.
- Arbitraje: coordina quién accede a un recurso o quién realiza una tarea, y permite distribuir comportamientos, por ejemplo en un A/B test.
- Distribuidor: desde un componente se envía un mensaje a muchos otros, o se conectan muchos con muchos según la necesidad.
Cada elección de conector influye en el comportamiento del sistema y se combina con componentes, patrones, escenarios y tácticas para alcanzar un diseño específico y coherente con los atributos de calidad buscados.
¿Te gustaría comentar un escenario real en el que estés evaluando conectores o tácticas?