adapter per file
L'adapter per file trasferisce i file in ingresso e in uscita da Microsoft BizTalk Server. L'adattatore file è costituito da due adattatori, ovvero un adattatore di ricezione e un adattatore di trasmissione.
In questa sezione viene illustrato il supporto per il flusso di lavoro e l'invio in batch per l'adapter di ricezione e l'adapter di trasmissione per file.
Adattatore di ricezione file
Usare l'adapter di ricezione file per leggere i messaggi dai file e inviarli al server. L'adapter di ricezione legge il file e crea un oggetto Messaggio BizTalk, in modo che BizTalk Server possa elaborare il messaggio. Durante la lettura del file l'adapter blocca il file per assicurarsi che non vengano apportate modifiche al contenuto.
Nota
L'adapter di ricezione FILE non preleva file di sistema o di sola lettura. Per migliorare le prestazioni, assicurarsi di avere una maschera di file che non include questi file.
L'adapter di ricezione FILE legge i messaggi da file disponibili su file system locali o in condivisioni di rete. Quando il percorso specificato in una condivisione di rete non è disponibile a causa di problemi di rete, l'adapter tenta di eseguire nuovamente l'operazione di lettura. Il numero di tentativi può essere configurato nella Console di amministrazione BizTalk Server. Una volta che il messaggio è stato letto e accettato dal motore di messaggistica di BizTalk, l'adapter di ricezione elimina il file dal file system o dalla condivisione di rete. Se il messaggio è stato letto ma non elaborato correttamente dalla pipeline, l'adapter inserisce il messaggio nella coda degli elementi sospesi e quindi elimina il file dal file system o dalla condivisione di rete. Se l'adapter di ricezione FILE non è in grado di inviare o di sospendere il messaggio nel database MessageBox, non elimina il file originale dal file system o dalla condivisione di rete.
È inoltre possibile configurare l'adapter di ricezione FILE in modo da rinominare i file durante l'elaborazione. È consigliabile rinominare i file per garantire che l'adapter di ricezione non generi messaggi duplicati se l'indirizzo di ricezione viene arrestato e riavviato. Si tratta di un'opzione configurabile per gli indirizzi di ricezione FILE. Per impostazione predefinita, la ridenominazione è disabilitata. Quando la ridenominazione è abilitata, l'adapter di ricezione FILE aggiunge al file l'estensione .BTS-WIP. L'adapter di ricezione legge quindi i messaggi dal file rinominato nell'indirizzo di ricezione e lo invia al server. Una volta inviato il file, l'adapter di ricezione elimina il file rinominato dal file system o dalla condivisione di rete. Se un messaggio è stato letto ma non elaborato nella pipeline, l'adapter di ricezione lo inserisce nella coda degli elementi sospesi del database MessageBox ed elimina il file rinominato dalla condivisione di rete.
Nota
La ridenominazione dei file non ha alcun impatto sulle prestazioni.
Se l'adapter di ricezione FILE legge il messaggio ma non lo archivia nel database MessageBox, viene ripristinato il nome originale del file rinominato, senza estensione .BTS-WIP. Tenere presente che l'adapter di ricezione non legge i file con estensione .BTS-WIP se l'opzione di ridenominazione è attivata.
Uso delle notifiche di modifica dei file e del polling
L'adapter di ricezione FILE si basa sulle notifiche di cambiamento file di Windows per determinare quando prelevare un file dalla directory o dalla condivisione specificata. Se l'adapter riceve una notifica di cambiamento file di Windows prima che il file sia completamente scritto nella directory o nella condivisione specificata, il file verrà bloccato e non verrà recuperato dall'adapter. In questo scenario, l'adapter di ricezione file eseguirà attivamente il polling della directory o della condivisione specificata all'intervallo di polling (ms) specificato nella finestra di dialogo Impostazioni avanzate disponibile durante la configurazione di un percorso di ricezione file. Quando l'adapter di ricezione FILE esegue il polling di una directory o di una condivisione, recupera i file sbloccati dalla condivisione e li invia al database MessageBox.
Nota
L'adattatore file BizTalk Server è stato testato solo su ed è supportato nel file system NTFS.
L'adapter di ricezione FILE preleverà un file dal percorso specificato in presenza delle seguenti notifiche di cambiamento file di Windows:
FILE_NOTIFY_CHANGE_ATTRIBUTES
In caso di modifica degli attributi nella directory o nel sottoalbero sotto osservazione verrà restituita un'operazione di attesa notifica di cambiamento.
FILE_NOTIFY_CHANGE_FILE_NAME
In caso di modifica del nome file nella directory o nel sottoalbero sotto osservazione verrà restituita un'operazione di attesa notifica di cambiamento. Le modifiche includono la ridenominazione, la creazione o l'eliminazione di un nome file.
FILE_NOTIFY_CHANGE_SIZE
In caso di modifica delle dimensioni del file nella directory o nel sottoalbero sotto osservazione verrà restituita un'operazione di attesa notifica di cambiamento. Il sistema operativo rileva una modifica nelle dimensioni del file solo quando il file viene scritto sul disco. Per i sistemi operativi che richiedono una completa memorizzazione nella cache, il rilevamento si verifica solo quando la cache viene sufficientemente scaricata.
FILE_NOTIFY_CHANGE_LAST_WRITE
In caso di modifica dell'ultima ora di scrittura di file nella directory o nel sottoalbero sotto osservazione verrà restituita un'operazione di attesa notifica di cambiamento. Il sistema operativo rileva una modifica all'ora dell'ultima scrittura solo quando il file viene scritto nel disco. Per i sistemi operativi che richiedono una completa memorizzazione nella cache, il rilevamento si verifica solo quando la cache viene sufficientemente scaricata.
Per altre informazioni sulla funzione FindFirstChangeNotification , vedere https://msdn.microsoft.com/library/windows/desktop/aa364417(v=vs.85).aspx.
Supporto batch per adapter di ricezione FILE
L'adapter di ricezione FILE invia i messaggi al server in batch. Inizialmente l'adapter di ricezione FILE crea un unico batch per ogni indirizzo di ricezione raccogliendo tutti i file leggibili e disponibili nell'indirizzo di ricezione. I batch vengono inviati al database MessageBox quando tutti i file disponibili sono stati raccolti o quando il numero di file raccolti è superiore alla dimensione massima del batch.
Dopo che i messaggi inclusi nel batch sono stati correttamente letti e inviati al database MessageBox, l'adapter di ricezione FILE elimina i file corrispondenti nell'indirizzo di ricezione. Se alcuni messaggi del batch non vengono elaborati, l'adapter di ricezione FILE li sospende ed elimina i file corrispondenti dall'indirizzo di ricezione. Se alcuni o tutti i messaggi non vengono archiviati nel database MessageBox, viene eseguito il rollback dell'intera operazione batch e tutti i file corrispondenti vengono lasciati invariati nell'indirizzo di ricezione.
Adapter di trasmissione FILE
L'adapter di trasmissione FILE trasmette i messaggi dal database MessageBox a un indirizzo di destinazione specificato (URL). Per definire l'URL, costituito da un percorso e da un nome file, vengono utilizzati i caratteri jolly correlati alle proprietà di contesto del messaggio. I caratteri jolly vengono risolti nel nome file effettivo prima di scrivere il messaggio nel file.
Durante la scrittura di un messaggio in un file, l'adapter di trasmissione FILE ottiene il contenuto del messaggio dalla parte del corpo dell'oggetto Messaggio di BizTalk. Le altre parti del messaggio dell'oggetto Messaggio di BizTalk vengono ignorate. Dopo che il messaggio viene scritto in un file, l'adapter FILE lo elimina dal database MessageBox. L'adapter FILE scrive i file nel file system sia direttamente che tramite la cache del file system, ottimizzando in tal modo le prestazioni, in particolare nel caso dei file grandi.
Supporto batch per adapter di trasmissione FILE
L'adapter di trasmissione FILE ottiene i batch di messaggi dal database MessageBox e li scrive nei file nei percorsi di destinazione del file system o della condivisione di rete. Le dimensioni dei batch dell'adapter di trasmissione per file non possono essere configurate e sono preimpostate su 20. Se alcuni dei messaggi di un batch non vengono scritti correttamente nei file da BizTalk Server, tali messaggi vengono inviati di nuovo dal sistema al database MessageBox per un nuovo tentativo di elaborazione. È possibile configurare l'intervallo tra tentativi e il numero di tentativi tramite la Console di amministrazione BizTalk.