In questo articolo discutiamo le tipologie di dati complessi in Appian: un altro mattoncino basilare per sviluppare su piattaforma.
Appian permette una definizione di struttura dati rigida mediante i Custom Data Types mentre una definizione più flessibile mediante i dictionary o le map.
I Custom Data Types (CDT)
I CDT in Appian sono oggetti che permettono di definire strutture dati che rappresentano raggruppamenti logici di informazioni correlate.
Con i CDT in Appian possiamo:
- Definizione di modelli dati complessi riutilizzabili in varie applicazioni e processi.
- Facilitazione dell’integrazione con sistemi esterni attraverso il mapping automatico dei campi dati.
- Supporto alla conservazione e recupero di dati strutturati.
- Utilizzo nei moduli dinamici, per creare form che si adattano ai dati sottostanti.
I CDT sono una componente essenziale per costruire applicazioni robuste e scalabili in Appian, migliorando la gestione e l’integrazione dei dati per l’automazione dei processi di business.
Possiamo vedere i CDT come una forma “forte” di tipo per un oggetto, ma Appian prevede diverse forme di struttura che contengono informazioni, ovvero :
- CDT
- Dictionary
- Map
Dictionary e Map
I dictionary e le map (come i CDT) sono oggetti che permettono di rappresentare un insieme di oggetti strutturati come chiave-valore che possono essere visti come una collezione di elementi dove ogni chiave è associata a un valore unico.
Ecco un esempio di codice per ottenere una mappa di oggetti:
load(
local!mappa: a!map(
chiave1: "Valore 1",
chiave2: "Valore 2",
chiave3: 123,
chiave4: true
/* a seguire è un dizionario*/
{
/*Accesso ai valori */
local!mappa.chiave1, /* restituisce il valore 1 */
local!mappa.chiave3, /* restituisce 123 */
}
)
Il dizionario si ottiene direttamente da SAIL con la sintassi {…} (un esempio è /* a seguire è un dizionario*/) mentre per la map bisogna utilizzare la funzione a!map. Considera inoltre che i modelli di processo non supportano il tipo Dictionary.
Le differenze
La differenza principale tra un dictionary e le map è che all’interno di una map, ogni chiave è associata a un valore e il tipo di quel valore viene mantenuto. I valori memorizzati in una mappa non vengono incapsulati in varianti, mentre un dictionary incapsula ogni valore in un tipo AnyType (variant): di conseguenza con le map non bisogna preoccuparsi del type casting.
Il dizionario si ottiene direttamente da SAIL con la sintassi {…} mentre per la map bisogna utilizzare la funzione a!map. Considera inoltre che i modelli di processo non supportano il tipo Dictionary.