Création du flux de requêtes

Création du flux de requêtes pour l'opération getQuote : définition des primitives de médiation et de leurs propriétés et connexion du flux

Lorsque vous connectez les opérations source et cible, un flux de requêtes et un flux de réponses sont créés pour chaque opération source connectée. Sélectionnez l'opération source pour afficher le flux de requêtes. Le flux est représenté de gauche à droite. Un noeud d'entrée s'affiche sur la gauche. C'est à partir de cet emplacement que le message de demande entre dans le flux. Deux noeuds de sortie (callout), un pour chaque opération cible, apparaissent sur la droite. Vous allez ajouter des primitives de médiation entre les noeuds et connecter le flux. Le flux de requêtes réalisé est présenté ci-dessous.
Capture d'écran du flux de requêtes du composant StockQuote_MediationFlow

Procédez comme suit pour créer le flux de requêtes :

  1. Dans la section des connexions d'opérations (située en haut), sélectionnez l'opération getQuote de l'interface source. Le flux de requêtes s'affiche avec une valeur d'entrée (input) et une valeur de sortie (callout) associées à chaque opération cible. Vous pouvez maintenant ajouter des primitives de médiation et connecter le flux de requêtes.
  2. Cliquez sur l'onglet Requête dans la section médiane. Sélectionnez une primitive Message Logger dans la palette Message Logger, faites-la glisser sur le canevas du flux de requêtes et renommez-la en Log.
    Capture d'écran de la primitive MessageLogger
  3. Sélectionnez une primitive Database Lookup dans la palette Database Lookup, faites-la glisser sur le canevas du flux de requêtes et nommez-la Lookup.
  4. Sélectionnez une primitive Message Filter dans la palette Message Filter, faites-la glisser sur le canevas du flux de requêtes et nommez-la Filter.
  5. Sélectionnez une primitive XSL Transform dans la palette XSL Transform, faites-la glisser sur le canevas du flux de requêtes et nommez-la TransformToDelayed.
  6. Sélectionnez une autre primitive XSL Transform dans la palette XSL Transform, faites-la glisser sur le canevas du flux de requêtes et nommez-la TransformToRealtime.
  7. >Cliquez avec le bouton droit de la souris sur la primitive Filter et sélectionnez Ajout d'un terminal de sortie. Dans la zone Nom du terminal, saisissez realtime et cliquez sur OK.
    Ajout d'un terminal de sortie
    Vous allez créer une expression XPath et l'associer à ce terminal à l'étape 12.
  8. Dans le canevas du flux de requêtes, connectez les primitives comme suit :
    • le terminal de sortie de StockQuoteService_getQuote_Input au terminal d'entrée de Log,
    • le terminal de sortie de Log au terminal d'entrée de Lookup,
    • le terminal de sortie de Lookup au terminal d'entrée de Filter,
    • le terminal par défaut de Filter au terminal d'entrée de TransformToDelayed,
    • le terminal en temps réel de Filter (créé à l'étape 7) au terminal d'entrée de TransformToRealtime,
    • le terminal de sortie de TransformToDelayed au terminal d'entrée de DelayedServicePortTypePartner_getQuote_Callout,
    • le terminal de sortie de TransformToRealtime au terminal d'entrée de RealtimeServicePortTypePartner_getQuote_Callout.
  9. Nous allons à présent ajouter l'objet métier créé précédemment au contexte de corrélation de StockQuoteService_getQuote_Input. Cela permet à la propriété subscriptionLevel de rester dans le flux de messages. Cliquez sur StockQuoteService_getQuote_Input et accédez à l'onglet Détails dans la vue Propriétés. Dans la zone Contexte de corrélation, cliquez sur Parcourir. Sélectionnez SubscriptionInformation sous les types de données correspondants, puis cliquez deux fois. {http://Resources}SubscriptionInformation s'affiche maintenant dans le contexte de corrélation.
    Contexte de corrélation ajouté au noeud d'entrée 1
  10. Cliquez sur Log dans le canevas du flux de requêtes pour afficher les propriétés de la primitive dans la vue Propriétés. Cliquez sur l'onglet Détails pour afficher les propriétés. Utilisez la base de données par défaut pour consigner le message. Entrez les propriétés suivantes :
    Propriété Valeur
    Nom de source de données jdbc/mediation/messageLog
    Racine /
    Mode de transaction similaire

    Détails de la primitive Message Logger
  11. Cliquez sur Lookup dans le canevas du flux de requêtes et entrez les valeurs de propriétés suivantes dans l'onglet Détails :
    Propriété Valeur
    Nom de source de données jdbc/sample/CustomerDatabase
    Nom de table CUSTOMERTABLE
    Nom de colonne clé CUSTOMERID
    Chemin d'accès clé Custom XPath. Dans l'éditeur d'expressions XPath, sélectionnez /body/getQuote/request/customerID. Cliquez sur OK.

    Utilisation du générateur d'expression XPath pour la définition de KeyPath
    Dans la table Eléments de données, cliquez sur Ajouter et saisissez les valeurs suivantes :
    Colonne Valeur
    Nom de colonne de valeur SUBSCRIPTIONLEVEL
    Type d'élément String
    Elément de message /context/correlation/subscriptionLevel
    L'option Validate input ne doit pas être sélectionnée.
    Détails de la primitive Lookup
  12. Cliquez sur Filter dans le canevas du flux de requêtes et entrez les valeurs de propriétés suivantes dans l'onglet Détails :
    Propriété Valeur
    Mode de distribution First
    Dans la table Filtre, cliquez sur Ajouter et saisissez les valeurs suivantes :
    Colonne Valeur
    Masque /context/correlation/subscriptionLevel[self::node()="premium"]
    Nom du terminal realtime

    Détails de la primitive Message Filter
  13. Définissez les propriétés de la primitive XSL Transformation dénommée TransformToDelayed :
    1. Sélectionnez la primitive TransformToDelayed dans le canevas du flux de requêtes. Accédez à l'onglet Détails dans la vue Propriétés.
    2. Cliquez sur le bouton Nouveau en regard de la zone du fichier de mappage. L'assistant de spécification des types de messages s'ouvre. Cet assistant affiche les types de messages d'entrée et de sortie qui vont être mappés. Cliquez sur Terminer. Cette opération lance l'éditeur de mappage.
    3. Dans la section Source de l'éditeur de mappage, développez tns:body > getQuote > request. Dans la section Cible, développez tns:body. Cliquez sur symbol [0..1] dans la source, puis sur symbol dans la cible. Cliquez avec le bouton droit de la souris et sélectionnez l'option de création de mappage.
      Editeur de mappage
    4. Sauvegardez les modifications et fermez l'éditeur de mappage.
    5. Dans l'onglet Détails de la vue Propriétés, cliquez sur l'option de régénération du code XSL pour mettre à jour le code XSL associé à ce fichier de mappage.
      Détails de la primitive TransformToDelayed
  14. De la même façon, définissez les propriétés de la primitive XSL Transformation TransformToRealtime :
    1. Sélectionnez la primitive TransformToRealtime dans le canevas du flux de requêtes. Accédez à l'onglet Détails dans la vue Propriétés.
    2. Cliquez sur le bouton Nouveau en regard de la zone du fichier de mappage. L'assistant de spécification des types de messages s'ouvre. Cliquez sur Terminer. Cette opération lance l'éditeur de mappage.
    3. Dans la section Source de l'éditeur de mappage, développez tns:body > getQuote > request. Dans la section Cible, développez tns:body. Cliquez sur symbol [0..1] dans la source, puis sur symbol dans la cible. Cliquez avec le bouton droit de la souris et sélectionnez l'option de création de mappage.
      Détails de TransformToRealtime
    4. Sauvegardez les modifications et fermez l'éditeur de mappage.
    5. Dans l'onglet Détails de la vue Propriétés, cliquez sur l'option de régénération du code XSL pour mettre à jour le code XSL associé à ce fichier de mappage.
      Détails de la primitive TransformToRealtime
  15. Sauvegardez le flux de requêtes.
    Flux de requêtes réalisé

Commentaires
(C) Copyright IBM Corporation 2005. Tous droits réservés.

(C) Copyright IBM Corporation 2005. All Rights Reserved.