Stati dell'istanza del servizio
Durante l'elaborazione di un messaggio si verificano le seguenti azioni:
Nell'indirizzo di ricezione l'adapter di ricezione o il componente di trasporto riceve il messaggio da un'applicazione esterna e lo trasmette a BizTalk Server per l'elaborazione.
Nota
Un messaggio viene ricevuto dal sistema in diversi formati: XML, un file flat o come interscambio di dati elettronici (EDI) tra le aziende.
La pipeline di ricezione esegue la decrittografia, la decodifica e il disassemblaggio del messaggio.
Il motore di messaggistica trasmette il messaggio e le relative proprietà dei collegamenti, ad esempio il tipo e l'origine del messaggio, al database MessageBox.
Quando viene rilevata una sottoscrizione corrispondente, il messaggio viene elaborato secondo un set di schemi e mappe e talvolta di regole di business o criteri che risiedono nel server host.
Dopo l'elaborazione, il messaggio risultante viene scritto nel database MessageBox. Le proprietà dei collegamenti sono state modificate in modo da indicare la destinazione del messaggio, ad esempio quale porta di trasmissione utilizzare.
Le proprietà dei collegamenti del messaggio vengono valutate in base alle espressioni filtro definite per la porta di trasmissione e quindi il database MessageBox invia il messaggio alla porta di trasmissione appropriata.
Per consentire la trasmissione del messaggio è necessario soddisfare una sottoscrizione a una pipeline di trasmissione e/o porta di trasmissione. Il messaggio viene crittografato e trasmesso.
Ogni processo in questo ciclo genera il proprio set di eventi.
Durante l'elaborazione dei messaggi trasmessi tramite BizTalk Server, le istanze del servizio (porte di ricezione, orchestrazioni e porte di trasmissione) possono trovarsi in numerosi stati. In questa sezione vengono esaminati tali stati e vengono illustrati alcuni esempi di stati in momenti diversi del ciclo di vita.
Stati dell'istanza del servizio
Nella tabella seguente sono riportati gli stati possibili di un'istanza del servizio, con una spiegazione di ognuno di essi.
State | Spiegazione |
---|---|
In Punto di interruzione | Un'orchestrazione attiva raggiunge un punto di interruzione, impostato in genere da uno sviluppatore di soluzioni BizTalk Server. Questo stato è valido solo per le orchestrazioni. |
Pronto per l'esecuzione | Un'istanza del servizio è stata attivata ma non è ancora in esecuzione, in genere a causa dell'indisponibilità temporanea di risorse, ad esempio un notevole carico di elaborazione sul server. |
Attivo | Istanza del servizio in esecuzione. |
Disidratato | Lo stato dell'istanza persiste nel database MessageBox e nessun servizio Windows sta eseguendo quell'istanza. |
Completato con messaggi ignorati | L'istanza del servizio è stata completata, ma alcuni messaggi non sono stati utilizzati. |
Sospeso (può essere ripristinato) | L'istanza è sospesa ed è possibile ripristinarla. Importante: La ripresa di un'istanza di messaggistica eseguirà le operazioni seguenti:
Si noti che quando si sospende e quindi si riprende un'istanza pianificata, quest'ultima entra in uno stato disidradato. |
Sospeso (non può essere ripristinato) | L'istanza è sospesa, ma non è possibile ripristinarla. È possibile salvare i messaggi a cui fa riferimento l'istanza e quindi terminarla. Si noti che quando si sospende e quindi si riprende un'istanza pianificata, quest'ultima entra in uno stato disidradato. |
Sospensione in sospeso/terminazione in sospeso | Uno stato non indipendente. Può essere combinato con altri stati. È stato inviato un messaggio di controllo di sospensione o terminazione all'istanza del servizio, ma il messaggio non è stato ancora prelevato dall'istanza. È ammessa una sola operazione in sospeso alla volta. Quando un'istanza con un'operazione in sospeso diviene disidratata, è possibile terminarla. |
Stati dell'istanza del servizio rilevati
Nella tabella seguente sono riportati gli stati di rilevamento delle istanze del servizio, con una spiegazione per ognuno di essi.
State | Spiegazione |
---|---|
Avviato | Qualsiasi istanza del servizio attualmente presente nel MessageBox, ad esempio, con lo stato Sospeso (può essere ripristinato) o Nel punto di interruzione, viene visualizzata come Avviato nel database di rilevamento BizTalk. |
Operazione completata | L'elaborazione dell'istanza del servizio è stata completata correttamente. |
Terminato | L'istanza del servizio è stata terminata. |
Stati dei messaggi
Nella tabella seguente sono riportati gli stati di un messaggio, con una spiegazione per ognuno di essi.
State | Spiegazione |
---|---|
Consumato | Il messaggio viene elaborato da un'istanza del servizio. |
In Processo | Il messaggio è stato recapitato al motore ed è in corso di elaborazione. È in memoria. |
Queued | Lo stato Accodato comprende gli stati delle istanze Accodato (in attesa di elaborazione), Accodato (pianificato per il recapito in un secondo momento) e Accodato (in attesa di un nuovo tentativo). |
Accodato (in attesa di elaborazione) | Il messaggio è in uno scenario di recapito ordinato mentre è in corso il tentativo di invio di un messaggio precedente da parte della porta di trasmissione del recapito ordinato. |
Accodato (pianificato per il recapito in un secondo momento) | Il messaggio è in attesa di essere inviato da una porta di trasmissione per la quale è impostata una finestra del servizio. |
Accodato (in attesa di un nuovo tentativo) | Il messaggio è associato a una porta di trasmissione che tenta di rinviarlo poiché l'URI di destinazione non è disponibile. |
Sospeso | Lo stato Sospeso comprende gli stati delle istanza Sospeso (può essere ripristinato) e Sospeso (non può essere ripristinato). |
Sospeso (può essere ripristinato) | L'istanza del servizio associata al messaggio è sospesa e può essere ripristinata. Quando si ripristina un'istanza di messaggistica, avviene quanto segue: - Riprendere l'istanza di messaggistica. - Inviare il messaggio alla porta di invio. - La porta di invio recapita il messaggio alla destinazione; anche se la porta di invio non è in uno stato Avviato. |
Sospeso (non può essere ripristinato) | L'istanza del servizio associata al messaggio è sospesa e non può essere ripristinata. |
Stati dell'istanza prima e dopo un'operazione
Nella tabella seguente vengono illustrati gli stati prima e dopo un'operazione.
Nota
Gli stati iniziali e finali vengono visualizzati in grassetto nella colonna di sinistra e nella riga superiore. L'operazione viene visualizzata nel corpo della tabella.
Stato iniziale | Nuovo stato applicato dopo l'operazione | ||||||
---|---|---|---|---|---|---|---|
In Punto di interruzione | Attivo | Disidratato | Sospeso | Terminato | Terminazione in sospeso | Sospensione in sospeso | |
In Punto di interruzione | Associazione da debugger | Continuazione da debugger | Arresto del servizio Windows | Terminate | Sospendi | ||
Nel punto di interruzione (Disidratato) | Associazione da debugger | Continuazione da debugger | Arresto del servizio Windows | Sospendi | Terminate | ||
Pronto per l'esecuzione | Sospendi | Terminate | |||||
Pianificate | Il runtime preleva l'istanza perché sono state avviate le finestre del servizio | ||||||
Attivo | Arresto del servizio Windows | Terminate | Sospendi | ||||
Disidratato | Il runtime preleva l'istanza | Arresto del servizio Windows | Sospendi | Terminate | |||
Sospeso (può essere ripristinato) | Ripresa nel punto di interruzione dal debugger | Riprendi | Terminate | ||||
Sospeso (non può essere ripristinato) | Terminate | ||||||
Terminata con messaggi non utilizzati | Terminate | ||||||
Sospensione in sospeso | È possibile tentare l'associazione ma non dovrebbe riuscire | Arresto del servizio Windows | Richiesta elaborata | La terminazione funziona solo quando l'istanza è disidratata | |||
Terminazione in sospeso | È possibile tentare l'associazione ma non dovrebbe riuscire | Arresto del servizio Windows. L'istanza viene disidratata | Richiesta elaborata o istanza disidratata |
Stati dell'istanza durante un'operazione
Nella tabella seguente sono illustrate le modifiche apportate allo stato quando il sistema esegue un'operazione su un'istanza.
Stato iniziale | Operazione | |||||
---|---|---|---|---|---|---|
Terminate. | Sospendi | Riprendi | Ripresa nel punto di interruzione | Continua | Attach | |
In Punto di interruzione | Terminato | Suspended | Attivo | Nel punto di interruzione | ||
Nel punto di interruzione (Disidratato) | Terminato | Suspended | Attivo | Nel punto di interruzione | ||
Pronto per l'esecuzione | Terminato | Suspended | ||||
Pianificate | Terminato | Suspended | ||||
Attivo | Terminato | Suspended | ||||
Disidratato | Terminato | Suspended | ||||
Sospeso (può essere ripristinato) | Terminato | Attivo | Nel punto di interruzione | |||
Sospeso (non può essere ripristinato) | Terminato | |||||
Terminata con messaggi non utilizzati | Terminato | |||||
Sospensione in sospeso | Terminato, funziona solo quando l'istanza è disidratata | Race condition | ||||
Terminazione in sospeso | Terminato, funziona solo quando l'istanza è disidratata | Race condition |
Nota
Una race condition si verifica quando il sistema invia più messaggi di controllo all'istanza e l'ordine in cui l'istanza li elabora non è garantito.