Salta ai contenuti

Panoramica Connettori

I Connettori sono i blocchi costitutivi dei flussi di lavoro Meddle. Ogni connettore è un componente specializzato che può leggere dati da fonti, scrivere dati su destinazioni o elaborare e trasformare dati in transito.

I connettori sono collegati insieme in un editor di flusso di lavoro visuale per creare potenti pipeline di integrazione dati senza scrivere codice.

Meddle fornisce 18 diversi tipi di connettori organizzati in tre categorie principali:

Connettiti a sistemi di automazione industriale e PLC:

OPC UA

Protocollo standard industriale per l’automazione industriale. Supporta più metodi di autenticazione e modalità di sicurezza.

Modbus

Comunicazione seriale e TCP con PLC e dispositivi industriali. Supporta tutti i tipi di registro e formati dati.

Siemens S7

Comunicazione diretta con PLC Siemens S7-300, S7-400, S7-1200 e S7-1500.

Integrazione con protocolli IoT e database:

MQTT

Messaggistica publish/subscribe per dispositivi IoT con supporto QoS.

HTTP/REST

Connettiti a API REST e servizi web con header e metodi personalizzabili.

InfluxDB

Database time-series ottimizzato per dati industriali e IoT.

MongoDB

Database NoSQL a documenti per archiviazione dati flessibile.

SQL

Supporto per database MySQL, PostgreSQL e SQL Server.

Trasforma, filtra ed elabora i dati:

Filter

Whitelist o blacklist di chiavi dati specifiche.

Conveyor

Passa i dati senza modifiche per routing many-to-many.

Merge

Combina dati da più fonti con strategie basate su timing o chiavi.

Reshape

Rinomina campi o arricchisci dati con valori statici.

Trigger

Logica condizionale utilizzando espressioni MXL.

Cron

Pianifica il rilascio dei dati in momenti specifici.

Auth

Autenticazione e validazione JWT.

Anomaly Detection

Rilevamento anomalie basato su ML utilizzando Isolation Forest.

Alert

Invia notifiche basate su condizioni.

Chart

Visualizzazione dati in tempo reale.

Tutti i connettori scambiano dati utilizzando un formato payload standard chiave-valore:

{
"temperature": 25.5,
"pressure": 101.3,
"humidity": 60,
"status": "active",
"timestamp": 1234567890
}

Questo formato standardizzato consente a qualsiasi connettore di comunicare con qualsiasi altro connettore, indipendentemente dal protocollo o sistema sottostante.

Ogni connettore è configurato utilizzando JSON con tre sezioni principali:

  1. Type: Il tipo di connettore (es. OpcuaReader, MqttV3Writer)
  2. Config: Configurazione specifica del connettore (endpoint, credenziali, ecc.)
  3. Variables: (Opzionale) Per connettori industriali, definisce quali dati leggere/scrivere

Esempio:

{
"type": "OpcuaReader",
"config": {
"endpoint": "opc.tcp://localhost:4840",
"pollingRate": 1000
},
"variables": [
{
"key": "temperature",
"nodeId": "ns=1;s=Temperature"
}
]
}

I connettori sono organizzati in fogli di lavoro (workflow) dove:

  1. I connettori reader raccolgono dati dalle fonti
  2. I connettori di elaborazione trasformano e filtrano i dati
  3. I connettori writer inviano dati alle destinazioni

I dati fluiscono attraverso le connessioni tra i connettori, con ogni connettore che elabora i dati in parallelo per massime prestazioni.

Molti connettori reader supportano un parametro pollingRate (in millisecondi):

{
"pollingRate": 1000 // Polling ogni 1 secondo
}

I connettori che richiedono autenticazione tipicamente supportano più metodi:

{
"username": "user",
"password": "pass"
}

O per autenticazione basata su token:

{
"authToken": "your-token-here"
}

Tutti i connettori includono gestione errori integrata e:

  • Registrano errori con codici di errore specifici
  • Continuano l’operazione quando possibile
  • Forniscono messaggi di errore dettagliati per la risoluzione dei problemi
  • Usa valori pollingRate appropriati per evitare di sovraccaricare i sistemi
  • Polling più veloce = più dati ma maggiore utilizzo CPU/rete
  • Valori tipici: 100ms (veloce), 1000ms (normale), 5000ms (lento)

Alcuni connettori accumulano dati in memoria:

  • Merge: Combina dati da più fonti
  • Cron: Mantiene i dati fino al rilascio pianificato
  • Usa il parametro maxRetained per limitare l’uso della memoria
  • I fogli di lavoro eseguono i connettori in parallelo
  • Più fogli di lavoro vengono eseguiti simultaneamente
  • Scalabilità orizzontale sui core della CPU

Inizia con flussi di lavoro base reader → writer prima di aggiungere connettori di elaborazione.

Posiziona i connettori Filter all’inizio del flusso di lavoro per ridurre le dimensioni del payload e migliorare le prestazioni.

Usa i connettori Reshape per standardizzare i nomi dei campi tra diverse fonti.

Usa i connettori Trigger per rilevare condizioni di errore e instradare ai connettori Alert.

Usa i connettori Cron per elaborazione batch e rilasci dati pianificati.

Usa i connettori Auth per validare i token JWT nei flussi di dati che richiedono autenticazione.

Aggiungi connettori Anomaly Detection per identificare pattern insoliti nei tuoi dati.

Esplora la documentazione dei connettori per categoria: