Utilizzo di eventi e timeout nei processi BPEL
I servizi Web asincroni di solito impiegano molto tempo per restituire una risposta e, di conseguenza, un componente del servizio del processo BPEL deve essere in grado di scadere, o rinunciare ad aspettare, e continuare con il resto del flusso dopo un certo periodo di tempo. È possibile utilizzare l'attività di prelievo per configurare un flusso BPEL per attendere un periodo di tempo specificato o per continuare a svolgere i suoi compiti. Per impostare un periodo di scadenza per il tempo, è possibile utilizzare l'attività di attesa. Per gestire i messaggi, gli eventi possono essere utilizzati in particolare quando il processo aziendale è in attesa di richiamate dai servizi Web dei partner.
Eventi
BPEL supporta due tipi di eventi:
Eventi messaggio
Questi eventi vengono attivati dai messaggi in arrivo tramite il richiamo dell'operazione sui tipi di porta.
Eventi di allarme
Questi eventi sono legati al tempo e vengono attivati dopo una certa durata o in un momento specifico.
Spesso però è più utile attendere più di un messaggio, di cui solo uno si verificherà.
Gli eventi di allarme sono utili quando si desidera che il processo attenda una richiamata per un certo periodo di tempo, ad esempio 15 minuti.
Se non viene ricevuta alcuna richiamata, il flusso del processo continua come previsto.
Utile in architetture orientate ai servizi liberamente accoppiate, in cui non è possibile fare affidamento sul fatto che i servizi Web siano sempre disponibili.
Scegli attività
L'attività di prelievo ha 2 rami:
onMessage - il codice su questo ramo è uguale al codice per ricevere una risposta prima che fosse aggiunto un timeout.
onAlarm - questa condizione ha un codice per un timeout di un minuto.
Aspetta attività
L'attività di attesa consente a un processo di attendere per un determinato periodo di tempo o fino al raggiungimento di un limite di tempo. È necessario specificare esattamente uno dei criteri di scadenza.