Pintura al óleo en azul: dos ingenieros de software programan en pareja frente a dos monitores, con una pizarra de diagramas al fondo
  1. Inicio
  2. NexLog OS
  3. Academy
  4. Arquitectura

Un stack multi-tenant y orientado a eventos.

Fastify, MongoDB y Angular sobre un núcleo event-driven: businessEvents con correlationId y causationId, event ledger, MDM unificado, ABAC y Zero Trust.

Cuatro capas sobre el mismo modelo canónico

Las interfaces headless consumen la misma API; cada solicitud pasa por ABAC, se convierte en evento en el ledger y se persiste en MongoDB, aislada por tenant.

InterfacesHeadless por diseño, todas sobre la misma API.
Planning ConsoleAngular
App NexLog DriverPOD · tracking
Kiosk Portariacheck-in
Portal B2B/B2Cautoservicio
APIFastify con validación tipada, rate limiting y observabilidad integrados.
REST versionado/api/v1/
ValidaciónJSON Schema
AutorizaciónABAC
Observabilidadlogs · métricas · trazas
Núcleo event-drivenToda operación se convierte en un evento canónico, con la cadena causal preservada.
Eventos de negociobusinessEvents
Cadena causalcorrelationId · causationId
Ledger centraleventLedger
Datos maestrosMDM
PersistenciaMongoDB con colecciones en camelCase y aislamiento por tenant.
ColeccionescamelCase, plural
Multi-tenanttenantId
RetenciónTTL
Replicaciónreplica set multirregión

WMS, TMS, OMS, YMS, Customs, Control Tower, ESG y Finanzas publican y consumen eventos del mismo ledger.

Visión general

NexLog OS funciona sobre Fastify (API), MongoDB (persistencia canónica) y Angular (panel operativo). Es multi-tenant, con tenants y roles granulares, y event-driven: cada operación genera businessEvents con correlationId y causationId, registrados en el eventLedger.

Sobre ese núcleo están el MDM unificado, la autorización por atributo (ABAC), la arquitectura Zero Trust, la observabilidad y las interfaces especializadas, todas headless sobre la misma API.

Stack técnico

ComponenteFunciónDescripción
FastifyAPIFramework Node.js de alto rendimiento: bajo overhead por solicitud, plugins tipados y hooks robustos.
MongoDBPersistencia canónicaColecciones en camelCase, índices por tenant y agregaciones tipadas; TTL para businessEvents y replica set multirregión.
AngularPanel operativoPlanning Console unificado, con módulos para WMS, TMS, OMS, YMS y Control Tower.
Event-drivenNúcleobusinessEvents con correlationId y causationId; eventLedger central, replay, auditoría e integración asíncrona.
MDM unificadoDatos maestrosProduct, Party, Asset, Location y Document Master compartidos, sin duplicación entre módulos.
ABAC y Zero TrustSeguridadAutorización por atributo, identidad federada y ningún perímetro de confianza: cada solicitud se valida de forma independiente.

Multi-tenant y roles

Cada cliente es un tenant (tenants) aislado en la plataforma. Los roles son valores del enum de roles, en UPPER_SNAKE_CASE.

RolAlcanceUso típico
SUPER_ADMINPlataformaIngeniería de CCX, no visible para el cliente.
TENANT_OWNERTenantEjecutivo dueño de la cuenta; control total sobre el tenant.
TENANT_ADMINTenantAdministración de usuarios, planes e integraciones.
MANAGERMóduloGestor operativo: aprobación de excepciones y playbooks.
OPERATORMóduloOperador de WMS, TMS o YMS: ejecución de tareas.
VIEWERLecturaSolo lectura: analistas y auditores.

Planes

Del FREE al ENTERPRISE, los planes definen cuántos almacenes y qué módulos usa el tenant.

PlanPúblicoLímites
FREEPrueba y sandbox1 tenant, 1 almacén, volumen bajo.
STARTERPymes de e-commerce1 almacén, módulos esenciales (WMS y OMS).
PROMid-marketVarios almacenes; WMS, TMS, OMS y YMS.
ENTERPRISEGrandes operacionesMulti-tenant interno y todos los módulos.

Núcleo event-driven

businessEvents

Cada transición de estado y cada operación relevante es un evento canónico tipado. Los nombres siguen el patrón dot.namespace, por ejemplo orders.transition.approved.

correlationId y causationId

Rastrean la cadena causal completa entre eventos: pedido, oleada, movimiento, expedición y factura.

eventLedger

Ledger central inmutable; base para auditoría, replay, analítica y entrenamiento de IA.

MDM unificado

