Controlador flexible

Flexible Driver

AggreGate Controlador Flexible es un "kit de construcción de controladores" de autoservicio. Se adapta perfectamente a la conexión de dispositivos que utilizan protocolos binarios o de texto propietarios y envían datos a través de TCP, UDP o puerto serie. El Controlador Flexible asume un papel de coordinador de mensajes, gestor de conexiones y mediador entre la lógica de negocio y el personal de nivel de sistema operativo. Cubre la mayoría de las operaciones que se suelen desarrollar en Java, como abrir y cerrar puertos, establecer conexiones, operar con hilos, gestión de buffers, seguimiento de la cadena de eventos.

El Controlador Flexible permite a un ingeniero concentrarse en la descripción de la estructura lógica de los mensajes entrantes y salientes y en su asignación al Modelo de Datos Unificado.

Controlador Flexible trabaja con los siguientes casos:

  • Las comunicaciones se realizan a través de TCP, UDP o el puerto serie de la máquina local
  • El protocolo del dispositivo es ASCII (texto) o binario
  • El protocolo del dispositivo no utiliza "transacciones" o "conversaciones" complejas, es decir, cadenas de mensajes separados que actúan como una única unidad de protocolo consolidada que envía una porción de datos
  • El protocolo se basa en:
    • mensajes asincrónicos iniciados por el dispositivo
    • comandos del servidor seguidos de respuestas del dispositivo
    • tanto los comandos/respuestas síncronos como los mensajes iniciados por el dispositivo asíncrono (modo mixto)
  • Las respuestas de los dispositivos pueden coincidir con los comandos del servidor de dos maneras:
    • el dispositivo puede responder a los comandos en el mismo orden en que fueron enviados por el servidor
    • los comandos del servidor y las respuestas de los dispositivos pueden tener identificaciones (únicas para cada sesión de comunicación y coincidentes entre sí), en este caso el dispositivo puede responder a los comandos del servidor en orden aleatorio

Configuración necesaria:

  • Configuración de la conexión del dispositivo
  • Ajustes de procesamiento de las unidades de datos de protocolo (PDU) como divisor de mensajes, ajustes de codificación/decodificación
  • Configuración del enrutamiento de los mensajes
  • Descripción del modelo de datos del dispositivo
  • Protocolo a los ajustes de mapeo del modelo de datos

Escenarios de uso comunes

El servidor solicita datos de los dispositivos

Este escenario de Solicitud-Respuesta es iniciado por el Servidor AggreGate. La ocasión del Modelo de Datos Unificado (cambio de variable, evento, llamada a función) obliga al Conductor Flexible a generar PDU de acuerdo con los ajustes de mapeo y enviar el comando preparado al dispositivo. La respuesta del dispositivo se recoge en el buffer y se analiza por el divisor. Cuando se recogen todos los fragmentos de datos relacionados con una PDU, el mensaje completo se decodifica y se procesa de acuerdo con la lógica comercial configurada.

Los dispositivos envían mensajes asíncronos

En este escenario muchos dispositivos establecen conexión con el servidor AggreGate en el puerto especificado. Los fragmentos de datos recibidos se recogen en PDUs separadas. El mensaje decodificado es analizado por los datos de identidad que se utilizan para enrutar el mensaje entrante hacia el objeto deseado en AggreGate, donde se realiza el procesamiento posterior de los datos. Al igual que en el escenario de solicitud-respuesta, el resultado de la conversión de datos es un conjunto de eventos o actualizaciones de variables.

Flexible Driver Diagram