Adattatore di File

L'adapter File trasferisce i file all'interno e all'esterno di Microsoft BizTalk Server. L'adapter File è costituito da due adattatori, ovvero un adattatore di ricezione e un adattatore di trasmissione.

In questa sezione viene illustrato il flusso di lavoro e il supporto in batch sia per l'adapter di ricezione file che per l'adapter di trasmissione file.

Adapter 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 dal file, l'adattatore blocca il file per assicurarsi che non sia possibile apportare modifiche al contenuto del file.

Annotazioni

L'adattatore di ricezione file non preleva file di sola lettura o file di sistema. Per migliorare le prestazioni, assicurarsi di avere la maschera file che non include questi file.

L'adapter di ricezione file legge i messaggi dai file nei file system locali o nelle condivisioni di rete. Quando il percorso specificato in una condivisione di rete non è disponibile a causa di problemi di rete, la scheda di ricezione ritenta l'operazione di lettura (il numero di tentativi è configurabile nella console di amministrazione di BizTalk Server). Dopo che il messaggio è stato letto e accettato correttamente dal motore di messaggistica BizTalk, la scheda di ricezione elimina il file dal file system o dalla condivisione di rete. Se il messaggio è stato letto ma la pipeline non ha elaborato correttamente il messaggio, l'adapter inserisce il messaggio nella coda sospesa e quindi elimina il file dal file system o dalla condivisione di rete. Se l'adapter di ricezione file non può inviare o sospendere il messaggio al database MessageBox, non elimina il file originale dal file system o dalla condivisione di rete.

È anche possibile configurare l'adapter di ricezione file per rinominare i file durante l'elaborazione. È consigliabile rinominare i file per assicurarsi che l'adapter di ricezione non generi messaggi duplicati se il percorso di ricezione viene arrestato e riavviato. Si tratta di un'opzione configurabile per i percorsi di ricezione file. Per impostazione predefinita, la ridenominazione è disabilitata. Quando la ridenominazione è abilitata, l'adapter di ricezione file aggiunge l'estensione .BTS-WIP al file. L'adattatore di ricezione legge quindi i messaggi dal file rinominato nel percorso di ricezione e lo invia al server. Dopo che l'adattatore di ricezione ha inviato con successo un file, l'adattatore di ricezione elimina il file rinominato dal file system o dalla condivisione di rete. Se un messaggio è stato letto ma non è riuscito nell'elaborazione nella pipeline, l'adattatore di ricezione inserisce il messaggio nella coda sospesa del database MessageBox ed elimina il file rinominato dalla condivisione di rete.

Annotazioni

La ridenominazione dei file non ha alcun impatto sulle prestazioni.

Se l'adattatore di ricezione file legge correttamente il messaggio ma non lo archivia correttamente nel database MessageBox, allora il file rinominato torna al nome originale, senza l'estensione .BTS-WIP. Si noti che l'adapter di ricezione non legge i file con l'estensione .BTS-WIP se l'opzione di ridenominazione è attivata.

Uso delle notifiche di modifica dei file e del polling

L'adattatore di ricezione file si basa su Notifiche di modifica file di Windows per determinare quando prelevare un file dalla directory o dalla condivisione specificata. Se l'adapter di ricezione file riceve una notifica di modifica file di Windows prima che il file sia stato scritto completamente nella directory o nella condivisione specificata, il file verrà bloccato e l'adapter di ricezione file non recupererà il file. 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 una risorsa condivisa, recupera i file sbloccati dalla risorsa e invia i file al database MessageBox.

Annotazioni

L'adattatore file BizTalk Server è stato testato solo su ed è supportato nel file system NTFS.

Le seguenti notifiche di modifica del file di Windows causeranno all'adattatore di ricezione file di prelevare un file dal percorso specificato.

FILE_NOTIFY_CHANGE_ATTRIBUTES

