Modernización de una plataforma de riego inteligente para grandes espacios
Una empresa especializada en sistemas de control de riego para parques, estadios, parques de diversiones y otros espacios de gran escala necesitaba evolucionar su solución principal desde aplicaciones de escritorio monolíticas y servicios heredados hacia una arquitectura moderna capaz de conectar experiencias web, servicios cloud y hardware instalado en cada sitio.
Uno de nuestros desarrolladores participó dentro del equipo del cliente como líder de diseño de solución y arquitecto de la plataforma principal. Su contribución abarcó arquitectura, modernización de software legado, desarrollo frontend y backend, migración de datos, integración con Azure e implementación de comunicaciones IoT en tiempo real.
El alcance implementado se concentraba en la administración de riego para paisajismo y grandes instalaciones. La plataforma conectaba a los operadores con controladores, dispositivos y servicios distribuidos en múltiples ubicaciones.
Resumen del caso
| Área | Descripción |
|---|---|
| Industria | Riego inteligente para parques, estadios, parques de diversiones y grandes áreas de paisajismo |
| Tipo de producto | Plataforma empresarial conectada con controladores y hardware de riego instalados en múltiples sitios |
| Participación | Liderazgo de diseño técnico, arquitectura de solución e implementación full stack, cloud e IoT |
| Modernización | Aplicaciones monolíticas y servicios heredados hacia aplicaciones orientadas a servicios para la nube |
| Datos | Migración de una base de datos ADS heredada a PostgreSQL |
| Comunicaciones | REST, gRPC con streaming y mensajería MQTT mediante HiveMQ |
| Edge e IoT | .NET 6 sobre computadoras de placa única, incluyendo Raspberry Pi, e integración con tecnologías IoT de Azure |
| Prioridades | Migración gradual, mantenibilidad, interoperabilidad, escalabilidad y comunicación en tiempo real |
El reto
La solución debía modernizarse sin tratar el frontend, los servicios, la base de datos, la nube y el hardware como iniciativas separadas. Cada capa dependía de las demás y coexistía con tecnología que ya soportaba operaciones de riego en espacios de gran extensión.
Los principales retos incluían:
- Transicionar de una tecnología heredada a un stack moderno aplicando buenas prácticas y patrones de diseño.
- Descomponer aplicaciones de escritorio monolíticas en aplicaciones orientadas a servicios preparadas para la nube.
- Adoptar tecnologías de Microsoft Azure para los servicios empresariales y los flujos IoT.
- Migrar información desde una base de datos ADS hacia PostgreSQL.
- Ejecutar componentes IoT con .NET 6 en computadoras de placa única, como Raspberry Pi.
- Validar interacciones con controladores y hardware aun cuando los dispositivos físicos no estuvieran disponibles en todos los entornos.
- Habilitar comunicación en tiempo real entre simuladores, servicios y clientes.
- Reemplazar integraciones estrechamente acopladas de varios servicios web por mensajería MQTT.
- Mantener una experiencia Angular clara y escalable para flujos especializados de administración de riego en múltiples sitios.
Nuestro enfoque
Liderazgo técnico y arquitectura objetivo
El trabajo comenzó con el análisis de dependencias, responsabilidades y puntos de integración de la solución principal. Uno de nuestros desarrolladores ayudó a definir la arquitectura objetivo, los límites entre servicios y los patrones necesarios para que la modernización pudiera realizarse de manera progresiva en lugar de depender de un reemplazo total de alto riesgo.
La arquitectura se orientó a separar responsabilidades, reducir acoplamiento y facilitar que las aplicaciones web, los servicios cloud y los dispositivos instalados en cada ubicación evolucionaran con mayor independencia.
De aplicaciones monolíticas a servicios para la nube
Varias aplicaciones de escritorio monolíticas fueron rediseñadas como aplicaciones orientadas a servicios. Esta transición permitió mover responsabilidades específicas a componentes independientes, establecer contratos más claros y preparar la plataforma para operar con tecnologías de Azure.
El objetivo no era únicamente cambiar de lenguaje o infraestructura, sino modificar la forma en que el sistema se organizaba, desplegaba y comunicaba.
Migración de ADS a PostgreSQL
La modernización de datos incluyó la transición desde una base de datos ADS heredada hacia PostgreSQL. El trabajo requirió considerar estructuras existentes, compatibilidad con los nuevos servicios y una estrategia que redujera el riesgo durante la evolución de la plataforma.
PostgreSQL proporcionó una base de datos moderna y ampliamente compatible para los servicios reestructurados y los futuros flujos cloud.
IoT y edge computing con .NET 6
Se desarrollaron componentes con .NET 6 para IoT ejecutados en computadoras de placa única, incluyendo Raspberry Pi. Estos componentes formaban parte del vínculo entre los controladores de riego instalados en sitio y los servicios de la plataforma.
La solución también avanzó hacia tecnologías IoT de Azure para conectar el procesamiento local con capacidades cloud, manteniendo responsabilidades claras entre edge, servicios y aplicaciones cliente.
Simulador de hardware con gRPC y streaming
Para facilitar el desarrollo y la validación sin depender permanentemente del hardware físico, se implementó en .NET un sistema servidor/cliente para simular dispositivos y controladores.
La comunicación se construyó con gRPC y mensajes por streaming, permitiendo intercambios continuos y de baja latencia para representar comportamientos de hardware en tiempo real. Este simulador permitió probar integraciones, estados y respuestas de la plataforma en entornos controlados.
Mensajería MQTT mediante HiveMQ
Varios servicios web fueron reestructurados para utilizar flujos de mensajería MQTT, con HiveMQ como broker. El cambio redujo dependencias directas entre productores y consumidores y permitió tratar los eventos de dispositivos y servicios de forma asíncrona.
Este modelo era más adecuado para una plataforma IoT distribuida, donde controladores, servicios y aplicaciones necesitan publicar y consumir información sin mantener una conexión rígida entre cada sistema.
Evolución de la experiencia Angular
La experiencia Angular, inicialmente orientada a movilidad, continuó evolucionando hasta convertirse en una interfaz empresarial de mayor alcance. Con Angular, TypeScript y SCSS se aplicaron componentes reutilizables, patrones consistentes, manejo claro de estados e integración con servicios REST para presentar información operativa de riego de manera utilizable.
La arquitectura frontend se alineó con la modernización del backend para evitar que la experiencia web se convirtiera en una nueva capa monolítica.
Qué se entregó
- Liderazgo de diseño técnico y arquitectura para la solución principal de riego inteligente.
- Definición de una arquitectura moderna basada en buenas prácticas y patrones de diseño.
- Transición gradual desde tecnología heredada hacia un stack más reciente.
- Rediseño de aplicaciones de escritorio monolíticas como aplicaciones orientadas a servicios para la nube.
- Adopción e integración de tecnologías de Microsoft Azure y Azure IoT.
- Migración de base de datos desde ADS hacia PostgreSQL.
- Desarrollo de componentes IoT con .NET 6 para computadoras de placa única, incluyendo Raspberry Pi.
- Implementación de un simulador de hardware servidor/cliente en .NET.
- Comunicación en tiempo real mediante gRPC y mensajes por streaming.
- Conversión de integraciones de varios servicios web a mensajería MQTT utilizando HiveMQ como broker.
- Arquitectura e implementación de una experiencia empresarial con Angular.
- Integración de frontend, servicios REST, componentes cloud y dispositivos instalados en múltiples ubicaciones.
- Participación en decisiones técnicas, revisiones de código y colaboración con equipos multidisciplinarios.
Stack tecnológico
| Área | Tecnologías y prácticas |
|---|---|
| Experiencia web | Angular, TypeScript, HTML5, SCSS y diseño responsivo |
| Servicios | .NET 6, REST APIs y aplicaciones orientadas a servicios |
| Cloud e IoT | Microsoft Azure, Azure IoT y edge computing |
| Hardware | Computadoras de placa única, Raspberry Pi y controladores instalados en sitio |
| Datos | PostgreSQL, base de datos ADS heredada y migración de datos |
| Comunicación en tiempo real | gRPC y mensajes por streaming |
| Mensajería | MQTT y HiveMQ Broker |
| Ingeniería | Patrones de diseño, separación de responsabilidades, Git, revisión de código y entrega iterativa |
Valor para el producto
La modernización estableció una base más flexible para que una solución de riego conectada a hardware pudiera seguir evolucionando sin depender de una sola aplicación monolítica.
- Arquitectura preparada para crecer: los servicios separados pueden evolucionar con menor acoplamiento.
- Integración cloud y edge: las responsabilidades pueden distribuirse entre Azure y los controladores instalados en cada sitio.
- Base de datos modernizada: PostgreSQL ofrece mayor compatibilidad con servicios y herramientas actuales.
- Validación sin dependencia total del hardware: el simulador con gRPC permite probar escenarios controlados.
- Comunicación IoT desacoplada: MQTT y HiveMQ distribuyen eventos entre múltiples productores y consumidores.
- Mayor mantenibilidad: los patrones de diseño y la separación de responsabilidades reducen la complejidad de cambios futuros.
- Experiencia empresarial consistente: Angular presenta flujos especializados para administrar sistemas de riego distribuidos en parques y grandes recintos.
No se publican porcentajes de mejora ni métricas de rendimiento porque no existen mediciones aprobadas para divulgación.
Por qué este caso es relevante
Modernizar una plataforma de riego conectada a hardware que opera en parques, estadios, parques de diversiones y otros espacios de gran escala es más complejo que migrar una interfaz o actualizar la versión de un framework. Requiere coordinar aplicaciones cliente, servicios, bases de datos, mensajería, infraestructura cloud, controladores y procesos de despliegue mientras continúan las operaciones existentes.
Este caso demuestra la capacidad de nuestro equipo para aportar liderazgo arquitectónico en múltiples capas: desde Angular y .NET hasta PostgreSQL, Azure IoT, Raspberry Pi, gRPC y MQTT.
Para proteger la confidencialidad, no se incluyen nombres de productos, diagramas internos, modelos de dispositivos ni detalles operativos del cliente.
¿Necesitas modernizar una plataforma de riego o software conectado con hardware?
Podemos ayudarte a definir una arquitectura de transición, separar aplicaciones monolíticas, migrar datos, conectar dispositivos IoT y construir servicios cloud sin exigir una reescritura completa desde el primer día.
