Arquitectura

Un stack legible, un despliegue controlable.

Tres clientes — web, móvil y escritorio — sobre un solo dominio, una sola base de datos y un solo conjunto de reglas. Cada capa es aislable, testeable y sustituible: sin monolito y sin dependencias implícitas de una nube propietaria.

Arquitectura lógica

  • COREDominio en C# / .NET — Los servicios de dominio — maestros, recepción, ubicación, preparación, inventario, control de calidad, KPI — viven en un solo sitio y no saben desde qué cliente llega la petición. Por eso web, móvil y escritorio muestran siempre las mismas cifras: no tienen tres lógicas distintas, comparten una.
  • WEBKazam Web — Blazor Server sobre .NET 10 — El cliente principal: 86 páginas en 27 áreas, 31 de ellas solo de configuración. Se ejecuta en el servidor y envía al navegador únicamente las diferencias de interfaz, así que en el puesto no hay nada que instalar y una actualización es inmediata para todos. Componentes Syncfusion para tablas, gráficos y plano del almacén; autenticación por cookie.
  • BFFUna capa para la web, no una API genérica — Entre la aplicación web y el dominio hay un backend for frontend: expone exactamente lo que necesitan las páginas, agregado como lo necesitan, y la aplicación lo consume con clientes tipados autenticados por clave. La aplicación web nunca abre una conexión a la base de datos.
  • MÓVILKazam Mobile — .NET MAUI — Android en terminales industriales y WinUI en tabletas Windows, para quien trabaja entre las estanterías. Lectura por escáner hardware, funcionamiento sin conexión y sincronización diferencial: el almacén sigue incluso donde el Wi-Fi no llega al fondo del pasillo.
  • ESCRITORIOKazam Desktop — cliente Windows — El cliente WinForms de siempre, completo y con soporte, para quien prefiere una aplicación instalada en el puesto. Trabaja sobre el mismo dominio y los mismos datos que los otros dos.
  • WCSSun Tech WCS — la capa que habla con las máquinas — Control de la instalación para PLC, shuttles, sorters y AGV: modelo de la instalación, misiones, rutas y recuperación cuando una máquina se detiene. Open source, con licencia Apache 2.0. Es la capa que un ERP no tiene y la que separa un almacén automatizado de uno solo informatizado.
  • INTERCAMBIOIntegración con el ERP — API REST/JSON indexadas por clave del ERP, más un área de intercambio en base de datos con estado por registro. Dos caminos para lo mismo: el síncrono cuando hace falta una respuesta ahora, el asíncrono cuando los dos sistemas no deben esperarse.
  • DATOSSQL Server, on-premise o en la nube — Lo transaccional está en SQL Server, donde usted decida. Sin dependencias implícitas de un servicio propietario: la base de datos es suya y se consulta con las herramientas que ya usa.
Integración ERP

Un contrato de intercambio, no un conector por proveedor

Kazam no incorpora conectores ligados a un único ERP: expone un contrato de intercambio de datos que cualquier ERP puede alimentar y consumir. La integración se construye sobre los formatos del cliente en la fase de análisis y sigue siendo válida aunque mañana cambie el ERP — el almacén no se detiene.

Clave de correlación

Cada documento de almacén lleva la referencia al documento ERP de origen (HOOK_TESTATA_ERP en cabeceras y líneas): el vínculo entre ambos mundos es explícito, consultable y verificable en todo momento.

Área de intercambio

Tablas de staging en SQL Server con estado por registro: el ERP escribe, Kazam lee, y cada fila sabe si se ha importado, está pendiente o ha fallado.

Servicio de importación

Un servicio de Windows recoge a intervalos configurables lo que está en cola y lo vuelca en el WMS — clientes, direcciones, referencias, unidades de carga, pedidos — de forma idempotente y repetible.

API REST

Endpoints indexados por clave ERP, con autenticación JWT, para leer y escribir en tiempo real cuando el polling no basta. Además de hooks SQL opcionales para personalizaciones de proyecto.

Cómo se aplica a los ERP más habituales: SAP · TeamSystem · Zucchetti · Microsoft Dynamics · Kazam vs Odoo (páginas en italiano)

Patrones arquitectónicos

Stack limpio, contratos claros, evolución sostenible

Clean Architecture + DI

Separación neta entre dominio, aplicación e infraestructura. Inyección de dependencias para testabilidad.

Bounded Contexts (DDD-light)

WMS, WCS y Mobile operan en contextos separados con contratos claros y versionados.

CQRS pragmático

Comandos y queries diferenciados donde hacen falta throughput y simplicidad para escalar.

Event-driven

Domain events internos; integraciones reactivas vía MQTT / webhooks hacia sistemas externos.

Tecnologías y protocolos

Stack moderno, adaptadores industriales

RUNTIME

.NET 9/10-ready

  • C# moderno, async-first
  • WinForms + .NET MAUI
  • DevExpress / Syncfusion
  • ADO.NET optimizado
FIELD / AUTOMATION

Protocolos industriales

  • MQTT para IoT / dispositivos
  • OPC-UA para automatización
  • Modbus, OMRON FINS
  • VDA 5050 para AGV / AMR
CLOUD / DEPLOY

On-premise o Azure

  • SQL Server / Express
  • Azure App Service opcional
  • Contenedores Docker
  • Queue + storage configurables
Seguridad y compliance

Auditorías posibles, trazabilidad nativa

Autenticación

JWT / OAuth2. RBAC (roles/perfiles) a nivel de módulo y acción.

Multi-tenant

Opcional: separación lógica por cliente/sitio con scopes de BD dedicados o schema-per-tenant.

Cifrado

TLS en tránsito; cifrado selectivo at-rest (campo/tabla); secret management externo.

Audit & tracing

Log append-only, audit trail sobre registros sensibles, distributed tracing correlado.

Profundice

Whitepaper arquitectónico bajo demanda

Un documento técnico dedicado a IT managers, integradores y desarrolladores con detalles sobre conectores, módulos, FINS/OPC-UA, KPI/BI.

Acceso de prueba

¿Listo para probarlo?

Reciba un acceso a la aplicación web: se abre desde el navegador, sin instalar nada en los puestos. Le responde un ingeniero en un día laborable.

Las tres novedades más recientes: la aplicación web — qué cambia y qué se queda —, el asistente que configura el almacén entrevistándole y Sun Tech WCS, el Warehouse Control System publicado como open source.