Mulesoft Flashcards

1
Q

Cosa è Mulesoft?

A

MuleSoft è una società
che fornisce un software di integrazione per il collegamento di applicazioni, dati e dispositivi. In pratica, MuleSoft aiuta le aziende a integrare le loro applicazioni in modo che possano condividere dati e funzionalità.

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

Cosa è una API?

A

Un’API è un insieme di definizioni e protocolli per la creazione e l’integrazione di applicazioni. Le API sono messaggeri che prendono richieste e comunicano a un sistema ciò che un utente desidera fare e restituiscono la risposta.

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

Cosa significa l’acronimo API?

A

Application Programming Interface

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

Cosa è xPath

A

xPath è un linguaggio di interrogazione utilizzato per selezionare parti di un documento XML. In Mule, xPath viene utilizzato per selezionare parti di un messaggio XML o JSON

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

Differenze tra xPath e xQuery?

A

XPath e XQuery sono entrambi linguaggi di interrogazione per documenti XML, ma hanno scopi diversi.

XPath: viene utilizzato per navigare attraverso gli elementi e gli attributi di un documento XML, XPath è un sottoinsieme di XQuery e può essere utilizzato all’interno di un’istruzione XQuery.

mentre XQuery: viene utilizzato per interrogare e recuperare dati da documenti XML, XQuery supporta query e operazioni più complesse rispetto a XPath.

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

Cosa è XSLT?

A

è un linguaggio di trasformazione che viene utilizzato per trasformare un documento XML in un altro formato come HTML o PDF1.

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

Cosa è Maven?

A

Maven è uno strumento che automatizza la compilazione, i test e la distribuzione, Facilita la gestione delle dipendenze e la creazione delle build utilizzando un file di configurazione denominato POM
per definire le impostazioni e le dipendenze del progetto.

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

Cosa è API led connectivity?

A

API-led è uno stile architetturale che collega i dati all’applicazione tramite API riutilizzabili
E’ composto da tre livelli :
*System APIs: consentono di accedere ai dati di sistema esistenti come SAP, Salesforce, o database relazionali.

*Process APIs: consentono di orchestrare i dati provenienti da più fonti e di creare processi aziendali. Insomma è dove si trova la parte logica.

*Experience APIs: consentono di esporre i dati ai clienti attraverso un’interfaccia.

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

Cosa è Raml?

A

RAML è un linguaggio di modellizzazione delle che consente di descrivere in modo chiaro e conciso le nostre API, dentro al Raml si possono definire le risorse, i metodi HTTP, i parametri, le risposte e gli schemi di dati. Insomma se definisce l’interfaccia della nostra API.

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

Cosa significa l’acronimo RAML?

A

RESTful API Modeling Language

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

Cos’è apikit router ?

A

aiuta a instradare le richieste in arrivo verso flussi specifici dell’API.

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

Cosa è error handler?

A

Sono componenti che gestiscono gli errori che si verificano durante l’esecuzione di un flusso. Ci sono due tipi di error handler: On Error Continue e On Error Propagate. On Error Continue permette di continuare il flusso dopo aver gestito l’errore, mentre On Error Propagate propaga l’errore al chiamante o al gestore di errore predefinito.

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

Quali sono i 3 livelli per la gestione degli errori?

A
  • livello di applicazione: sono gestori globali, che possono essere utilizzati per gestire gli errori generati da qualsiasi flusso, che non dispone di una propria gestione degli errori.

Se non viene scritta alcuna gestione degli errori a nessuno dei livelli, viene utilizzato il gestore degli errori predefinito Mule, che interrompe l’esecuzione del flusso e registra l’eccezione.

  • livello di flusso: Il gestore di errore a livello di flusso permette di definire una logica personalizzata per gestire gli errori che si verificano in un determinato flusso.
  • livello di processore: Per gestire gli errori a livello di processo si utilizza il componente TRY, gli errori a livello di processo hanno la precedenza sugli ambiti a livello di flusso. Gli ambiti a livello di flusso hanno la precedenza sugli ambiti a livello di applicazione.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Cosa è il View model 4+1?

A

È un modello architetturale che consente di visualizzare l’architettura di un si-stema in modo completo e dettagliato.
Le visualizzazioni sono utilizzate per descrivere il sistema dal punto di vista di di-versi Stakeholder, come gli utenti finali, gli sviluppatori, ingegneri di sistema e i responsabili del progetto. Ci aiuta a preparare le soluzioni di integrazione e l’ar-chitettura necessarie in modo sistematico.

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

