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