Administración de agua

Modernización de una plataforma de riego inteligente para grandes espacios

Proveedor empresarial de tecnología para riego inteligente Uno de nuestros desarrolladores se desempeñó como líder de diseño de solución y arquitecto de la plataforma principal dentro de un equipo multidisciplinario Completado
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.

Habla con VesperaMX →