Algorithme de format de l'unité

L'algorithme de format de l'unité sert à déterminer le JSP approprié pour répondre à une requête particulière. Quand on reçoit une requête et qu'on utilise le mappeur de message pour convertir la requête en objet CommandProperty, le mappeur et l'adaptateur de message utilisés pour traiter la requête déterminent le format d'unité approprié pour générer le contenu de la réponse. L'ID du mappeur de message s'ajoute à l'ID de format d'unité de l'adaptateur pour déterminer l'ID de format d'unité général de la réponse. Cet ID général de format d'unité et le nom de vue VIEWNAME servent à obtenir le JSP approprié dans la table VIEWREG, ce qui génère le contenu de la réponse.

Un ID de format d'unité est attribué à tous les adaptateurs qui acceptent des requêtes et utilisent le mappeur de message. Cet ID est défini dans le fichier de configuration nom_instance.xml de l'adaptateur. Cet ID est défini dans la configuration de l'adaptateur qui se trouve dans le dossier de configuration nom_instance.xml. L'ID de format d'unité par défaut pour tous les adaptateurs de réception qui utilisent le mappeur de message est un multiple de -10 000. Un adaptateur de programme a l'ID de format d'unité -10 000 et WebSphere MQ Adapter a l'ID de format d'unité -20 000. L'adaptateur qui prend en charge les messages existants utilise l'ID de format d'unité -30 000. Au moment de déterminer le JSP approprié et l'instruction d'affichage pour appeler le JSP, l'ID de mappeur de message est ajouté à l'ID de format d'unité de l'adaptateur pour déterminer l'ID de format d'unité pour l'affichage de la réponse. Cependant, s'il n'y a pas d'affichage de l'ID de format d'unité calculé, on utilise l'affichage par défaut de l'intervalle de l'adaptateur. Par conséquent, pour une requête XML via HTTP, l'ID de format d'unité par défaut est -10 000, alors que pour les requêtes WebSphere MQ Adapter, l'ID de format d'unité par défaut est -20 000. Il est nécessaire de différencier l'affichage des réponses, de sorte qu'une réponse HTTP utilise l'interface HttpForwardViewCommand tandis qu'une réponse de WebSphere MQ Adapter utilisera l'interface MessagingViewCommand.

Cet algorithme permet de définir au plus 9 999 mappeurs de message possibles avec un adaptateur. Le fichier de configuration de chaque mappeur de message contient un ID numérique qui est un nombre entier. Pour configurer des adaptateurs supplémentaires qui utilisent le mappeur de message, il faut que l'ID de format d'unité soit un multiple de 10 000. Par exemple, un nouveau mécanisme de requête pourrait avoir un format d'unité multiple de 40 000. 

Remarques :

  1. Si l'ID de format d'unité calculé est introuvable, on utilise l'ID de format d'unité par défaut de l'adaptateur pour parvenir au résultat. Ce nombre est configurable dans la configuration de l'adaptateur HTTP.
  2. La valeur de l'intervalle n'est pas importante. Par exemple, s'il n'y a que deux mappeurs de message, l'intervalle peut avoir une valeur de 3. On utilise l'intervalle 10 000 par défaut.

Exemples

  1. Un message entrant est traité par un mappeur de message avec un ID de -1 et par l'adaptateur de programme qui a un format d'unité de -10 000. Selon l'algorithme de format d'unité, l'ID de format d'unité -10 001 serait généré pour une réponse à ce message entrant. Le fichier JSP défini dans la table VIEWREG pour le VIEWNAME et l'ID de format d'unité -10 001 sont utilisés pour créer la réponse.
  2. Un message entrant peut également être traité par le même mappeur de message avec un ID de -1, ou par WebSphere MQ Adapter, qui a l'ID de format d'unité -20 000. L'ID du format d'unité généré pour la réponse à ce message est alors de -20 001. Ainsi, le fichier JSP défini dans la table VIEWREG pour VIEWNAME et l'ID de format d'unité -20 001 sont utilisés pour créer la réponse. Même si la requête peut utiliser le même JSP pour répondre à la requête, la classe utilisée pour appeler le JSP peut être différente.