Arquitectura

Hexagonal

¿Qué es la arquitectura de software?

Es el diseño de más alto nivel compuesto por una serie de patrones que buscan satisfacer los requerimientos funcionales y no funcionales de un sistema.

La arquitectura debe definir la comunicación entre cada uno de sus componentes.

Existen una serie de patrones y estilos arquitectónicos que nos ayudan a dar solución a diferentes problemas.

Para satisfacer muchos de los requerimientos actuales debemos construir sistemas reactivos.

 

Patrones arquitectónicos

  • Data Transfer Object - DTO
  • Data Access Object - DAO
  • Arquitectura orientada a los servicios - SOA
  • Pooling
  • WebHook
  • Load Balance
  • Service Registry
  • Service Discovery
  • Api Gateway
  • Access Token
  • Single Sign On
  • Store and Forward
  • Circuit Breaker
  • Log Aggregation

Estilos arquitectónicos

  • Monolítica, Microlítica
  • Arquitectura de micro servicios
  • Arquitectura orientada a los servicios
  • Arquitectura en capas
  • Arquitectura dirigida por eventos
  • Cliente - Servidor
  • Clean Architecture
  • Arquitectura Hexagonal (Ports and Adapter)
  • Onion
  • etc

También pueden trabajar juntas

Arquitectura hexagonal

Alistair Cockburn en 2005

  • Busca solucionar los problemas de la arquitectura en capas.
  • Te dice como tratar las E/S
  • Se trata de componentes intercambiables.
  • Interfaces como puertos.
  • Inversión de dependencia.
  • etc.

Capas principales

Flujo de comunicación

Adaptadores

Adaptadores primarios y secundarios

Inversión de control

Arquitectura Hexagonal

By Oscar Luis Sánchez Jara

Arquitectura Hexagonal

  • 994