Serie di istruzioni sequenziali
Una serie di istruzioni sequenziali consente il raggruppamento di più messaggi singoli allo scopo di ottenere un risultato desiderato. Una serie di istruzioni sequenziali rappresenta una serie di messaggi correlati che presentano un ordine predefinito. Anche se i messaggi non devono essere esattamente gli stessi, è necessario che BizTalk Server li riceva in un ordine sequenziale.
Si supponga, ad esempio, che una società di vendita in linea riceva nuovi ordini da clienti diretti e da fornitori nell'arco della giornata. Tutti gli ordini ricevuti prima delle 14:00 devono essere inseriti nel magazzino in un unico batch e la sequenza di ricezione degli ordini deve essere mantenuta. Questa procedura consente di assegnare una priorità agli ordini ricevuti per primi nel caso in cui alcuni articoli non siano disponibili in magazzino. Quest'ordine batch viene creato riunendo tutti gli ordini del giorno in un unico file contenente informazioni sull'intestazione del batch. Alle 14:00 tutti gli ordini del giorno vengono inviati al magazzino per l'elaborazione. Tutti gli ordini ricevuti dopo le 14:00 vengono inseriti in un nuovo batch per l'elaborazione nel giorno successivo.
Lo scenario illustrato sopra è un esempio di processo di business in cui i messaggi in ingresso devono essere elaborati in base a una serie di istruzioni sequenziali I requisiti aziendali stabiliscono che tutti i singoli ordini ricevuti prima delle 14:00 di un giorno specifico devono essere raggruppati in un unico batch. Ciò richiede che il primo messaggio ricevuto determini l'avvio di una nuova istanza di orchestrazione e l'inizializzazione di un set di correlazioni. Tutti gli altri ordini ricevuti dello stesso tipo di messaggio verranno quindi inviati all'istanza di orchestrazione già in esecuzione. A tale scopo, posizionare una forma Listen (contenente una forma Receive e una forma Delay ) all'interno di una forma Loop . Dopo aver raggiunto il ritardo, il ciclo termina. Ciò consente di ricevere un numero indefinito di ordini nello stesso processo di business.
Implementazione di serie di istruzioni sequenziali
È possibile implementare serie di istruzioni sequenziali utilizzando il modello di struttura di messaggistica " di BizTalk Server basato su "ricezioni correlate sequenziali". Le ricezioni correlate sequenziali sono ricezioni correlate a ricezioni precedenti.
L'elaborazione basata su serie di istruzioni si verifica nei casi in cui i set di correlazioni per una ricezione vengono inizializzati da un'altra ricezione.
Per le ricezioni che richiedono l'elaborazione basata su serie di istruzioni si applicano le restrizioni seguenti:
I set di correlazioni che costituiscono un set di istruzioni sequenziali per una determinata ricezione devono essere inizializzati da una ricezione precedente.
La porta utilizzata per una ricezione che richiede l'elaborazione basata su serie di istruzioni sequenziali deve essere la stessa utilizzata per la ricezione che inizializza il set di istruzioni. Non sono supportate serie di istruzioni sequenziali su più porte.
I tipi di messaggio per una ricezione che richiede l'elaborazione basata su serie di istruzioni devono corrispondere al tipo di messaggio relativo alla ricezione che inizializza il set di istruzioni in serie, a meno che l'istruzione di ricezione non venga eseguita su una porta di recapito ordinato.
Tutte le ricezioni che partecipano a una serie di istruzioni sequenziali devono seguire tutti i set di correlazioni che vengono inizializzati (o seguiti) dalla ricezione che esegue l'inizializzazione, a meno che non venga utilizzata una porta di recapito ordinato.
Se una serie di istruzioni sequenziali viene inizializzata da un'istruzione di attivazione della ricezione, tale istruzione non può contenere un'espressione di filtro, a meno che non venga eseguita su una porta di recapito ordinato.
Se una serie di istruzioni sequenziali viene inizializzata da un'istruzione di attivazione della ricezione, le ricezioni successive non possono essere incluse in un'orchestrazione nidificata.
Per un esempio di implementazione sequenziale del convoglio, vedere Aggregator (BizTalk Server Sample).