Quali sono le viste del modello 4+1?

A
  • Logical View: Indica la funzionalità che un sistema fornisce all’utente finale. La Logical view definisce e documenta i sistemi, le parti interessate, le interfacce e le relative relazioni. Questa visua-lizzazione consente di convincere gli architetti aziendali che l’archi-tettura della soluzione si adatta perfettamente all’architettura e agli obiettivi aziendali.
    La vista logica può essere documentata facilmente utilizzando i dia-grammi di sequenza e i diagrammi di attività.

*Process View: Descrive il comportamento del sistema evidenziano i componenti principali e le relazioni tra di esse. Quindi aiuta a defi-nire la struttura interna del sistema identificando i principali blocchi funzionali e i flussi di dati. vengono anche menzionati i comporta-menti di runtime come prestazioni, scalabilità, affidabilità e para-metri extra.
I diagrammi di sequenza e i diagrammi di attività rappresentano la vista del processo.

*Development View: Descrive l’organizzazione del codice sorgente del sistema, evidenziando le unità di sviluppo, i moduli e librerie che compongono il sistema.

*Physical View: Conoscuta anche come vista di distribuzione, questa vista è destinata per ingegnere di sistemi o un DevOps.

Descrive diversi aspetti fisici del sistema e come interagiscono tra di loro, ad esempio come i componenti del sistema sono distribuite sui nodi fisici e come sono configurati i servizi di rete.

  • Vista Supplementare: Descive il sistema in termini di scenari di utilizzo, fornendo una panoramica ad alto livello del sistema e delle funzionalità principali. Questo tipo di visualizzazione aiuta a comprendere meglio le esigenze degli utenti e a definire i requisiti funzionali del sistema.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Come posso salvare il corralationId in una variabile?

A

Crea una variabile dove il valore sia
#[attributes.headers.’x-transaction-id’ default uuid()]

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

Cosa è Mule event?

A

è un dato che viene trasformato e manipolato dal sistema Mule e viaggia tra i diversi componenti dentro la nostra applicazione.
è composto da due parti
Mule message: Contiene un payload del messaggio e gli attributi associati.

Variabili: Le variabili sono metadati di eventi Mule utilizzati nel flusso.

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

Cosa è Scatter-Gather?

A

Ci consente di inviare una richiesta a più destinazioni contemporaneamente e di raccogliere le risposte in una.

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

Cosa è Fine grained ?

A

l’approccio di fine grained consiste nel suddividere l’API in componenti più piccoli e con funzionalità più specifiche; quindi, invece di fare una API grande che avvia tante funzionalità si crea una API più piccola che faccia una cosa più specifica.

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

Cosa è Coarse grained ?

A

Sono costituiti da un numero limitato di componenti, ciascuna delle quali offre una funzionalità completa.

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

Cosa è Load Balancer?

A

Consentono di distribuire il traffico di rete tra più server per migliorare la prestazione e l’affidabilità delle applicazioni.

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

Cosa è Shared load balancer SLB?

A

Fornisce funzionalità di base, non consentono la configurazione di certificati SSL personalizzati o regole proxy, hanno un limite di velocita più basso e i limiti di velocita vengono applicate secondo l’area geografica.

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

Cosa è Dedicate load balancer

A

Permette di definire certificati personalizzati SSL e regole proxy e ti permette di applicare l’autenticazione bidirezionale SSL.

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

Cosa sono le Mapping rules nel load balancer?

A

sono usate per tradurre l’URI di input per chiamare le applicazioni distribuite su CloudHub. Per creare una maping rule, è necessario specificare il pattern di input, il pattern di output e il tipo di protocollo.

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

Spiegami cosa è Programmazione reattiva in Mule?

A

La programmazione reattiva è un approccio di programmazione in cui il programma reagisce automaticamente ai cambiamenti dei dati ed eventi senza doverli gestire esplicitamente con istruzioni. In Mule 4, questo approccio si basa sul modello di Mule message, che è composto da un payload e i suoi attributi (metadati). La programmazione reattiva consente di gestire facilmente flussi asincroni di dati ed eventi da diverse fonti, ma ha alcuni svantaggi, come una curva di apprendimento ripida e la difficoltà di testare e debuggare il codice. In Mule 4, la programmazione reattiva si basa su Project Reactor, che combina il concetto di observable e observer.

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

