I platform events scambiano dati di eventi in tempo reale all’interno della piattaforma Salesforce, nonché tra Salesforce e piattaforme esterne. In parole povere, questo è il modo in cui Salesforce può trasmettere quando sono state apportate modifiche su cui altri moduli/piattaforme esterne devono agire.

I platform events sono un modello di integrazione di Salesforce (in altre parole, una capacità di integrazione) che utilizza l’API di streaming. Nello spirito delle “architetture guidate dagli eventi”, seguono un modello Publish/Subscribe (alias pub/sub) che riduce il numero di integrazioni point-to-point necessarie all’interno del vostro stack tecnologico, riducendo la necessità di un livello di integrazione per collegare Salesforce con sistemi esterni.

I platform events accelerano lo sviluppo. Non solo sono più veloci da creare rispetto alle integrazioni point-to-point, ma questi componenti modulari possono essere riutilizzati in diverse integrazioni. Dato che le architetture di Salesforce diventano sempre più complesse e numerose, l’approccio tradizionale non è scalabile e porterà Salesforce ai suoi limiti in termini di chiamate API.

Cosa sono i platform events in Salesforce?

Come già accennato, i Platform Events scambiano dati di eventi in tempo reale all’interno della piattaforma Salesforce e tra Salesforce e piattaforme esterne. Gli eventi della piattaforma sono una funzione nativa di Salesforce che funziona in questo modo:

  1. Event producer: Un event producer crea un evento.
  2. Event bus: L’evento viene aggiunto all’event bus (alias canale), che funziona come una coda, con un rigoroso ordine cronologico, ed esegue ogni evento uno dopo l’altro.
  3. Event consumers: Gli event consumers sottoscrivono un evento. Nel momento in cui l’evento viene inserito nell’event bus, l’event consumer riceverà una notifica.

Questo approccio riduce le dipendenze tra sistemi complessi, perché l’event consumer non ha bisogno di conoscere l’event producer; al contrario, l’event consumer deve solo conoscere l’event record, attraverso l’event bus.

Gli event consumers possono essere costituiti da:

  • Processi (flussi, etc.)
  • Apex
  • CometD (la tecnologia su cui si basa l’API di streaming)

Di seguito viene illustrato il funzionamento degli event producers nel contesto della piattaforma Salesforce:

Salesforce Platform Events: Rispiegazioni

Se sentite la frase “event-driven architecture” nel contesto di Salesforce, in futuro saprete che si riferisce ai Platform Events.

Se vi sentite spaesati rispetto ai concetti appena trattati, non fatevi prendere dal panico. Condividerò un’analogia (grazie a Priscilla Renwick) per spiegare come funzionano i platform events.

Alcuni di noi odiano cucinare – per fortuna il mio compagno ama cucinare!

Supponiamo di andare in vacanza con altre due coppie. Lui è in cucina a cucinare e tutti noi abbiamo fame. Siamo in zone diverse della casa (magari uno in piscina e l’altro al piano di sopra), quindi non possiamo parlarci.

Sono il primo a bussare alla porta della cucina: “Ehi, è pronto il cibo?”, risponde: “No”. Un minuto dopo bussa il nostro amico e chiede anche lui: “Ehi, è pronto il cibo?”, e lui dà la stessa risposta. Dopo un po’ di tempo, e soprattutto se bussa un altro amico, la sua pazienza si esaurisce: sta per raggiungere il limite.

Immaginate che questo sia ciò che sta accadendo a Salesforce. Se la persona in cucina è Salesforce e gli amici sono tutti piattaforme diverse, potremmo continuare a bussare alla “porta” di Salesforce per ricevere aggiornamenti. Ad esempio, le piattaforme esterne hanno bisogno di sapere se ci sono state modifiche ai record degli account di Salesforce, quindi si può immaginare che bussino alla porta di Salesforce per chiedere: “Ci sono state modifiche agli account?”, e Salesforce continuerà a rispondere: “No, no… no”.

Il mio compagno ha invece deciso di creare un gruppo WhatsApp per comunicare. Ha inviato il link, dicendo che se volevamo sapere quando il cibo era pronto, potevamo unirci alla conversazione di gruppo. Quando il cibo era pronto, ci avrebbe trasmesso l’informazione. È ottimo per lui, perché non sta raggiungendo il suo limite di pazienza, e per noi, perché sappiamo subito che la cena è pronta senza dover controllare più volte.

Questo è il bello degli event platform. Salesforce non raggiunge il suo limite in termini di chiamate API e le piattaforme esterne sapranno subito se sono avvenute modifiche rilevanti ai dati di Salesforce.

In breve, gli event platform sono la trasmissione da parte di Salesforce delle modifiche apportate.

L’anatomia di un Platform Event Salesforce

Gli event platform Salesforce sono costituiti dai seguenti componenti:

  • Event bus: Funzionano come una coda, è qui che gli eventi vengono aggiunti e trasmessi in ordine cronologico (eseguendo ogni evento uno dopo l’altro).
  • Events: Una modifica che deve essere trasmessa (la configurazione dell’evento include campi e relazioni).
  • Event message: La notifica che contiene informazioni su quell’evento specifico, cioè i dati su ciò che è cambiato.
  • Publishers: Applicazioni interne/esterne che inviano eventi all’event bus.
  • Consumers: Può sottoscrivere gli eventi. Nel momento in cui l’evento viene inserito nell’event bus, l’event consumer riceve una notifica.
  • Window: Un periodo di tempo definito.

Salesforce ha rinnovato un nuovo event bus nel 2020, a causa dell’espansione del portafoglio di piattaforme; Tableau e MuleSoft sono stati citati come fattori chiave nella decisione. Consultate questa guida altamente informativa sull’evoluzione dell’event bus di Salesforce.

Salesforce Platform Events: Esempio

Salesforce Web-to-lead è una delle funzioni di base di Salesforce. Una volta, Web-to-lead funzionava in modo molto semplice: creava un record di lead, che veniva assegnato a un utente e convertito per creare record su altri oggetti:

Il Web-to-Lead è il catalizzatore di molti altri processi in Salesforce. Prendiamo ad esempio i processi di gestione degli ordini, con tutti i sistemi integrati a cui si affida durante il processo end-to-end (in blu scuro):

La creazione di un singolo evento di “creazione dell’ordine” aiuterà a semplificare questo processo “spaghetti”, cioè, ancora una volta, la gestione degli ordini di Salesforce non ha bisogno che gli altri sistemi che interagiscono con essa verifichino continuamente la presenza di aggiornamenti – Salesforce ha solo bisogno di trasmettere le modifiche rilevanti, quando accadono:

Questo è lo scenario da sogno definitivo, quando si applicano gli event platform:

Dove si trovano i Platform Events in Salesforce?

Gli event platform sono definiti da Salesforce Setup (navigare in: Integrations → Platform Events).

Gli event platform sono un esempio di integrazione “Fire and Forget”, come la messaggistica in uscita, e hanno un aspetto simile a quello di un sObject o di un oggetto personalizzato.

Quando si crea un event platform, si noti il suffisso “__e” del nome dell’API, che lo distingue dagli oggetti personalizzati (“__c”).

Pubblicare gli events platform

I platform events vengono messi nell’event bus dagli event producers, un processo definito “pubblicazione”. La pubblicazione degli eventi può essere realizzata:

  • Dichiarativamente (clic) – Flussi/Process Builder.
  • Programmaticamente (codice) – Apex. Utilizzare l’API di Salesforce per pubblicare i Platform Events dall’esterno della piattaforma Salesforce.

Iscriversi ai Platform Events

I platform events vengono eseguiti dagli event consumers quando questi vengono immessi nell’event bus, un processo definito “sottoscrizione”. La sottoscrizione degli eventi può essere realizzata:

  • Dichiarativamente (clic) – Flussi.
  • Programmaticamente (codice) – Apex, LWC, Workbench. È anche possibile utilizzare Python per sottoscrivere gli events platform dall’esterno della piattaforma Salesforce.

I platform events sono immutabili

Sebbene i platform events abbiano l’aspetto di un oggetto sObject (come abbiamo detto in precedenza), la differenza principale è che i platform events sono immutabili (non possono essere aggiornati una volta pubblicati).

Platform Events + Salesforce DX

Platform Events e Salesforce DX sono una coppia perfetta. Salesforce DX incoraggia gli sviluppatori a creare basi di codice compatte che possono essere gestite e distribuite più facilmente.

Sintesi

Salesforce ha investito in questa tecnologia, quindi è affidabile, robusta e può fare miracoli per la vostra architettura. I platform events significa che è possibile scambiare dati di eventi, in tempo reale, all’interno della piattaforma Salesforce e anche tra Salesforce e piattaforme esterne.

Questo è il modo in cui Salesforce può trasmettere quando ci sono stati dei cambiamenti. È come mandare un messaggio a tutti i vostri amici in una chat di gruppo quando il cibo è pronto, invece di essere infastiditi da ogni singolo individuo che viene a chiedere – questo uniforma le informazioni.

 

 

Fonte: tradotto da Salesforceben

Share:

administrator

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *