Algorithme de format de périphérique

L'algorithme de format de périphérique est utilisé pour déterminer le JSP approprié à utiliser comme réponse pour une demande particulière. Lorsqu'une demande est reçue et que le mappeur de message est utilisé pour convertir la demande en objet CommandProperty, le mappeur et l'adaptateur de message utilisés pour traiter la demande déterminent le format de périphérique approprié pour générer le contenu de la réponse. L'ID du mappeur de message est ajouté à l'ID de format de périphérique de l'adaptateur pour déterminer l'ID de format global de la réponse.

L'ID de format global du périphérique et VIEWNAME sont utilisés pour obtenir le JSP approprié à partir du fichier de configuration Struts, qui génère le contenu de la réponse.

Chaque adaptateur acceptant les demandes et utilisant le mappeur de message reçoit un ID de format de périphérique. Cet ID de défini dans le HCL Commercefichier de configuration. L'ID de format de périphérique par défaut pour chaque périphérique récepteur utilisant le mappeur de message se trouve dans des intervalles de -10000 comme suit.

Adaptateur de programme pour XML sur HTTP
Le format du périphérique est -10000.
Adaptateur de programme pour XML sur IBM MQ
Le format du périphérique est -20000.
Adaptateur de programme pour les messages hérités
Le format du périphérique est -30000.

Pour déterminer le JSP et l'instruction de visualisation appropriés pour appeler le JSP, l'ID du mappeur de message (tel que défini dans la rubrique Mappeurs de message) est ajouté à l'ID de format de périphérique de l'adaptateur pour déterminer l'ID de format de périphérique pour l'affichage de réponse. Par exemple, un message XML prédéfini sur la requête HTTP passe par HTTP, le message utilise l'ID de mappeur de message -1 (WCS.INTEGRATION). Le message utilise le mappeur de message pour appeler une commande. Si une réponse est requise, la commande est réacheminée vers une vue OK ou une vue ERROR. Étant donné que l'ID de format de périphérique de base est -10000 et que l'ID de messagemapper est -1, l'ID de format de périphérique requis pour être défini sera -10001. (Il s'agit de l'ID de format de périphérique plus l'ID de mappeur de message.) La vue OK ou ERROR définie dans le fichier de configuration Struts aura l'ID de format de périphérique -10001. Si l'affichage de cet ID de format de périphérique -10001 ne peut pas être trouvé, l'ID de format de périphérique par défaut sera utilisé. Dans ce cas, un XML sur la requête HTTP, l'ID de format de périphérique par défaut -10000 sera utilisé. Pour les demandes d'adaptateur IBM MQ, l'ID de format de périphérique par défaut est -20000.

Le nom de l'interface et le nom de classe sont différents pour chaque type de périphérique. Une réponse HTTP utilisera l'interface com.ibm.commerce.command.ForwardViewCommand avec le nom de classe com.ibm.commerce.command.HttpForwardViewCommandImpl. La réponse de l'adaptateur IBM MQ utilisera l'interface com.ibm.commerce.messaging. viewcommands.MessagingViewCommand et la classe com.ibm.commerce.messaging. viewcommands.MessagingViewCommandImpl.

Cet algorithme permet de définir un nombre maximum de 9999 mappeurs de message possibles avec un seul adaptateur. Le fichier de configuration de chaque mappeur de message contient un numéro d'ID dans des intervalles de 1. Pour configurer des adaptateurs supplémentaires qui utilisent le mappeur de message, le mappeur de message doit recevoir un ID de format de périphérique correspondant à un intervalle de 10000. Par exemple, un nouveau mécanisme de demande peut recevoir un intervalle de format de périphérique de 40000.

Remarques :

  1. Si l'ID de format de périphérique calculé ne peut pas être trouvé, l'ID de format de périphérique par défaut de l'adaptateur est utilisé pour obtenir le résultat. Ce numéro est configurable dans la configuration de l'adaptateur HTTP.
  2. La taille de l'intervalle n'est pas importante. Par exemple, si seulement 2 mappeurs de message existent, alors l'intervalle peut être de taille 3. L'intervalle 10000 est utilisé par défaut.

Exemples

  1. Un message entrant est géré par un mappeur de message avec un ID -1 et par l'adaptateur de programme qui a un ID de format de périphérique de -10000. Après l'algorithme de format de périphérique, l'ID de format de périphérique généré pour une réponse à ce message entrant serait -10001. Le fichier JSP défini dans le fichier de configuration Struts pour VIEWNAME et l'ID de format de périphérique -10001 est utilisé pour créer la réponse.
  2. Alternativement, un message entrant est géré par le même mappeur de message avec l'ID -1, mais est géré par l'adaptateur IBM MQ, qui a un ID de format de périphérique de -20000. L'ID de format de périphérique généré pour la réponse à ce message serait -20001. Ainsi, le fichier JSP défini dans le fichier de configuration Struts pour VIEWNAME et l'ID de format de périphérique -20001 est utilisé pour créer la réponse. Notez que 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 différer.