spiegami cosa è observable e observer

A

Un observable è un flusso di dati o eventi che può essere osservato da uno o più observer, mentre un observer è un consumatore di dati o eventi che si sottoscrive a un observable e reagisce ai cambiamenti.

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

spiegami cosa è thread?

A

Un thread è un’unità di esecuzione che può processare un evento o un’attività in modo concorrente

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

Cosa è L’auto-tuning

A

è la capacità di Mule 4 di adattare automaticamente il numero e il tipo di thread in base alle condizioni operative dell’ambiente dove viene eseguito.

29
Q

Come si chiama il pool di thread utilizzato da mule?

A

Mule 4 usa un modello di programmazione reattiva che si basa su un unico pool di thread, chiamato UBER pool. Questo pool di thread è gestito da Mule e condiviso tra tutte le applicazioni nella stessa istanza. Al momento dell’avvio, Mule analizza le risorse disponibili (come memoria e core CPU) nel sistema e si auto-regola per l’ambiente dove viene eseguito.

30
Q

Quali sono i principali tipi di thread usati da mule?

A

PU_INTENSIVE: Elaborazione intensiva, ad esempio calcoli o trasformazioni complessi e dispendiosi in termini di tempo.

CPU_LITE: Elaborazione che non blocca né richiede un utilizzo intensivo della CPU, ad esempio il passaggio di messaggi, il filtro e il routing.

BLOCKING_IO: Si usa per eseguire le operazioni che richiedono l’accesso a risorse esterne, come il database o il file system. Queste operazioni sono bloccanti, cioè il thread che le esegue deve aspettare la risposta della risorsa esterna prima di continuare. La dimensione massima della thread pool BLOCKING_IO è calcolata in base alla quantità di memoria disponibile per il runtime di Mule.

31
Q

Quali sono i Pool di thread HTTP?

A

I thread pool HTTP sono utilizzati dal modulo HTTP di Mule per gestire le operazioni di input/output non bloccanti utilizzando la libreria Java NIO.

Grizzly Selector: E’ un thread che controlla lo stato dei canali NIO e seleziona quelli che sono pronti per essere letti o scritti. Grizzly è una libreria che implementa il modello selector e fornisce un’astrazione per creare server e client HTTP basati su NIO.

Shared grizzly: E’ il pool di thread grizzly condiviso tra tutte le applicazioni deployate sullo stesso runtime di Mule. Questo pool di thread è utilizzato dal listener HTTP per gestire le richieste in arrivo.

Dedicated grizzly: E’ il pool di thread grizzly dedicato a ogni applicazione deployata sul runtime di Mule, che viene usato dal connettore HTTP per inviare richieste a servizi esterni.

32
Q

Caracterristica coda Publish:

A

Questa operazione consiste nell’inviare un messaggio ad una coda e non attendere una risposta. Dopo aver inviato il messaggio, il thread principale può procedere con il successivo processo nel flusso o sotto-flusso.

33
Q

Caracterristica coda Publish consume:

A

invia un messaggio a una coda e attende una risposta da un’altra coda temporanea

34
Q

Caracterristica coda Consume:

A

L’operazione consume è un’operazione che permette di ricevere un messaggio da una coda e di rimuoverlo dalla stessa

35
Q

differenza fra map e map object:

A

Il primo lavora sugli array ed estrapola tutti gli elementi, mentre il secon-do opera sugli object estrapolando tutte le chiavi.

36
Q

Spike control policy

A

Regola il traffico delle richieste limitando il numero di messaggi elaborati entro un determinato tempo. Quando si supera questo limite i messaggi vengono accodati per essere processati in base a come hai configurato la policy.

37
Q

Scatter-Gather:

A

Ci consente di inviare una richiesta a più destinazioni contemporaneamente e di raccogliere le risposte in una.

38
Q

Circuit breaker policy

A

Viene utilizzata per prevenire il fallimento a cascata quando si integra con sistemi remoti. Ad esempio se una API invia richieste a un servizio remoto questo inizia a restituire errori, la policy può interrompere le richieste all’esterno e consente al servizio di riprendersi sotto il carico ridotto.
In pratica il circuit break agisce come un interruttore che apre il circuito quando il servizio esterno inizia a restituire molti errori e dopo un certo periodo entra in uno stato di ‘meta aperto’ in cui viene effettuata una chiamata di prova se la chiamata ha una risposta positiva lo stato cambia a chiuso.

