Création d'une Route à l'aide d'un service de données - 6.1

Talend MDM Platform Studio Guide utilisateur

EnrichVersion
6.1
EnrichProdName
Talend MDM Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Cette section fournit un scénario illustrant la création d'une Route à l'aide de la perspective Mediation du Studio Talend, à partir d'un service de données créé dans la section précédente. Pour plus d'informations sur la perspective Mediation, consultez Accès à la perspective Mediation.

Présentation du scénario

Dans ce scénario, vous configurez une Route utilisant un service Web créé précédemment, envoyez une requête à ce service Web et récupérez la réponse du service Web pour une utilisation ultérieure.

Démarrer le serveur Apache ActiveMQ

Pour envoyer des données pour interroger le service Web, utilisez Apache ActiveMQ comme broker de message. Vous devez démarrer le serveur ActiveMQ avant d'exécuter la Route. Pour plus d'informations concernant l'installation et le lancement du serveur ActiveMQ, consultez la section concernant l'installation de Apache ActiveMQ dans le Guide d'installation Talend ainsi que le site Web d'Apache (en anglais) : http://activemq.apache.org/index.html.

Créer la Route

Pour créer cette Route, vous avez besoin d'un composant cJMSConnectionFactory afin de spécifier la ConnectionFactory pour la gestion des messages, de deux cJMS, un pour lire un message JMS d'une file et envoyer la requête au service Web et l'autre pour récupérer la réponse du service Web et la sauvegarder dans une autre file. Vous avez également besoin d'un composant cCXF afin de vous connecter au service Web.

Pour créer la Route, procédez comme suit :

  1. Dans la vue Repository, cliquez-droit sur le nœud Route et, dans le menu contextuel, sélectionnez Create Route.

  2. Dans l'assistant, saisissez les informations correspondant aux champs à renseigner. Dans ce scénario, saisissez airportRoute dans le champ Name et cliquez sur Finish. La Route s'ouvre dans l'espace de modélisation graphique.

Déposer et relier les composants
  1. De la Palette, déposez un composant cMQConnectionFactory, un cCXF, un cProcessor et deux cJMS dans l'espace de modélisation graphique.

  2. Renommez les composants afin de mieux identifier leur rôle et reliez-les à l'aide de connexions Row>Route, comme dans la capture d'écran ci-dessous.

Configurer les composants
  1. Double-cliquez sur le cMQConnectionFactory pour afficher sa vue Basic settings dans l'onglet Component.

  2. Dans la liste MQ Server, sélectionnez ActiveMQ.

    Dans le champ Broker URI, saisissez l'URI du serveur local d'ActiveMQ, "tcp://localhost:61616" dans ce scénario.

  3. Double-cliquez sur le cJMS nommé Input pour afficher sa vue Basic settings.

  4. Dans la liste Type, sélectionnez queue pour envoyer les messages dans une file JMS.

    Dans le champ Destination, saisissez un nom pour la file JMS, "IN" dans cet exemple.

    Double-cliquez sur le bouton [...] à côté de ConnectionFactory. Sélectionnez la ConnectionFactory JMS que vous venez de configurer et cliquez sur OK. Vous pouvez également saisir le nom du composant cMQConnectionFactory directement dans le champ.

  5. Répétez cette opération pour configurer le composant cJMS nommé Output avec la même ConnectionFactory puis nommez la file JMS de destination JMS OUT.

  6. Double-cliquez sur le cCXF pour afficher sa vue Basic settings.

  7. Dans le champ Address, saisissez l'URL de l'endpoint du service Web créé, http://localhost:8200/airport.service dans cet exemple.

    Dans la liste Type, sélectionnez wsdlURL.

    Dans le champ WSDL File, saisissez le chemin d'accès au fichier WSDL, http://localhost:8200/airport.service?wsdl dans cet exemple.

    Dans la liste Dataformat, sélectionnez PAYLOAD.

  8. Double-cliquez sur le cProcessor pour afficher sa vue Basic settings.

  9. Dans la zone Code, personnalisez le code comme ci-dessous afin d'afficher le corps du message dans la console de la vue Run.

    System.out.println("The output message is: "+
    exchange.getIn().getBody(String.class));

Exécuter la Route
  1. Cliquez sur la vue Run pour l'afficher puis cliquez sur le bouton Run afin de démarrer l'exécution de la Route. Vous pouvez également appuyer sur F6 pour l'exécuter.

    Résultat : La Route est démarrée.

  2. Allez dans la console Web d'ActiveMQ. La file entrante est créée.

  3. Saisissez le corps du message comme ci-dessous dans la file entrante et envoyez le message.

  4. Dans le Route designer, vous pouvez voir que le payload du message est envoyé au service Web. Le service Web est appelé et la réponse est envoyée dans une autre file, OUT comme configuré.

    Le corps du message de cette file est affiché dans la console.

    Vous pouvez également visualiser la file OUT dans la console Web d'ActiveMQ. Elle ne contient qu'un message, comme affiché ci-dessous.