Salta ai contenuti

Connessioni e flussi

Queste azioni vanno per famiglie di due o tre: connettere, inviare, chiudere. La connessione resta aperta tra i riquadri, cosa che permette di intercalare altre chiamate nel mezzo.

Un’azione di connessione ha due uscite:

UscitaEmissione
connectedUn segnale, una volta sola, alla creazione della connessione
messageUn’emissione per ogni messaggio ricevuto

Porta un nome di connessione (connectionName). Le azioni di invio e di chiusura designano poi quella connessione tramite il suo identificatore di riquadro (connectionNodeId).

Lo schema classico:

Connessione MQTT ──connected──► Richiesta HTTP (attivare l’azione applicativa)
└────────message─────► Assert (il messaggio atteso è arrivato)
poi ──► Chiusura connessione MQTT
AzioneInputOutput
Connessione WebSocket—connected, message (qualunque frame ricevuto)
Invio WebSocketpayload—
Chiusura connessione WebSocket——
Chiusura server WebSocket——

Si veda WebSocket.

AzioneInputOutput
Connessione Socket.IO—connected, una porta event:<name> per ogni evento dichiarato, e others
Invio Socket.IOchannel, payload—
Chiusura connessione Socket.IO——
Chiusura server Socket.IO——

È la sola azione di connessione le cui uscite sono configurabili: dichiarando l’elenco degli eventi di interesse, ciascuno ottiene la propria porta. Ogni evento non dichiarato arriva su others.

Si veda Socket.IO.

AzioneInputOutput
Connessione MQTT—connected, message
Pubblicazione MQTTpayload—
Chiusura connessione MQTT——

La connessione sottoscrive il topic della richiesta; l’invio pubblica con la QoS e l’opzione di ritenzione configurate. Si veda MQTT.

AzioneInputOutput
Connessione SSE—connected, message
Chiusura connessione SSE——

Solo in ricezione: non esiste un’azione di invio. Si veda SSE.

AzioneInputOutput
Connessione STOMP—connected, message
Invio STOMPpayload—
Chiusura connessione STOMP——

La connessione emette il CONNECT e poi un SUBSCRIBE per ogni sottoscrizione configurata; l’invio produce un frame SEND; la chiusura un DISCONNECT. Si veda STOMP.

AzioneInputOutput
Connessione AMQP—connected, message
Pubblicazione AMQPpayload—
Chiusura connessione AMQP——

La connessione consuma la coda della richiesta (modalità subscribe); la pubblicazione usa il suo exchange e la sua routing key. Si veda AMQP.

AzioneInputOutput
Sottoscrizione Redis—connected, message
Chiusura connessione Redis——

Per un comando singolo si usa Comando Redis, che è un’azione richiesta / risposta — si veda Richieste e composizione.

AzioneInputOutput
Consumo Kafka—connected, message
Chiusura connessione Kafka——

Il consumo sottoscrive tramite il gruppo di consumer della richiesta. Per produrre si usa Produzione Kafka, un’azione singola. Si veda Kafka.

AzioneInputOutput
Connessione gRPC—connected, message
Invio gRPCpayload—
Chiusura connessione gRPC——

Per le modalità server-stream, client-stream e bidirectional-stream: l’invio ha senso soltanto per le ultime due, la chiusura effettua la semi-chiusura lato client. Una chiamata unary si fa con Richiesta HTTP. Si veda gRPC.

AzioneInputOutput
Sottoscrizione GraphQL—connected, message
Annullamento sottoscrizione GraphQL——

Si veda GraphQL.