Exemple Demi-flux: Consommation d'un service

Ce 2nd exemple illustre la consommation plus classique d’un service par le système A. Ce service nécessite des informations provenant des systèmes B et C.

Que faire ? Publier un message au format de B et le transformer en C ? l’inverse ? Que se passera-t-il lorsque le format de B évoluera ? Si le système C n’est pas pérenne, comment minimiser les efforts et préparer l’avenir ?  

Le contrat de service doit être exposé au format pivot. Il n’est donc pas spécifique à B ou à C. Ce service est considéré comme nouveau, appelé D. Il portera sa version 1.0. Il encapsulera les changements des services B et C. Chacun possédant déjà leur propre version.



La route comporte ainsi 3 demi-flux:

  1. Un demi-flux exposant le contrat de service D, de l’interprétation au routage vers B et C.
  2. Un demi-flux pour le contrat de service B
  3. Un demi-flux pour le contrat de service C.
Il y a donc 3 services proposés par le bus: le service D mais aussi le service B et C qui se retrouvent de facto avec des interfaces au format pivot. La gouvernance SOA devra alors déterminer si ceux-ci doivent être rendus publiques.