webMethods ESB : Framework Publish-Subscribe avec routage dynamique

« 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”

  1. Bonjour,

    Je cherche à reproduire ce framework, auriez-vous de la disponibilité pour me le présenter ?

    Merci.

Les commentaires sont fermés.