39
Q

Client side cache

A

Questa strategia utilizzerà il risultato di una chiamata fallita precedentemente, per questo il client API deve implementare la memorizzazione della cache. Solo i resultati di metodi http sicuri devono essere memorizzati GET, HEAD e OPTIONS.

40
Q

Faul Tolerant

A

È la capacità di un sistema di continuare a funzionare anche se uno o più componenti falliscono, ci sono diverse strategie come applicare il timeout, fallback e cache lato client.

41
Q

Acronimo NFRs

A

Not Functional Requirements

42
Q

Cosa è NFRs

A

Definiscono come il prodotto deve funzionare piuttosto di cosa deve fare, i NFRs sono importanti perché influenzano la qualità del prodotto, la soddisfazione degli utenti, la sicurezza e il costo del prodotto.

43
Q

Cosa è il record DNS di tipo A?

A

il record DNS di tipo A viene utilizzato per associare un indirizzo Ipv4

44
Q

Cosa è CNAME?

A

CNAME è utilizzato per associare un nome di dominio con un alias.

45
Q

Spiegami cosa è una vpc

A

È una rete isolata e privata ospitata all’interno di cloudHub, la vpc ti permette di connettere la tua rete di intranet privata ad anypoint vpc come si fossero parte della stessa rete privata. La configurazione di una vpc espone un record DNS di tipo A , dove al suo interno ci sono una lista di indirizzi che appartengono ai worker e non è possibile accedere a loro all’esterno della vpc. Per impostazione predefinita vengono create 4 regole, due che consentono le richieste private tramite le porte 8091 e 8092 e due regole che consentono le richieste esterne inoltrate tramite proxy del bilanciamento del carico per le porte 8081 e 8082.
Le regole firewall sono composte da tre elementi, Blocco CDIR, porta e protocollo.

46
Q

Cosa è Audit Logs?

A

Anypoint utilizza un servizio di registrazione di controllo per avere traccia di tutte le modifiche fatte dagli utenti che appartengono a una organizzazione. Per default questi registri vengono conservati per 6 anni ma può essere personalizzato

47
Q

Cosa è Connected Apps

A

E’ una funzionalità che fornisce un framework che consente a una applicazione esterna di integrarsi con la piattaforma Anypoint utilizzando le API tramite Oauth o OpenID. Quindi aiuta gli utenti a delegare il proprio accesso senza condividere le credenziali sensibili o dare il pieno controllo delle proprie applicazioni a terzi. Tutte queste azioni vengono controllate e si possono revocare in qualsiasi momento.

48
Q

Cosa è Client management?

A

Anypoint platorm agisce come provider client per impostazione predefinita ma è possibile configurare fino a 25 provider client esterni. Ad esempio, puoi applicare una politica di autenticazione Oauth per accedere alle API però dovresti avere anche un provider Oauth per poter applicarlo.

49
Q

Cosa è Identity Management?

A

È la gestione delle entità che accedono alle risorse della piattaforma, include l’autenticazione, l’autorizzazione e la gestione dei ruoli degli utenti. La sua principale funzione è garantire che solo le persone autorizzate abbiano accesso alle risorse. Identity management è implementato attraverso diversi istrumenti come mulesoft access management, utilizzo di token e la definizione delle regole di sicurezza in base ai ruoli. Supporta diversi standard di sicurezza come SAML, Oauth 2.0 e OpenID Connect.

50
Q

Cosa è Business Group?

A

Sono i Gruppi che contengono le risorse della piattaforma, permettono separare e controllare l’accesso alle risorse e i business group hanno una struttura gerarchica.

51
Q

Cosa è C4E ?

A

E’ un gruppo che guida il cambio del modello operativo, è responsabile di distribuire il lavoro tra i membri del team, assegnare i ruoli etc.
È composto da developers che fanno focus sul experience, LoB (line of business) focus sul Process e Central IT focus sul system.

52
Q

Cosa è Hosting Anypoint platform

A

È la possibilità di ospitare diversi componenti in diverse zone geografiche; quindi, i clienti hanno la possibilità di scegliere dove i dati saranno archiviati, processati ed elaborati.

53
Q

Spiegami control Plane

A

