BPEL - Utilizzo della gestione dei guasti

Per capire come utilizzare la gestione dei guasti, dobbiamo apprendere l'architettura di base di un Service Composite in Oracle SOA Suite.

  • Service components- Processi BPEL, Regola aziendale, Attività umana, Mediatore. Questi sono usati per costruire un'applicazione composita SOA.

  • Binding components - Stabilire una connessione tra un composito SOA e il mondo esterno.

  • Services - Fornisce un punto di ingresso per l'applicazione composita SOA.

  • Binding - Definisce i protocolli che comunicano con il servizio come SOAP / HTTP, adattatore JCA, ecc.

  • WSDL - Definisce la definizione del servizio di un servizio web.

  • References - Consente a un'applicazione composita SOA di inviare messaggi a servizi esterni

  • Wires - Consente la connessione tra i componenti del servizio.

Tipi di guasti

Vediamo ora i diversi tipi di guasti.

Difetti aziendali

Si verifica quando l'applicazione esegue un'attività THROW o un INVOKE riceve un errore come risposta. Il nome dell'errore è specificato dal componente del servizio del processo BPEL. Il gestore degli errori che utilizza il nome dell'errore e la variabile Fault rileva questo errore.

Errori di runtime

Questo viene lanciato dal sistema. Questi difetti sono associati aRunTimeFaultMessage e sono inclusi in

http://schemas.oracle.com/bpel/extensionnamespace.

Modalità di gestione dei guasti

In questa sezione apprenderemo i diversi modi di gestione dei guasti.

Lancia attività

L'attività di lancio genera esplicitamente l'errore. Il blocco catch rileva questo errore e le azioni corrispondenti vengono eseguite in tal modo.

  • Utilizzando l'attività di lancio, è possibile lanciare errori aziendali e all'interno dell'ambito creato, è possibile rilevare questo errore e reindirizzare al chiamante (consumatore) per agire.

  • Invece dell'approccio precedente, lanci lo stesso errore catturato nell'attività di cattura dell'ambito creato. Nell'ambito principale, puoi rilevare questo errore utilizzando l'attività catchall.

Framework gestore degli errori (EHF)

I 2 file principali utilizzati in EHF sono:

  • Fault-Policy.xml
  • Fault-Bindings.xml

Ogni volta che il processo BPEL genera un errore, l'EHF controllerà se l'errore esiste nei file Fault-Bindings.xml. In tal caso, verrà eseguita l'azione nel file Fault-Policy.xml. Se l'azione non viene trovata, l'errore verrà lanciato e verrà gestito nel blocco catch.

Il framework di gestione dei guasti (Fault-Policy.xml e Fault-Bindings.xml) è mantenuto all'interno di un SOA Composite.

I gestori di errori come catch e catchall sono all'interno di un BPEL per rilevare tutti i difetti, ma fault policies will only be executed when an invoke activity fails.