Utilisation d'événements et de délais dans les processus BPEL

Les services Web asynchrones mettent généralement beaucoup de temps à renvoyer une réponse et, en tant que tel, un composant de service de processus BPEL doit pouvoir expirer ou abandonner l'attente et continuer avec le reste du flux après un certain temps. Vous pouvez utiliser l'activité de prélèvement pour configurer un flux BPEL pour qu'il attende pendant une durée spécifiée ou pour continuer à exécuter ses tâches. Pour définir une période d'expiration pour l'heure, vous pouvez utiliser l'activité d'attente. Pour gérer les messages, les événements peuvent être utilisés en particulier lorsque le processus métier attend des rappels des services Web partenaires.

Événements

BPEL prend en charge deux types d'événements -

Événements de message

Ces événements sont déclenchés par des messages entrants via l'appel d'opération sur les types de port.

Événements d'alarme

Ces événements sont liés au temps et sont déclenchés soit après une certaine durée, soit à un moment précis.

  • Souvent, cependant, il est plus utile d'attendre plus d'un message, dont un seul apparaîtra.

  • Les événements d'alarme sont utiles lorsque vous souhaitez que le processus attende un rappel pendant un certain temps, par exemple 15 minutes.

    • Si aucun rappel n'est reçu, le flux de processus continue comme prévu.

    • Utile dans les architectures orientées services faiblement couplées, où vous ne pouvez pas compter sur des services Web disponibles à tout moment.

Choisir une activité

L'activité pick a 2 branches -

  • onMessage - le code sur cette branche est égal au code de réception d'une réponse avant l'ajout d'un timeout.

  • onAlarm - cette condition a un code pour un timeout d'une minute.

Activité d'attente

L'activité d'attente permet à un processus d'attendre pendant une période donnée ou jusqu'à ce qu'une limite de temps soit atteinte. L'un des critères d'expiration doit être spécifié.