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.