Models
Questo pacchetto serve per avere disponibili i modelli utilizzati da un Flowlyze Adapter.
L'id del pacchetto è Ipaas.Adapter.Models
.
Per l'installazione ricordarsi di specificare la sorgente locale dei pacchetti nuget come da documentazione.
Per scaricare il pacchetto, cliccare qui;
Egress
Attualmente l'unico vincolo progettuale per un adapter si ha quando si vuole creare un flusso di tipo Egress. Gli Egress sono i flussi che vengono eseguiti in uscita grazue al quale il flusso è in grado di inviare dati ad un sistema esterno.
Un egress è semplicemente un ednpoint che accetta dati in ingresso e li elabora e restituisce una determinata risposta.
In particolare in ingresso c'è bisogno di un oggetto di tipo EgressRequest<T>
che contiene i dati inviati da Flowlyze verso l'adapter e in uscita dovrà restituire un oggetto di tipo EgressResponse
.
EgressRequest<T>
Le proprie di questo oggetto sono le seguenti:
Action
: indica l'azione da eseguireRequestId
: l'id della richiesta passato da FlowlyzeMessages
: una lista di messaggi di tipoMessageExecuteEnvelope<T>
MessageExecuteEnvelope<T>
Questa classe contiene effettivamente il dato inviato da Flowlyze con l'aggiunta di alcuni campi per l'identificazione dello stesso.
In particolare:
MsgId
: l'id univoco del messaggioMsg
: il dato inviatoSkip
: un flag che indica se il messaggio deve essere saltato o menoMeta
: un oggetto di tipoDictionary<string, object>
che contiene eventuali metadati del messaggio
Un metodo GetValue()
che restituisce l'oggetto di tipo T
del messaggio serializzato dalla proprietà Msg
che contiene un generico tipo object
.
EgressResponse
Questa classe rappresenta la risposta che l'adapter deve restituire ad Flowlyze.
Contiene le seguenti proprietà:
RequestId
: l'id della richiestaIsAsync
: indica se il messaggio deve essere processato in maniera asincronaMessages
: una lista di oggetti di tipoMessageStatusEnvelope
MessageStatusEnvelope
Questa classe contiene le informazioni relative alla risposta di un singolo messaggio.
Contiene le seguenti proprietà:
Status
: lo stato del messaggioDate
: la data in cui il messaggio è stato processatoErrorMessage
: un eventuale errore se il messaggio non è stato processato correttamenteMeta
: un oggetto di tipoDictionary<string, object>
che contiene eventuali metadati del messaggio