Product Master, Party Master, Asset Master, Location Master y Document Master, compartidos por todos los módulos.

Seguridad y continuidad

ABAC

Autorización por atributo: tenant, rol, recurso y contexto, con granularidad suficiente para evaluar cada solicitud.

Zero Trust

Sin perímetro de confianza: cada llamada se autentica, se autoriza y se registra.

Señales de fraude (fraud signals)

Señales de fraude integradas en orders, claims y facturación, puntuadas en tiempo real.

Disaster recovery

Objetivos medibles de RPO y RTO, replicación multirregión y backup continuo.

Observabilidad

Logs estructurados, métricas, tracing distribuido y dashboards por tenant.

Interfaces especializadas

Headless por diseño: todas las interfaces consumen la misma API.

InterfazDescripción
App NexLog DriverApp móvil para conductores: POD digital, tracking, geolocalización y OCR.
Kiosk PortariaAutoservicio para el check-in, con biometría opcional y aviso de privacidad LGPD integrado.
Planning ConsoleApp Angular unificada para WMS, TMS, OMS, YMS y Control Tower.
Portal B2B/B2CPortales dedicados a los clientes: tracking, autoservicio y documentos.

Convenciones de API

Convenciones contractuales válidas para todos los módulos.

ArtefactoConvenciónEjemplo
Endpoints RESTkebab-case/api/v1/trade-declarations
VersionadoEn el path/api/v1/
Colecciones MongoDBcamelCase, pluraltradeDeclarations, carbonEntries
Clases e interfaces TSPascalCase, singularTradeDeclaration, CarbonEntry
EnumsUPPER_SNAKE_CASEINBOUND, DRY, SUPER_ADMIN
Eventosdot.namespaceorders.transition.approved

Por qué Fastify, MongoDB y Angular

Fastify para una API de alto rendimiento

Las operaciones de la cadena de suministro generan un gran volumen de solicitudes: eventos de picking, movements, checkpoints de tracking y telemetría. Fastify ofrece bajo overhead, validación tipada vía JSON Schema y hooks robustos para la observabilidad.

CCX tiene trayectoria con Node.js en producción, y Fastify permite que NexLog OS escale horizontalmente sin reescribir capas.

MongoDB como núcleo canónico

La cadena de suministro es un dominio con esquemas que evolucionan rápido: nuevos campos en el SKU, nuevos atributos de ruta, nuevos metadatos en el envío. Con colecciones en camelCase, MongoDB permite evolucionar esquemas sin downtime, ejecutar agregaciones complejas para el Control Tower sin un DW separado y escalar horizontalmente por tenant.

Los índices compuestos por tenantId y claves de negocio sostienen el multi-tenancy, y el TTL automático se encarga de la retención del historial de eventos.

Angular para el panel operativo

El Planning Console es una app Angular, elegida por su tipado fuerte, su arquitectura modular, sus herramientas maduras para formularios complejos (WMS, TMS, configuración de playbooks) y sus componentes reutilizables entre módulos.

Las interfaces especializadas (App NexLog Driver, Kiosk Portaria, Portal B2B/B2C) son headless sobre la misma API, según los principios MACH.

Preguntas frecuentes

¿Por qué MongoDB y no Postgres?

El esquema flexible acelera la evolución en dominios dinámicos. Donde la consistencia transaccional es crítica (settlement), usamos patrones de compensación y write concerns específicos.

¿Fastify soporta un alto throughput?

Sí. Fastify tiene bajo overhead por solicitud, y NexLog OS funciona con plugins de validación, rate limiting y observabilidad integrados.

¿Angular todavía tiene sentido?

Para paneles operativos complejos, sí. El tipado fuerte, la arquitectura modular y un ecosistema maduro justifican la elección.

¿Multi-tenant significa aislamiento físico?

El aislamiento es lógico por defecto; en enterprise, el tenant puede funcionar en una base de datos dedicada.

¿ABAC o RBAC?

ABAC es más expresivo: permite reglas como “MANAGER puede aprobar una excepción en su propio CD, siempre que el valor quede por debajo de X”.

¿El event ledger sustituye al data warehouse?

Para la mayor parte de las preguntas operativas, sí. Para analítica de largo plazo, la integración con el DW se hace vía CDC.

¿Cómo funciona el disaster recovery?

Con replicación multirregión, backups continuos y objetivos medibles de RPO y RTO.

¿Quieres discutir la arquitectura con el equipo de NexLog OS?

Treinta minutos con un ingeniero de CCX, sin costo, para una conversación técnica sobre multi-tenancy, eventos, ABAC e integración con tu ERP.