BPEL: uso de manejo de fallas
Para comprender cómo utilizar el manejo de fallas, necesitamos aprender la arquitectura básica de un Service Composite en Oracle SOA Suite.
Service components- Procesos BPEL, Regla de Negocio, Tarea Humana, Mediador. Se utilizan para construir una aplicación compuesta SOA.
Binding components - Establecer conexión entre un compuesto SOA y el mundo externo.
Services - Proporciona un punto de entrada a la aplicación compuesta SOA.
Binding - Define los protocolos que se comunican con el servicio como SOAP / HTTP, adaptador JCA, etc.
WSDL - Define la definición de servicio de un servicio web.
References - Permite que una aplicación compuesta SOA envíe mensajes a servicios externos
Wires - Habilita la conexión entre los componentes del servicio.
Tipos de fallas
Veamos ahora los diferentes tipos de fallas.
Fallos comerciales
Ocurre cuando la aplicación ejecuta la actividad THROW o una INVOCACIÓN recibe una falla como respuesta. El nombre de la falla lo especifica el componente de servicio de proceso BPEL. El manejador de fallas que usa el nombre de falla y la variable de falla detecta esta falla.
Fallos en tiempo de ejecución
Esto es lanzado por el sistema. Estas fallas están asociadas conRunTimeFaultMessage y están incluidos en
http://schemas.oracle.com/bpel/extensionnamespace.
Maneras de manejo de fallas
En esta sección, aprenderemos sobre las diferentes formas de manejo de fallas.
Actividad de lanzamiento
Lanzar actividad arroja explícitamente la culpa. El bloque de captura detecta esta falla y las acciones correspondientes se ejecutan de ese modo.
Al utilizar la actividad de lanzamiento, puede lanzar fallas comerciales y, dentro del alcance creado, puede detectar esta falla y redirigir a la persona que llama (consumidor) para que tome medidas.
En lugar del enfoque anterior, arroja la misma falla atrapada en la actividad de captura del alcance creado. En el ámbito principal, puede detectar este error utilizando la actividad de captura.
Marco de manejo de errores (EHF)
Los 2 archivos principales utilizados en EHF son:
- Fault-Policy.xml
- Fault-Bindings.xml
Siempre que el proceso BPEL arroja un error, la EHF verificará si el error existe en los archivos Fault-Bindings.xml. Si es así, se llevará a cabo la acción en el archivo Fault-Policy.xml. Si no se encuentra la acción, la falla se lanzará y se manejará en el bloque de captura.
El marco de gestión de fallas (Fault-Policy.xml y Fault-Bindings.xml) se mantiene dentro de un compuesto SOA.
Los manejadores de fallas como catch y catchall están dentro de un BPEL para detectar todas las fallas, pero fault policies will only be executed when an invoke activity fails.