Saltar a contenido

Capas y anillos: separar responsabilidades

Guía explicativa vigente de ASILO 0.1. Las denominaciones y números pertenecen al perfil que se declara.

Una capa agrupa responsabilidades y declara sus dependencias. En este modelo, cada anillo dibuja una capa; su número no concede confianza, privilegios ni aislamiento. Cuando aplica ASILO-R-002 —sistemas con más de un módulo o paquete que declaran aplicar ASILO— se declara el modelo elegido. Los sistemas de un único módulo registran esa condición. El requisito no exige una cantidad ni numeración universal.

Un modelo ilustrativo, sin numeración obligatoria

Parte Responsabilidad Analogía
Núcleo Tipos y reglas puras, sin acceso a red, archivos ni framework. Reglas del trabajo.
Contratos o puertos Describir cómo se solicita una interacción. Forma y medidas de una conexión.
Adaptadores Implementar interacciones concretas y traducir sus errores. Conector para una instalación concreta.
Aplicación o composición Elegir y conectar las piezas necesarias para un caso. Montaje de la instalación.

Un perfil puede separar además dominio y tipos, usar otras capas o nombres, y concretar las comprobaciones. El modelo ilustrativo no establece ni acepta un perfil técnico concreto.

flowchart TD
  accTitle: ASILO: responsabilidades y dependencias
  accDescr: La aplicación depende de los puertos, contratos de interacción; los adaptadores de base de datos, red o interfaz implementan esos puertos, y los puertos usan tipos del núcleo de reglas y tipos puros. Una flecha discontinua indica que la aplicación conecta los adaptadores durante la composición.
  A["Aplicación: compone el sistema"] -->|depende de| P["Puertos: contratos de interacción"]
  D["Adaptadores: base de datos, red o interfaz"] -->|implementan| P
  P -->|usan tipos de| N["Núcleo: reglas y tipos puros"]
  A -.->|conecta durante la composición| D

Diagrama SVG: ASILO: responsabilidades y dependencias · Fuente editable Mermaid.

Las flechas continuas indican dependencias o implementación de contratos. La flecha discontinua muestra que la aplicación conecta los adaptadores durante la composición. Los contratos usan tipos del núcleo; el núcleo no necesita conocer el adaptador concreto. No es un diagrama de permisos ni de aislamiento de procesos.

Lo que se comprueba por separado

  • Dependencias: una parte no importa una capa prohibida.
  • Contratos: se rechazan entradas mal formadas con un resultado definido.
  • Autorización: un permiso de lectura no permite escritura ni acceso a otro recurso.
  • Revocación: una autorización retirada deja de ser utilizable.
  • Efectos: un rechazo no produce la operación prohibida.

La herramienta, el entorno y la evidencia pertenecen al perfil y a la implementación evaluada. Evita presentar una comprobación de imports como prueba de todos los controles anteriores.

Volver a seguridad por capas · Glosario.

Vista de anillos: un recurso visual del perfil

Cuatro anillos ilustrativos: núcleo, contratos, adaptadores y composición. La posición indica organización de responsabilidades, no permisos ni confianza.

Abrir los anillos en SVG. Del centro hacia fuera se muestran reglas y tipos puros, contratos de interacción, mecanismos concretos y composición. El diagrama Mermaid de dependencias de esta página nombra esas capas Núcleo, Puertos, Adaptadores y Aplicación. Las circunferencias representan agrupación visual; no indican que una capa tenga permiso para actuar sobre otra. Las dependencias se leen en las flechas de Mermaid, no en la distancia al centro.

Relación con los requisitos aceptados

ASILO-R-002 pide declarar el modelo y la dirección de sus dependencias cuando el sistema tiene más de un módulo o paquete y declara ASILO. Los sistemas de un módulo registran esa condición. Los anillos son una ilustración posible dentro de esta guía; un perfil identifica el modelo elegido y sus comprobaciones. No se impone una cantidad de anillos ni se modifica ASILO 0.1.

Antecedentes y otras áreas

Consulta de dónde viene el modelo para distinguir anillos de protección, puertos y adaptadores, Onion y Clean Architecture. Las analogías entre disciplinas explican contención, regulación y evidencia. Las áreas y contextos son clasificaciones diferentes del número de capas.