« Comment un émetteur peut envoyer un message à une liste de récepteurs, liste mise à jour de manière dynamique (sans avoir à redéployer le flux) ? »
Dans cet article, je vous propose une implémentation webMethods ESB d’un framework Publish-Subscribe (1 vers N) avec un routage des messages aux différents destinataires administré dynamiquement via fichiers de propriétés.
L’idée ici sera de réaliser une démultiplication de chaque message envoyé par le Publisher vers les Subscribers.
Ce package sera nommé FwkDemultiplication (voir schéma ci-dessous).
Le focus de cet article sera porté par les actions entre la file Queue/FwkDemult et la file Queue/Destinatrice du framework de démultiplication.
Les packages Publisher et Subscriber étant des extractions ou intégrations simples.
Implémentation webMethods
1. Fichiers properties
Le fichier à reporter dans le package côté Publisher :
kTo=queue/Destinatrice kPartitionID=NAME_PARTITION_FILE
Le fichier à reporter dans le package côté Subscriber des noms de connexions créés dans webMethods :
wm.connection.1.*=Subscriber_A wm.connection.2.*=Subscriber_B wm.connection.3.*=Subscriber_C
2. Service FwkDemultiplicationService
Déclarer un trigger sur le chemin queue/fwkDemlut avec routing vers le service suivant :
3. Service demultMsg
Puis Map du kPartititionId afin de récupérer chaque nom de destinataires à attribuer dans le header de chaque message :
Ce champs servira à établir la « connection name » dans le package d’intégration (flux entre la file destinatrice et les subscribers).
Puis envoi dans la file destinatrice :
4. Remontée de KPI
MAP dans la LOOP du service dmultMsg avec num2 = 1 (kpi compteur) :
Puis MAP des compteurs et destinataires dans le service FwkDemultipliacationService :
Il ne reste donc plus qu’à dépiler la file Queue/Destinatrice vers la « connection name » de chacun de ses messages contenue dans le paramètre hearder/kPartitionKey. L’ajout dynamique des destinataires pourra donc se faire par la mise à jour des fichiers de propriétés des Subscribers et Publisher sans avoir à modifier ou redéployer l’un des packages du flux.
1 réflexion sur “webMethods ESB : Framework Publish-Subscribe avec routage dynamique”
Bonjour,
Je cherche à reproduire ce framework, auriez-vous de la disponibilité pour me le présenter ?
Merci.
Les commentaires sont fermés.