ums

Bounded Context Map

Tipo: DDD — Mapa de Contextos
Version: 2.0 | Fecha: 2026-05-15 | Estado: Propuesto
Alcance: Producto completo — FS-01 a FS-16

Visualizacion interactiva: interactive-ddd-viewer.html — seccion “Bounded Context Map”


Diagrama de Contextos

Ver codigo Mermaid (referencia) ```mermaid graph TD subgraph Core["Nucleo del Producto"] A["BC-A: Identity\nums_identity\n.NET 10"] B["BC-B: Authorization\nums_authorization\n.NET 10"] end subgraph Supporting["Soporte Operacional"] C["BC-C: Configuration\nums_configuration\n.NET 10"] F["BC-F: Approvals\napprovals\n.NET 10"] H["BC-H: IGA\niga\n.NET 10"] end subgraph Generic["Genericos"] D["BC-D: Audit\naudit\n.NET 10"] G["BC-G: Cache\nRedis\nInfrastructura"] E["BC-E: Console PAP\nReact SPA\nSin entidades propias"] end A -->|"Customer-Supplier\nUser + Org + Branch claims"| B B -->|"Customer-Supplier\nSystemSuiteId ref para FeatureFlag scope"| C A -->|"Customer-Supplier\nTenant scope keys"| C A -->|"Customer-Supplier\nUserRegisteredEvent"| F A -->|"Customer-Supplier\nUserRegisteredEvent"| H A -->|"Conformist\nevents"| D C -->|"Customer-Supplier\nIdP config al gateway"| A B -->|"Read-Aside\nauth_graph cache"| G C -->|"Read-Aside\ncfg + flags cache"| G B -->|"Conformist\nevents"| D C -->|"Conformist\nevents"| D H -->|"Customer-Supplier\nPromotionApprovedEvent"| B H -->|"Customer-Supplier\npromocion requiere workflow"| F H -->|"Conformist\nevents"| D F -->|"Customer-Supplier\nprovisioning B2B"| A F -->|"Customer-Supplier\nasignacion Profile post-aprobacion"| B F -->|"Conformist\nevents"| D E -->|"Customer-Supplier\nREST APIs"| A E -->|"Customer-Supplier\nREST APIs"| B E -->|"Customer-Supplier\nREST APIs"| C E -->|"Customer-Supplier\nREST APIs"| F ```

Catalogo de Contextos

Codigo Nombre Schema SQL Clasificacion FS
BC-A Identity ums_identity Core FS-01, FS-03, FS-08, FS-09
BC-B Authorization ums_authorization Core FS-02, FS-04, FS-05, FS-06, FS-07
BC-C Configuration ums_configuration Supporting FS-08, FS-09, FS-13
BC-D Audit audit Generic Todos
BC-E Console PAP React SPA Generic Todos (UI)
BC-F Approvals approvals Supporting FS-10, FS-11, FS-12
BC-G Cache Redis Generic BC-B, BC-C
BC-H IGA iga Supporting FS-12, FS-14

Tabla de Relaciones

Upstream Downstream Patron Contrato
Identity Authorization Customer-Supplier User/Org/Branch claims via eventos o API
Authorization Configuration Customer-Supplier SystemSuite.Id como scope FK de FeatureFlag
Identity Configuration Customer-Supplier Tenant scope keys para aislamiento de config
Identity Approvals Customer-Supplier Registro de usuario externo desencadena workflow
Identity IGA Customer-Supplier UserRegisteredEvent para inicializar tracking
Identity Audit Conformist Eventos inmutables appendeados al ledger
Configuration Identity Customer-Supplier IdP config provista al Auth Gateway para routing
Authorization Cache Shared Kernel ICachePort Read-aside; invalidacion en mutaciones
Configuration Cache Shared Kernel IConfigCachePort Read-aside cfg + flags; TTL 60-900s
Authorization Audit Conformist Eventos inmutables appendeados al ledger
Configuration Audit Conformist Eventos inmutables appendeados al ledger
IGA Authorization Customer-Supplier PromotionApprovedEvent actualiza Profile
IGA Approvals Customer-Supplier Promocion requiere ApprovalRequest
IGA Audit Conformist Eventos inmutables appendeados al ledger
Approvals Identity Customer-Supplier ApprovalResolvedEvent activa UserAccount (ONBOARDING)
Approvals Authorization Customer-Supplier ApprovalResolvedEvent asigna Profile (PROFILE_ASSIGNMENT)
Approvals Audit Conformist Eventos inmutables appendeados al ledger
Console Todos Customer-Supplier REST versionado; tratado como consumidor externo

Anti-Corruption Layers

Frontera Mecanismo Motivo
Authorization — IdP externo IAuthenticationPort Strategy Pattern Evita acoplamiento con SDK de Zitadel/Okta
Configuration — Feature Flag Providers IFeatureFlagPort Strategy Pattern Evita LaunchDarkly/Unleash en dominio
Configuration — Secret Vault ISecretStorePort Strategy Pattern Evita AWS Secrets Manager / HashiCorp en dominio
Authorization — Redis ICachePort Evita cliente Redis en capa de dominio
Configuration — Redis IConfigCachePort Namespace separado de auth_graph
Authorization — Event Bus IEventBusPort Evita Kafka/RabbitMQ en use cases

Indice DDD Siguiente: Lenguaje Ubicuo