Mulesoft offre diverse opzioni che semplificano la progettazione, il riutilizzo e la gestione della integrazione. Dentro del control plane abbiamo diversa opzione come:
EU Cloud: il control plane è ospitato nella Unione europea.
US Cloud: il control plane è ospitato negli Stati uniti.
Governat Cloud: è un control plane riservato solo per le entità governative.
 Private Cloud Edition: I clienti hanno la possibilità di ospitare il control plane dentro ai propri data center.

54
Q

Cosa è Runtime Plane

A

E’ la parte dove si trova il motore di esecuzione delle nostre applicazioni, ci sono diversi opzioni:
 CloudHub
 Runtime Fabric: offre la possibilità di istallare più istanze mule sia in cloud privato come Microsoft o Azure o sia in Locale come on-premise
 On- Premise: hai la possibilità di ospitare il runtime plane dentro ai tuoi propri server, mentre il control plane rimane in mulesoft
 Private Hosting: Offre il massimo livello di autonomia e personalizzazione, sia il control plane e il runtime plane sono ospitate nel data center del cliente.

55
Q

cosa è il for each

A

Esegue un ciclo per un determinato numero di volte.

56
Q

Cosa è il batch job ?

A

Si utilizza quando si hanno molteplici elementi da processare, una volta inserito al suo interno si crea un gruppo dedicato alla parte logica (batch step) ed una parte dedicata alla gestione dei messaggi (batch aggregator)

57
Q

come si crea un attributes di un xml in DataWeave?

A

nome_campo + @ + ( nome_attr : value )

58
Q

che cos’è il watermark?

A

E’ il numero che identifica lo stato del DB

59
Q

a cosa serve l’api autodiscovery?

A

E’ l’id di collegamento tra l’api manager e il runtime manager.

60
Q

Che cos’è OpenId Connect ?

A

è una policy che limita l’accesso a una risorsa protetta solo alle richieste HTTP. La policy non genera token ma li valida soltanto

61
Q

Cosa è idempotency?

A

Viene utilizzato per evitare duplicati durante un processo.

62
Q

Spiegami il Protocollo di commit a due fasi (2PC):

A

E’ un algoritmo distribuito che comprende tutti i nodi in un sistema distribuito per convalidare una transazione. In MuleSoft, il protocollo 2PC viene utilizzato per garantire la consistenza dei dati tra diverse risorse, come database o servizi web.

Il protocollo si compone di due fasi: la fase di preparazione e la fase di commit.

Esempio di funzionamento:

  • Immagina di voler comprare un biglietto aereo online. Per completare l’acquisto, devi interagire con due sistemi: il sistema della compagnia aerea e il sistema della banca. Il protocollo 2PC serve a garantire che entrambi i sistemi siano d’accordo sul fatto che l’acquisto sia andato a buon fine o meno. Il protocollo 2PC funziona così:

Prima fase: il sistema della compagnia aerea chiede al sistema della banca se può prelevare i soldi dalla tua carta di credito. Il sistema della banca risponde sì o no. Se risponde sì, si prepara a prelevare i soldi, ma non lo fa ancora. Se risponde no, si ferma e non fa nulla.

Seconda fase: il sistema della compagnia aerea riceve la risposta del sistema della banca. Se la risposta è sì, conferma al sistema della banca di prelevare i soldi e ti invia il biglietto aereo. Se la risposta è no, annulla l’operazione e ti dice che c’è stato un problema.

In questo modo, entrambi i sistemi sono sincronizzati e non ci sono situazioni in cui tu paghi ma non ricevi il biglietto o viceversa.

63
Q

Quali sono i concetti relativi alla gestione dei messaggi tra i componenti e i servizi di un’applicazione?

A
  • Messaggistica affidabile: è la capacità di garantire che i messaggi inviati o ricevuti siano consegnati correttamente e senza perdite, anche in caso di errori o guasti. Ad esempio uso di connettori JMS o VM per inviare e ricevere messaggi tra le applicazioni usando code o topic. Questi connettori supportano la riconsegna automatica dei messaggi in caso di fallimento e la gestione delle eccezioni.
  • Messaggistica transazionale: garantisce che i messaggi vengano trasmessi e elaborati in modo transazionale, il che significa che i messaggi vengono elaborati solo se l’intera transazione viene completata correttamente. In caso di errore, la transazione viene annullata e i messaggi non vengono elaborati. Ad esempio l’uso dei connettori Database o Salesforce per eseguire operazioni CRUD sui dati usando le transazioni . Questi connettori permettono di avviare, partecipare o terminare una transazione e di gestire il commit o il rollback delle modifiche.

