BPEL - Utilisation de la gestion des erreurs

Pour comprendre comment utiliser la gestion des pannes, nous devons apprendre l'architecture de base d'un Service Composite dans Oracle SOA Suite.

  • Service components- Processus BPEL, règle métier, tâche humaine, médiateur. Ceux-ci sont utilisés pour construire une application composite SOA.

  • Binding components - Établir une connexion entre un composite SOA et un monde externe.

  • Services - Fournit un point d'entrée à l'application composite SOA.

  • Binding - Définit les protocoles qui communiquent avec le service comme SOAP / HTTP, l'adaptateur JCA, etc.

  • WSDL - Définit la définition de service d'un service Web.

  • References - Permet à une application composite SOA d'envoyer des messages à des services externes

  • Wires - Permet la connexion entre les composants du service.

Types de défauts

Voyons maintenant les différents types de défauts.

Défauts commerciaux

Se produit lorsque l'application exécute une activité THROW ou qu'une INVOKE reçoit une erreur en réponse. Le nom de l'erreur est spécifié par le composant de service de processus BPEL. Le gestionnaire d'erreurs utilisant le nom de l'erreur et la variable d'erreur intercepte cette erreur.

Défauts d'exécution

Ceci est jeté par le système. Ces défauts sont associés àRunTimeFaultMessage et sont inclus dans

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

Moyens de gestion des pannes

Dans cette section, nous découvrirons les différentes méthodes de gestion des pannes.

Activité de lancer

Lancer l'activité jette explicitement la faute. Le bloc catch intercepte cette faute et les actions correspondantes sont exécutées de cette manière.

  • En utilisant l'activité de lancement, vous pouvez lancer des erreurs métier et dans la portée créée, vous pouvez attraper cette erreur et rediriger vers l'appelant (consommateur) pour qu'il agisse.

  • Au lieu de l'approche ci-dessus, vous lancez la même erreur interceptée dans l'activité de capture de la portée créée. Dans la portée principale, vous pouvez attraper cette faute en utilisant l'activité catchall.

Cadre de gestion des erreurs (EHF)

Les 2 principaux fichiers utilisés dans EHF sont -

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

Chaque fois que le processus BPEL génère une erreur, l'EHF vérifie si l'erreur existe dans les fichiers Fault-Bindings.xml. Si tel est le cas, l'action dans le fichier Fault-Policy.xml sera effectuée. Si l'action n'est pas trouvée, la faute sera lancée et elle sera traitée dans le bloc catch.

L'infrastructure de gestion des pannes (Fault-Policy.xml et Fault-Bindings.xml) est conservée dans un composite SOA.

Les gestionnaires de fautes comme catch et catchall sont à l'intérieur d'un BPEL pour attraper toutes les fautes, mais fault policies will only be executed when an invoke activity fails.