Comment utiliser les transactions et les rollbacks dans une architecture SOA


Je travaille actuellement sur un projet SOA.

Je dois développer plusieurs chaînes de traitement, c'est-à-dire un web-services qui enchaîne les web-services à l'intérieur d'un ESB en Java.

Puisque chaque service Web à la chaîne peut lancer une exception différente, j'ai pensé à utiliser des transactions pour pouvoir annuler les comportements des services Web.

Cependant, je n'ai aucune idée si cela est même possible dans un environnement SOA lorsque chaque service est différent. J'ai cherché et trouvé quelques informations sur AtomicTransactions mais je ne suis pas sûr qu'elles puissent être utilisées pour résoudre mon problème.

Pour conclure, mes questions sont est-il réellement possible de restaurer les services? Et si oui, comment puis-je le configurer?

Merci d'avance.

Author: qbisson, 2014-01-22

2 answers

L'utilisation de transactions entre services n'est pas une bonne pratique car vous conservez des ressources pour des composants qui ne sont pas nécessairement dignes de confiance, de plus les processus de service sont généralement de longue durée (j'ai écrit à ce sujet plus dans "transactional-integration anti-pattern ".

Comme quelqu'un l'a mentionné dans un commentaire, je trouve que le " modèle saga " est un meilleur moyen de gérer ces interactions de longue durée

 9
Author: Arnon Rotem-Gal-Oz, 2014-01-24 20:20:51

Je trouve l'idée mauvaise, au mieux. SOA et transactions a toujours été un énorme mal de tête. Préconiser l'action inverse d'un ensemble de services peut également échouer! Qu'aimeriez-vous faire ensuite?

Je connais une société de médias très réputée au Royaume-Uni, qui dispose d'une équipe offshore dédiée, massant des données, en raison de défaillances d'orchestration sur les services Web, ce qui dérange l'esprit.

Enfin, avec les moteurs BPM OEM en tant qu'orchestrateurs, je pense qu'il pourrait y avoir une capacité sur laquelle s'appuyer pour une unité de Concept de travail. Cependant, ce sujet a été et est étonnamment toujours un problème.

 0
Author: Beezer, 2016-08-10 10:00:42