Objectif(s)
  1. Réduire l'adhérence des cycles de vie des contrats entre producteur et consommateur.
Cible(s) 
Couverture


Chaque service exposé par l'entreprise répond à un contrat de services partagé par N consommateurs.


actor "Consommateur A"
actor "Consommateur B"


interface "Service exposé"
node "Bus de Services" {
	component "Médiation"
}

interface "Service proposé"
component Producteur


:Consommateur A: --> [Service exposé]
:Consommateur B: --> [Service exposé]
[Service exposé] - [Médiation]
[Médiation] .r.> [Service proposé]
[Service proposé] - Producteur


Les consommateurs évoluent à des rythmes différents du Producteur. Chacun évolue suivant des contraintes variées telles que de nouvelles fonctionnalités, l 'ajout de capacité, le changement technologie, les mises à jour, la modification des règles de sécurité, etc.

Les changements du Producteur de Services ne doivent pas impacter les Consommateurs de ses Services.

 

Version de Services ou API


Le bus de Services exposent donc plusieurs versions, ie celles utilisées, d’un service afin de casser cette adhérence de rythme. Il est en charge d'apporter les compléments et les transformations nécessaires pour appeler la dernière version du service applicatif.


actor "Consommateur A"
actor "Consommateur B"


interface "Service exposé v1"
interface "Service exposé v2"
node "Bus de Services" {
	component "Médiation v1"
	component "Médiation v2"
}

interface "Service proposé v2"
component Producteur


:Consommateur A: -d-> [Service exposé v1]
:Consommateur B: -d-> [Service exposé v2]
[Service exposé v1] - [Médiation v1]
[Service exposé v2] - [Médiation v2]
[Médiation v2] .r.> [Service proposé v2]
[Médiation v1] .d.> [Médiation v2]
[Service proposé v2] - Producteur