WSO2 Flashcards

1
Q

Spiegazione protocollo AMQP

A

AMQP: Advanced Message Queuing Protocol, è uno standard aperto per il middleware orientato ai messaggi. Definisce un protocollo a livello applicativo per garantire funzionalità di messaggistica, accodamento, routing, affidabilità e sicurezza.

In pratica, AMQP è un protocollo che stabilisce le regole per la comunicazione tra un broker (il server di messaggistica) e i clienti. Utilizza un’unità di base chiamata “frame” per trasmettere i messaggi tra i partecipanti. I frame vengono inviati in modo ordinato, garantendo che tutti i frame siano consegnati correttamente prima che il destinatario li riceva.

L’obiettivo principale di AMQP è garantire l’interoperabilità tra diverse implementazioni dei broker e dei clienti di messaggistica. Ciò significa che diverse piattaforme e fornitori possono comunicare utilizzando lo stesso protocollo standard.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Spiegazione protocollo MQTT:

A

MQTT è un protocollo di messaggistica leggero e efficiente progettato per l’IoT e dispositivi con risorse limitate. Utilizza un modello di pubblicazione/sottoscrizione, consentendo ai dispositivi di pubblicare messaggi su argomenti specifici e ai destinatari di sottoscrivere tali argomenti per ricevere i messaggi corrispondenti. MQTT è efficiente in termini di utilizzo di banda e risorse, rendendolo adatto per dispositivi IoT con limitate capacità di elaborazione e connessione. Supporta diversi livelli di QoS per garantire la consegna dei messaggi, e offre connessioni persistenti per ridurre l’overhead di connessione

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

MQTT offre tre livelli di QoS per garantire la consegna dei messaggi in base alle esigenze dell’applicazione:

A
  • QoS 0: “Al più una volta” - Il messaggio viene inviato senza garanzia di consegna.
  • QoS 1: “Almeno una volta” - Il messaggio viene inviato con garanzia di consegna almeno una volta, ma può essere duplicato.
  • QoS 2: “Esattamente una volta” - Il messaggio viene inviato con garanzia di consegna esattamente una volta, eliminando i duplicati.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Cosa è URI Template:

A

Un URI Template include spesso delle variabili, indicate da placeholder, che possono essere sostituite con valori specifici al momento della creazione dell’URI. L’obiettivo principale di un URI Template è fornire una forma flessibile per definire le risorse e le loro relazioni.

Ad esempio, considera il seguente URI Template: /api/customers/{customerId}. In questo caso, {customerId} è una variabile nel modello, che può essere sostituita con un valore specifico al momento della creazione dell’URI. Ad esempio, /api/customers/123 o /api/customers/456.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Cosa è URL Mapping:

A

Si riferisce al processo di associare un URL specifico a una risorsa o a un endpoint nel sistema. In WSO2, URL Mapping viene utilizzato per definire le regole di corrispondenza tra gli URL delle richieste HTTP e i servizi o le risorse specifiche che devono gestire tali richieste.

Per esempio, supponiamo di avere un servizio WSO2 che gestisce le richieste relative ai clienti, e vogliamo associare l’URL /customers/* a tale servizio. In questo caso, stiamo definendo una regola di URL Mapping che afferma che tutte le richieste con URL che iniziano con /customers/ devono essere gestite dal servizio dei clienti.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Variabili nell’URI

A

Per accedere alle variabili nell’URI, è necessario utilizzare il prefisso “$ctx” seguito da “uri.var” e il nome della variabile desiderata.

Ad esempio, se hai un parametro nell’URI chiamato “appointment_id”,
l’espressione corrispondente sarà “$ctx:uri.var.appointment_id”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Proprietà del contesto

A

Il contesto in WSO2 contiene informazioni relative alla richiesta in corso. Per accedere alle proprietà del contesto,
puoi utilizzare “$ctx.getProperty” seguito dal nome della proprietà desiderata.

Ad esempio, se hai una proprietà chiamata “property_name”,
l’espressione corrispondente sarà “$ctx.getProperty(‘property_name’)”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Utilizzo di espressioni JSONPath:

A

JSONPath è un linguaggio di query per estrarre dati da oggetti JSON.
Per utilizzare JSONPath in WSO2, puoi utilizzare l’espressione “json-eval()” seguita dalla tua espressione JSONPath.

Ad esempio, “json-eval($.path.to.value)” verrà utilizzato per estrarre un valore specifico da un payload JSON.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Template Artifact:

A

è un tipo di artefatto utilizzato per definire configurazioni riutilizzabili che vengono applicate a diversi componenti del sistema.
I “template artifact” forniscono un modo efficiente per definire configurazioni comuni una volta sola e riutilizzarle in più punti.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Message Processor:

A

è un componente che consente l’elaborazione e la gestione affidabile dei messaggi in modo asincrono.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Cosa fa il Mediators Enrich?

A

Questo mediatore viene utilizzato per copiare o trasferire valori tra diversi contesti di messaggi o per modificare il contenuto del messaggio durante l’esecuzione.

ha due azioni principali:

  • Copy: Copia il valore di una proprietà, espressione o risorsa esterna in una specifica proprietà del messaggio corrente. Ciò viene realizzato utilizzando l’attributo source per specificare il valore da copiare e l’attributo target per indicare la proprietà del messaggio in cui verrà copiato il valore.

*Replace: Sostituisce il contenuto del messaggio corrente con il valore fornito nella proprietà, espressione o risorsa esterna specificata nell’attributo source.

Questo mediatore è ampiamente utilizzato in WSO2 per eseguire operazioni come:

  • Inviare una richiesta a un servizio esterno e arricchire la risposta nel messaggio corrente.
  • Estrarre dati da un messaggio e memorizzarli in proprietà per un uso successivo.
  • Trasformare o adattare il contenuto di un messaggio prima di inviarlo a un servizio.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly