Eventi della piattaforma Salesforce e IOT – Cose davvero interessanti !!!

Questa è la terza parte della serie sull’apprendimento di IOT Salesforce. In questa parte, fornirò approfondimenti sugli eventi della piattaforma e su come possono essere utilizzati nel cloud IoT.

Quindi, quali sono gli eventi della piattaforma?

Gli eventi della piattaforma fanno parte della piattaforma di messaggistica aziendale di Salesforce. La piattaforma fornisce un’architettura di messaggistica basata su eventi per consentire alle app di comunicare all’interno e all’esterno di Salesforce. “Con gli eventi della piattaforma, le app salesforce possono comunicare con i dispositivi IoT”. In sostanza, gli eventi della piattaforma si basano sul modello di pubblicazione / sottoscrizione e funzionano direttamente con un bus di messaggi che gestisce la coda degli eventi in arrivo e i processi che li ascoltano.

Secondo la documentazione standard di salesforce sugli eventi della piattaforma:

Nota: il bus eventi viene utilizzato per la messaggistica di eventi altamente transazionale e non come memoria a lungo termine. Ciò significa che i record vengono rimossi automaticamente dalla coda dopo un determinato intervallo di tempo .

Alcuni esempi:

  • Il piombo viene creato e convertito in un Conto potenziale. Poiché SAP è il master dell’account, questo account deve essere inviato a SAP ERP.
  • Un ordine viene creato in Salesforce e richiede l’esecuzione da parte di un sistema di back-end (ad es. SAP).
  • La notifica del controllo del credito viene avviata da Salesforce.
  • Gli esempi IOT includono un cambiamento nella temperatura di un frigorifero che indica che necessita di assistenza.

Bene, quindi abbiamo definizioni standard sulla terminologia degli eventi della piattaforma e anche alcuni esempi. Passiamo a pubblicare eventi e iscriversi agli eventi.

Come vengono creati gli eventi della piattaforma?

Gli eventi della piattaforma sono essenzialmente oggetti e simili agli oggetti personalizzati. Ciò significa che è possibile definire l’oggetto e anche i campi personalizzati sull’oggetto.

Nota:

  • A differenza degli oggetti personalizzati, non è possibile aggiornare o eliminare i record degli eventi o visualizzare i record degli eventi nell’interfaccia utente di Salesforce.
  • Per uno sguardo più attento ai campi standard degli Eventi piattaforma, è possibile fare riferimento a questo collegamento.

Come pubblichi gli eventi?

Devi prima definire un evento piattaforma e successivamente pubblicarlo utilizzando uno dei seguenti:

  • Apice
  • flussi
  • Processi
  • API di Salesforce

Un esempio:

Diciamo che la tua azienda vende prodotti chimici a clienti commerciali. Una volta creato l’ordine, è possibile utilizzare un trigger apex o un processo (a seconda della complessità) per pubblicarlo sull’oggetto evento della piattaforma.

  • Utilizzo di Apex: per pubblicare messaggi di eventi, si crea un’istanza dell’evento e la si passa al metodo EventBus.publish.
  • Utilizzo dei processi: per pubblicare messaggi di eventi senza codice, utilizzare la funzionalità di creazione dei record in un processo o flusso.

Un altro esempio:

Nota: è possibile fare riferimento a questo collegamento sui dettagli per la pubblicazione degli eventi della piattaforma

Come puoi iscriverti agli eventi?

Puoi iscriverti a un evento in diversi modi. Questi sono:

Proviamo a capire tramite un esempio:

Rivisitiamo il nostro esempio precedente: un lead viene creato in SFDC e convertito in un conto potenziale. Poiché SAP è il master dell’account, questo account deve essere inviato a SAP ERP. Nell’esempio sopra abbiamo visto come questo conto potenziale può essere pubblicato sul bus dell’evento. Supponiamo ora che l’account sia stato creato in SAP e siano stati aggiunti altri dettagli (ad es. Un’organizzazione di vendita). Una volta che questo account ha tutti i dettagli, è tempo di pubblicarlo sul bus degli eventi SFDC in modo che anche questo account possa essere aggiornato in SFDC. SAP invierà l’account tramite l’API al bus degli eventi e un trigger Apex (Sottoscrittore) raccoglie l’account aggiornato e aggiorna l’account originale in SFDC. Facile? Bene, sì, è 🙂

Nota:

  • Scrivi un trigger Apex after insert sull’oggetto evento per iscriverti agli eventi in arrivo. I trigger forniscono un meccanismo di sottoscrizione automatica in Apex. I trigger ricevono notifiche di eventi da varie fonti, siano esse pubblicate tramite Apex o API.
  • Gli eventi della piattaforma supportano solo dopo i trigger di inserimento. L’evento trigger after insert corrisponde al momento successivo alla pubblicazione di un evento platform. Dopo la pubblicazione di un messaggio di evento, viene attivato il trigger after insert.
  • Per ulteriori dettagli su altri modi per iscriversi visitare il link

Ok, quali sono gli altri casi d’uso per l’utilizzo di Platform Events?

Gli eventi della piattaforma non vengono utilizzati solo per uso esterno ma anche per quelli interni. ad es. pubblicazione all’interno della piattaforma Salesforce.

Per quanto tempo vengono conservati gli eventi della piattaforma?

I messaggi degli eventi della piattaforma vengono archiviati per 24 ore . È possibile recuperare i messaggi di eventi passati quando si utilizzano i client CometD per iscriversi a un canale.

Bene finora … Quali sono i punti da considerare quando si utilizzano gli eventi della piattaforma?

  • Sicurezza a livello di campo: gli eventi della piattaforma non sono visualizzabili nell’interfaccia utente di Salesforce e non sono modificabili, pertanto le autorizzazioni di sicurezza a livello di campo non si applicano.
  • Eliminazione permanente delle definizioni degli eventi: quando si elimina una definizione di evento, questa viene rimossa in modo permanente e non può essere ripristinata. Prima di eliminare la definizione dell’evento, eliminare i trigger associati. Anche gli eventi pubblicati che utilizzano la definizione vengono eliminati.
  • Schede: gli eventi della piattaforma non hanno una scheda associata perché non è possibile visualizzare i record degli eventi nell’interfaccia utente di Salesforce.
  • SOQL: non è possibile eseguire una query sulle notifiche degli eventi utilizzando SOQL.
  • Supporto della pagina senza record in Lightning App Builder: quando si crea una pagina di record in Lightning App Builder, gli eventi della piattaforma definiti vengono visualizzati nell’elenco di oggetti per la pagina. Tuttavia, non è possibile creare una pagina di record Lightning per gli eventi della piattaforma perché i record degli eventi non sono disponibili nell’interfaccia utente .
  • Gli eventi della piattaforma non sono supportati nelle organizzazioni Professional e Group Edition

Quali sono le differenze tra gli eventi della piattaforma e altri eventi di streaming?

Potresti chiederti che questo assomigli all’API di streaming, ma non è esattamente lo stesso. Bene, gli eventi della piattaforma sono simili agli eventi generici ma offrono più funzionalità. ad es. con eventi di piattaforma, è possibile pubblicare qualsiasi dato personalizzato. È possibile pubblicare e utilizzare gli eventi della piattaforma utilizzando Apex o un’API (REST / SOAP). Utilizzare essenzialmente gli eventi della piattaforma per:

  • Per inviare e ricevere dati di eventi personalizzati con uno schema predefinito
  • Per pubblicare o iscriversi agli eventi in Apex
  • Per la flessibilità di pubblicazione ed elaborazione di eventi all’interno e all’esterno della piattaforma Salesforce

Pochi punti più importanti:

  • È possibile recuperare eventi memorizzati nei client API CometD ma non in Apex . È possibile recuperare tutti gli eventi memorizzati oppure è possibile specificare l’ID di riproduzione di un evento come base per la parte recuperata degli eventi.
  • È possibile utilizzare il profilo e i set di autorizzazioni per controllare gli eventi della piattaforma
  • L’intestazione dell’API allOrNoneHeader viene ignorata quando si pubblicano eventi della piattaforma tramite l’API.
  • I metodi di database Apex setSavepoint () e rollback () non sono supportati con eventi di piattaforma.
  • Quando si pubblicano eventi della piattaforma, si applicano i limiti DML e altri limiti del regolatore Apex.

Infine, come vengono utilizzati gli eventi della piattaforma nel contesto di IOT?

Bene, tutti i dati in arrivo (ad es. Segnali da un dispositivo collegato come frigoriferi, smartphone, ecc.) Dai dispositivi IoT possono essere pubblicati sul bus degli eventi. Dal bus degli eventi, utilizzare Apex Trigger (o Processi) per portare i dati negli oggetti SFDC e intraprendere le azioni appropriate.

Prossimi passi:

Potresti leggere l’articolo Trailhead sugli eventi della piattaforma. Inoltre, potresti leggere la guida per gli sviluppatori degli eventi della piattaforma per i dettagli su come utilizzare gli eventi della piattaforma.

Riguardo a me:

Sono un amante appassionato di Salesforce.com come azienda e come la maggior parte dei prodotti SFDC. Ho 19 certificazioni e accreditamenti SFDC, tra cui certificazioni di sistemi e architetti applicativi e anche alcune delle certificazioni di prodotto (ad esempio Lightning di servizio sul campo, Specialista di e-mail marketing cloud, Specialista sociale di marketing cloud, Cloud di vendita, Cloud di servizio, Cloud comunitario, ecc.). Adoro lavorare come architetto e project manager in progetti di implementazione SFDC.