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