*Messaggistica persistente: è la capacità di salvare i messaggi su un supporto di memorizzazione permanente, in modo che non vengano persi in caso di interruzione del sistema o della connessione. Ad esempio l’uso del connettore Object Store per memorizzare e recuperare gli oggetti

64
Q

Cosa è la gestione delle transazioni in mulesoft?

A

E’ il modo in cui MuleSoft garantisce l’integrità dei dati quando si eseguono operazioni che non possono rimanere indeterminate.
MuleSoft supporta due diversi tipi di transazioni, tra cui le transazioni locali e le transazioni XA.

  • Transazioni locali: sono più semplici e veloci, ma sono transazioni che coinvolgono solo una risorsa per inviare o ricevere messaggi, come un broker JMS, una coda VM. Per configurare una transazione locale, è necessario usare un componente che definisce il tipo di transazione (come jms:listener o vm:listener) e un componente che partecipa alla transazione (come jms:publish o db:insert). Il componente che definisce il tipo di transazione deve avere la proprietà transactional impostata su ALWAYS_BEGIN2. Il componente che partecipa alla transazione deve avere la proprietà transactional impostata su JOIN_IF_POSSIBLE. In questo modo, il flusso eseguirà una serie di passi come un’unità atomica e si impegnerà o annullerà la transazione in base al risultato.
  • Transazioni XA: sono più complesse e lente, ma possono coinvolgere più risorse.
    Quindi sono un tipo di transazioni che possono raggruppare una serie di operazioni da più risorse transazionali, come VM, JMS o Database, in una singola transazione globale affidabile.

Le transazioni XA garantiscono che tutte le operazioni coinvolte nella transazione globale siano eseguite con successo o che nessuna di esse sia eseguita. Questo assicura la proprietà ACID (Atomicità, Coerenza, Isolamento e Durabilità) delle transazioni.

65
Q

Cosa è bitronix ?

A

Bitronix esegue i principi ACID ed è un gestore di transazioni distribuite che può essere usato in MuleSoft per coordinare le transazioni XA tra diverse risorse. Bitronix permette di configurare un pool di connessioni per le risorse transazionali, come i database, e di gestire il ciclo di vita delle transazioni.

Bitronix mantiene un registro delle transazioni in corso e dei loro stati, e può recuperare le transazioni in sospeso in caso di crash del sistema o di eccezioni.

Bitronix consente la gestione delle transazioni distribuite in un ambiente consentendo a più risorse e servizi di partecipare a una transazione complessa.

66
Q

Cosa è Pub sub pattern ?

A

l modello Pub/Sub è un tipo di architettura orientata agli eventi che si basa sulla comunicazione asincrona tra un publisher e uno o più consumer. In questo modello, il publisher genera gli eventi e li invia a un intermediario chiamato broker, che si occupa di gestire le sottoscrizioni dei consumer e di inoltrare i messaggi ai destinatari appropriati. I consumer si registrano al broker per ricevere gli eventi di loro interesse. Il vantaggio principale di questo modello è la possibilità di scalare orizzontalmente il sistema, grazie alla separazione tra publisher e consumer, che non devono conoscere l’esistenza reciproca. Inoltre, il modello offre una maggiore tolleranza ai guasti, poiché se uno dei consumer non è disponibile, il broker continua a inviare gli eventi ai consumer attivi.

MuleSoft offre diversi connettori per implementare il pub sub pattern, come Anypoint MQ, Salesforce e Anypoint Templates.

67
Q

Cosa è Pattern broadcast ?

A

Il pattern broadcast usa più canali separati per inviare lo stesso messaggio a più consumatori, personalizzando i messaggi in base ai diversi canali o destinatari. In MuleSoft, il pattern broadcast si realizza usando il processore di routing Scatter-Gather, che invia un riferimento degli eventi Mule a ogni percorso di routing configurato all’interno del blocco Scatter-Gather. Questo pattern è utile per distribuire informazioni a diversi sistemi senza richiedere una risposta da parte loro, permettendo il sincronismo unidirezionale di dati da una sorgente a molteplici destinazioni in tempo reale o quasi reale.

68
Q

Definizione di control plane

A

Il Control Plane è responsabile della gestione e dell’amministrazione delle risorse.
Aspetti che fanno parte del control plane:

*Gestione delle API
*Amministrazione delle risorse
*Gestione degli utenti e delle autorizzazioni
*Gestione degli utenti e delle autorizzazioni