Plugin SDK
AggreGate tiene una arquitectura modular basada en Plugins. De hecho, el núcleo del sistema es extremadamente liviano e incluso los módulos de servidor estándar se implementan como Plugins opcionales.
El desarrollo programático de Plugins es una forma de ampliar las capacidades de comunicación, almacenamiento, análisis y visualización del sistema. Los Plugins personalizados solo son necesarios cuando las herramientas de desarrollo visual no funcionan, siendo una situación bastante y poco comun.
Hay muchos tipos de Plugins compatibles:
- Controladores de dispositivo
- Plugins de almacenamiento de datos
- Módulos de procesamiento y análisis de datos
- Componentes visuales de la interfaz de usuario
- Paquetes de localización y cambio de marca
- Módulos de autenticación de usuario externo
- Aplicaciones web
- Paquetes de recursos
Como los Plugins funcionan dentro del servidor AggreGate o la consola unificada, deben desarrollarse en Java. Cada Plugin es un único archivo Java Archive (JAR) que puede depender opcionalmente de otros Plugins.
La arquitectura de los Plugins se basa en la biblioteca del Marco de complementos de Java (JPF). JPF fue seleccionado a favor de frameworks como OSGi debido a su naturaleza extremadamente ligera. Permite que el servidor funcione en entornos con poca memoria, como computadoras de placa única, puertas de enlace IoT, paneles táctiles y PLC Linux.
Además de agregar una funcionalidad completamente nueva de almacenamiento, procesamiento y visualización de datos, los Plugins también pueden incluir recursos de tipos existentes, como alertas o reportes.