Sei fasi, nessun intervento manuale
Tra l'ingresso e il sistema di destinazione ci sono sei fasi. Ognuna passa il proprio stato alla successiva, ognuna lascia una voce di journal — e nessuna richiede un intervento. Ciò che fallisce non blocca il resto del batch.
Esaminare l'ingresso e riservare i documenti
Il flusso esamina il canale di ingresso e prende al massimo cinque documenti per passaggio. Ognuno viene riservato per 60 secondi tramite Blob Lease — è il regolatore automatico del traffico: due flussi paralleli non afferrano mai lo stesso documento, e se un flusso si interrompe il documento torna libero da solo alla scadenza.
Classificare, dividere, etichettare CLASSIFIER
Solo le prime pagine vanno al classificatore. Per ogni sottodocumento riconosciuto, le sue pagine vengono scritte come PDF separato nel container di output — in un percorso composto da nome del classificatore e tipo di documento — e corredate di due metadati: la categoria riconosciuta e la sua confidenza. In caso di successo, la sorgente viene rilasciata ed eliminata; nel frattempo il lease viene esteso attivamente, perché la classificazione può richiedere più tempo della sua durata.
Trovare il modello RECOGNIZER
L'estrazione si cerca il modello da sola: dal percorso di archiviazione legge il nome del classificatore, dai metadati Blob il tipo di documento — e sceglie così esattamente il modello di riconoscimento configurato per questa combinazione. Questo passaggio è il vero punto di consegna tra i moduli e il tema di Pagina 06. Cosa accade se per il tipo di documento riconosciuto non esiste un modello è descritto in Modello mancante.
Analizzare e mappare sui campi di destinazione
Il documento passa al motore del modello — estrazione dei campi tradizionalmente addestrata oppure un analyzer autorizzato da NexoGraph Document Processing. Campi e celle di tabella vengono mappati sui nomi dei campi di destinazione configurati e salvati come record di risultato; il JSON grezzo e l'originale finiscono nel container di analisi. Un hash del contenuto per documento funge da freno ai costi: se lo stesso contenuto ricompare, il risultato salvato viene riutilizzato invece di essere analizzato di nuovo.
Recapitare a tutte le destinazioni
Il risultato viene inviato contemporaneamente a tutti gli adapter endpoint registrati — gestione documentale e un numero qualsiasi di destinazioni REST, in modo paritario. Le destinazioni non configurate segnalano correttamente "saltato", gli errori prevedibili segnalano "fallito"; nessuno fa deragliare il flusso. Ogni adapter scrive il proprio livello di journal.
Concludere — o lasciare ripetibile
Documento e JSON di analisi finiscono in final/ — ma solo se nessuna destinazione contrassegnata come obbligatoria è fallita. In caso contrario, tutto resta in sospeso ed è ripetibile tramite POST /RetryEndpoint senza nuova analisi. La decisione sull'archiviazione la prende il flusso, non un singolo adapter.