Qualsiasi modifica dell'attributo nella directory o nel sottoalbero watched causa la restituzione di un'operazione di attesa delle notifiche di modifica.

FILE_NOTIFY_CHANGE_FILE_NAME

Qualsiasi modifica del nome file nella directory o nel sottoalbero sorvegliata causa la restituzione di un'operazione di attesa per la notifica di modifica. Le modifiche includono la ridenominazione, la creazione o l'eliminazione di un nome file.

FILE_NOTIFY_CHANGE_SIZE

Una modifica delle dimensioni dei file nella directory o nel sottoalbero monitorata provoca il ritorno di un'operazione di attesa di notifica delle modifiche. Il sistema operativo rileva una modifica delle dimensioni del file solo quando il file viene scritto sul disco. Per i sistemi operativi che usano una memorizzazione nella cache estesa, il rilevamento si verifica solo quando la cache è sufficientemente scaricata.

FILE_NOTIFY_CHANGE_LAST_WRITE

Qualsiasi modifica apportata all'ultima fase di scrittura dei file nella directory o nel sottoalbero watched fa sì che venga restituita un'operazione di attesa delle notifiche di modifica. Il sistema operativo rileva una modifica all'ultima fase di scrittura solo quando il file viene scritto sul disco. Per i sistemi operativi che usano una memorizzazione nella cache estesa, il rilevamento si verifica solo quando la cache è sufficientemente scaricata.

Per altre informazioni sulla funzione FindFirstChangeNotification , vedere https://msdn.microsoft.com/library/windows/desktop/aa364417(v=vs.85).aspx.

Supporto per il batching dell'adapter di ricezione file

L'adapter di ricezione file invia messaggi al server in batch. L'adattatore di ricezione file inizia creando un singolo batch per ogni percorso di ricezione raccogliendo tutti i file leggibili disponibili nel percorso di ricezione. I batch vengono inviati al database MessageBox dall'adattatore di ricezione quando tutti i file disponibili sono stati raccolti o quando la quantità di file raccolti supera le dimensioni massime del batch.

Dopo che tutti i messaggi sono stati letti e inviati correttamente nel database MessageBox, l'adattatore di ricezione file elimina i file corrispondenti dalla posizione di ricezione. Se alcuni messaggi all'interno del batch non sono stati elaborati, l'adapter di ricezione file li sospende ed elimina i file corrispondenti dal percorso 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 nel percorso di ricezione.

Adattatore di trasmissione file

L'adapter di trasmissione file trasmette messaggi dal database MessageBox a un indirizzo di destinazione specificato (URL). Si definisce l'URL, ovvero un percorso di file e un nome di file, usando caratteri jolly correlati alle proprietà del contesto del messaggio. L'adattatore di invio file sostituisce i caratteri jolly con il nome file effettivo prima di scrivere il messaggio nel file.

Quando si scrive un messaggio in un file, l'adapter di invio File ottiene il contenuto del messaggio dal corpo del messaggio BizTalk. L'adapter di invio file ignora altre parti del messaggio nell'oggetto Messaggio BizTalk. Dopo che l'adapter File scrive il messaggio in un file, elimina il messaggio dal database MessageBox. L'adattatore file scrive i file nel file system direttamente o usando la cache del file system, che può migliorare le prestazioni, in particolare per i file di grandi dimensioni.

Supporto per l'invio in batch dell'adattatore di invio file

L'adattatore di invio file ottiene batch di messaggi dal database MessageBox e li scrive nei file nei percorsi di destinazione nel file system o nella condivisione di rete. Le dimensioni dei batch dell'adapter di trasmissione file non sono configurabili ed è preimpostato su 20. Se BizTalk Server non riesce a scrivere alcuni messaggi all'interno di un batch in file, il sistema invia nuovamente tali messaggi al database MessageBox per riprovare l'elaborazione. È possibile configurare l'intervallo di ripetizione dei tentativi e il numero di tentativi usando la console di amministrazione di BizTalk Server.

In questa sezione