En el contexto de la transformación digital de la manufactura, gestionar flujos de producción complejos, procesar grandes volúmenes de datos y coordinar entre departamentos presenta desafíos significativos. TMom, un sistema de ejecución de fabricación (MES) multiplanta y multiproyecto, aborda estos retos mediante una combinación tecnológica de Vue 3, TypeScript y Ant Design Vue en el frontend, ofreciendo una experiencia de usuario interactiva y una alta eficiencia de desarrollo.
Este artículo explora la filosofía de diseño, las implementaciones clave y las lecciones aprendidas de la arquitectura frontend de TMom, demostrando cómo se puede construir un sistema de fabricación robusto y escalable con tecnologías web modernas.
Desafíos Únicos del Frontend en Manufactura
Los sistemas frontend para la industria manufacturera enfrentan retos técnicos particulares:
- Densidad de Datos: Se requiere un manejo eficiente de información en tiempo real como órdenes de producción, estado de equipos y datos de calidad.
- Complejidad de Procesos: La lógica de negocios, como rutas de fabricación y flujo de operaciones, debe presentarse de forma clara.
- Adaptación Multidispositivo: Se necesita una experiencia de usuario consistente desde tablets en el taller hasta pantallas de dashboard en salas de control.
- Granularidad de Permisos: Se requiere un control multidimensional de permisos de funciones, datos y operaciones.
Filosofía de Diseño Arquitectónico: Desacoplameinto en Capas y Modularidad
El frontend de TMom adopta una arquitectura en capas que separa claramente la lógica de negocio de la implementación técnica:
Capa de Presentación → Capa de Aplicación → Capa de Núcleo → Capa de Infraestructura
Cada capa tiene responsabilidades definidas:
- Capa de Presentación: Enfocada en la interfaz de usuario y la interacción, incluyendo componentes de página, componentes de negocio y el sistema de layouts.
- Capa de Aplicación: Maneja el flujo de la lógica de negocio, abarcando la gestión de rutas, el control de estado y la verificación de permisos.
- Capa de Núcleo: Proporciona motores de capacidades comunes, como el motor de formularios, el motor de tablas y los modelos de negocio.
- Capa de Infraestructura: Ancapsula implementaciones técnicas de bajo nivel, incluyendo clientes HTTP, gestión de caché y funciones de utilidad.
Avances Técnicos Clave: Tres Motores que Impulsan el Negocio
1. Motor de Formularios Inteligente: Adaptación Dinámica a Escenarios Complejos
Para configuraciones como parámetros de procesos o estándares de inspección de calidad, TMom implementa un motor de formularios flexible basado en JSON Schema. Soporta renderizado condicional, validaciones cruzadas, componentes dinámicos y control de layout.
// Ejemplo de configuración de un formulario dinámico para inspección
const esquemaInspeccionCalidad = [
{
campo: 'tipoInspeccion',
componente: 'Select',
etiqueta: 'Tipo de Inspección',
obligatorio: true,
propsComponente: {
opciones: [
{ etiqueta: 'Primera Pieza', valor: 'primera' },
{ etiqueta: 'Durante Proceso', valor: 'proceso' },
{ etiqueta: 'Al Finalizar', valor: 'final' }
]
}
},
{
campo: 'estandarInspeccion',
componente: 'Input',
etiqueta: 'Estándar de Inspección',
obligatorio: true
},
{
campo: 'tolerancia',
componente: 'InputNumber',
etiqueta: 'Rango de Tolerancia',
mostrarSi: ({ valores }) =>
valores.tipoInspeccion === 'proceso' || valores.tipoInspeccion === 'final',
propsComponente: {
min: 0,
max: 100,
precision: 2
}
}
];
2. Motor de Tablas de Alto Rendimiento: Manejo de Grandes Volúmenes de Datos
El motor de tablas de TMom está optimizado para manejar decenas de miles de registros de datos de producción con interacciones complejas. Implementa estrategias como el desplazamiento virtual para reducir el uso de memoria, configuración dinámica de columnas, edición en línea y filtros de búsqueda integrados.
3. Sistema de Permisos Detallado: Implementación Integral del Modelo RBAC
TMom implementa un sistema completo de control de acceso basado en roles (RBAC), crucial para entornos de fabricación. Esto se logra mediante directivas de Vue que verifican los permisos del usuario y eliminan o deshabilitan elementos de la interfaz según corresponda.
// Ejemplo de directiva para permisos
export const configurarDirectivaPermiso = (app: App) => {
app.directive('permiso', {
montado(el: HTMLElement, binding: DirectiveBinding) {
const permiso = binding.value;
const storeUsuario = useStoreUsuario();
if (!storeUsuario.tienePermiso(permiso)) {
el.parentNode?.removeChild(el);
}
}
});
};
Prácticas de Ingeniería: Optimización del Flujo de Desarrollo
Estrategias de Optimización de la Construcción
El sistema de construcción basado en Vite está profundamente optimizado para aplicaciones de fabricación, incluyendo división inteligente de código, precarga de recursos y configuración multientorno. Las mejoras resultantes incluyen reducciones significativas en los tiempos de carga inicial, mayor velocidad de construcción y tamaños de paquete más pequeños en producción.
Garantía de Calidad del Código
Se establecen reglas estrictas con ESLint para asegurar la calidad y consistencia del código en el equipo, promoviendo prácticas como evitar el uso de any y mantener una estructura de componentes ordenada.
Optimización del Rendimiento en la Práctica
Las técnicas de optimización incluyen el uso de desplazamiento virtual para listas grandes, estrategias de caché para solicitudes de red, operaciones por lotes y carga diferida de componentes y rutas. La implementación del desplazamiento virtual puede verse en el siguiente ejemplo conceptual:
const { datosVirtuales, componentes } = useDesplazamientoVirtual({
datos: datosProduccion,
alturaItem: 54,
alturaContenedor: 600
});
Adaptación Multidispositivo: Cobertura para Todos los Escenarios
TMom proporciona una experiencia adaptada para diversos contextos: interfaces simplificadas para dispositivos móviles, optimización táctil para tablets en el taller y visualizaciones especializadas para pantallas de gran formato en centros de comando de producción.
Conclusiones sobre la Práctica Real
La implementación exitosa de la arquitectura frontend de TMom demuestra la capacidad de las tecnologías Vue 3, TypeScript y Ant Design Vue para sistemas industriales complejos. A través de un diseño arquitectónico sólido, motores especializados y optimizaciones integrales de rendimiento, se logra ofrecer una solución frontend estable, eficiente y usable para la industria manufacturera.
Las experiencias adquiridas, desde los principios de diseño de componentes hasta las listas de verificación de optimización de rendimiento, proporcionan una guía valiosa para otros proyectos de transformación digital en el sector.