Talend ESB - Guide de prise en...

118
Talend ESB Guide de prise en main 5.6.2

Transcript of Talend ESB - Guide de prise en...

Page 1: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Talend ESBGuide de prise en main

5.6.2

Page 2: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Talend ESB

Date de publication : 12 mai 2015Copyright © 2011-2015 Talend SA. Tous droits réservés.

Copyleft

Cette documentation est mise à disposition selon les termes du Contrat Public Creative Commons (CPCC).Pour plus d'informations concernant votre utilisation de cette documentation en accord avec le Contrat CPCC,consultez : http://creativecommons.org/licenses/by-nc-sa/2.0/

Ce document peut contenir de la documentation produite par The Apache Software Foundation, sous licenceApache 2.0.

Mentions légales

Talend et Talend ESB sont des marques déposées de Talend, Inc.

Apache CXF, CXF, Apache Karaf, Karaf, Apache Cellar, Cellar, Apache Camel, Camel, Apache Maven, Maven,Apache Archiva, Archiva, Apache Syncope, Syncope, Apache ActiveMQ, ActiveMQ, Apache Log4j, Log4j,Apache Felix, Felix, Apache ServiceMix, ServiceMix, Apache Ant, Ant, Apache Derby, Derby, Apache Tomcat,Tomcat, Apache ZooKeeper, ZooKeeper, Apache Jackrabbit, Jackrabbit, Apache Santuario, Santuario, ApacheDS, DS, Apache Avro, Avro, Apache Abdera, Abdera, Apache Chemistry, Chemistry, Apache CouchDB,CouchDB, Apache Kafka, Kafka, Apache Lucene, Lucene, Apache MINA, MINA, Apache Velocity, Velocity,Apache FOP, FOP, Apache HBase, HBase, Apache Hadoop, Hadoop, Apache Shiro, Shiro, Apache Axiom,Axiom, Apache Neethi, Neethi, Apache WSS4J, WSS4J sont des marques déposées de The Apache Foundation.Eclipse Equinox est une marque déposée de The Eclipse Foundation, Inc. SoapUI est une marque déposée deSmartBear Software. Hyperic est une marque déposée de VMware, Inc. Nagios est une marque déposée de NagiosEnterprises, LLC.

Tous les autres noms de marques, de produits, les noms de sociétés, les marques de commerce et de service sontla propriété de leurs détenteurs respectifs.

Ce produit comprend les logiciels développés par AOP Alliance (Java/J2EE AOP standards), ASM, AntlR, ApacheActiveMQ, Apache Ant, Apache Avro, Apache Axiom, Apache Axis, Apache Axis 2, Apache Batik, ApacheCXF, Apache Camel, Apache Chemistry, Apache Common Http Client, Apache Common Http Core, ApacheCommons, Apache Commons Bcel, Apache Commons JxPath, Apache Commons Lang, Apache Derby DatabaseEngine and Embedded JDBC Driver, Apache Geronimo, Apache Hadoop, Apache Hive, Apache HttpClient,Apache HttpComponents Client, Apache JAMES, Apache Log4j, Apache Lucene Core, Apache Neethi, ApachePOI, Apache Pig, Apache Qpid-Jms, Apache Tomcat, Apache Velocity, Apache WSS4J, Apache WebServicesCommon Utilities, Apache Xml-RPC, Apache Zookeeper, Box Java SDK (V2), CSV Tools, DataStax Java Driverfor Apache Cassandra, Ehcache, Ezmorph, Ganymed SSH-2 for Java, Google APIs Client Library for Java, GoogleGson, Groovy, Guava: Google Core Libraries for Java, H2 Embedded Database and JDBC Driver, HsqlDB,Ini4j, JClouds, JLine, JSON, JSR 305 : Annotations for Software Defect Detection in Java, JUnit, Jackson JavaJSON-processor, Java API for RESTful Services, Jaxb, Jaxen, Jettison, Jetty, Joda-Time, Json Simple, MetaStuff,Mondrian, OpenSAML, Paraccel JDBC Driver, PostgreSQL JDBC Driver, Resty : A simple HTTP REST clientfor Java, Rocoto, SL4J : Simple Logging Facade for Java, SQLite JDBC Driver, Simple API for CSS, SshJ, StAXAPI, StAXON - JSON via StAX, Talend Camel Dependencies (Talend), The Castor Project, The Legion of theBouncy Castle, W3C, Woden, Woodstox : High-performance XML processor, XML Pull Parser (XPP), Xalan-J, Xerces2, XmlBeans, XmlSchema Core, Xmlsec - Apache Santuario, Zip4J, atinject, dropbox-sdk-java : Javalibrary for the Dropbox Core API, google-guice. Fournis sous leur licence respective.

Page 3: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Guide de prise en main de Talend ESB

Table des matièreschapitre 1. Introduction aux solutions ESB de Talend ...................................................... 1

1.1. Fonctionnalités de l'ESB de Talend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1.1. Support des services Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1.2. Conteneur d'exécution OSGi standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.3. Messaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.1.4. Studio Talend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2. Produits et architecture de l'ESB de Talend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2.1. Talend ESB Standard Edition (SE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.2.2. Talend Open Studio for ESB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.2.3. Talend Enterprise ESB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.2.4. Plateformes Talend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

chapitre 2. Prise en main de la solution ESB de Talend .................................................. 132.1. Prérequis à l'utilisation des produits ESB de Talend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.2. Téléchargement et installation du logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2.1. Produits communautaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.2.2. Produits Enterprise et Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.3. Créer un conteneur de remplacement pour les démos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.4. Démarrer le logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.4.1. Démarrer Talend Runtime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.4.2. Démarrer Talend Administration Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.4.3. Démarrer le Studio Talend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.4.4. Démarrer les tableaux de bord ESB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.5. Prérequis logiciels pour les démos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27chapitre 3. Cas d'usage : déploiements et exécutions simples ........................................... 29

3.1. Construction et déploiement des Services de données et des Routes à l'aide du Studio . . . . . . . . . . . . . . . . . . . . 303.1.1. Construire un service de données simple SayHello . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.1.2. Accéder aux événements dans les Dashboards ESB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.1.3. Exemple SayHelloRoute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.2. Construction et déploiement de Services REST dans le Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.2.1. Construire un service REST simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.2.2. Déployer le Service REST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.2.3. Construire un consommateur de Service REST simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733.2.4. Accéder aux événements dans les Dashboards ESB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

3.3. Construction et déploiement de Services de données et Routes à l'aide de Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803.3.1. Démo Rent-a-Car . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803.3.2. Déployer la démo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823.3.3. Exécuter la démo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843.3.4. Désinstaller la démo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

3.4. Import de la démo Java Rent-a-Car dans Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 893.4.1. Construire les fichiers du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 893.4.2. Importer dans Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 893.4.3. Exécuter les exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

chapitre 4. Utilisation avancée du déploiement et de l'exécution des Services etgouvernance SOA ....................................................................................................... 91

4.1. Démo Rent-a-Car utilisant Service Locator et Service Activity Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924.1.1. Installer et démarrer Service Locator et Service Activity Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924.1.2. Désinstaller les Features précédentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944.1.3. Construire la démo avec les modules Service Activity Monitoring et Service Locator activés . . . . . . . . . 944.1.4. Installer les Features des exemples Rent-a-Car . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954.1.5. Exécuter la démo dans un conteneur pour générer des données de Service Activity Monitoring . . . . . . . 964.1.6. Exécuter la démo dans deux conteneurs - simuler un failover de serveur avec Service Locator . . . . . . . . 984.1.7. Accéder aux événements dans les Dashboards ESB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004.1.8. Désinstaller les Features de la démo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

4.2. Démo Rent-a-Car utilisant Security Token Service pour fournir une authentification WS-Securitybasée SAML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

4.2.1. Configurer l'enregistrement des logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024.2.2. Construire la démo avec la sécurité activée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034.2.3. Désinstaller les Features de la démo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

4.3. Démo Rent-a-Car utilisant Artifact Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1044.3.1. Télécharger et installer Nexus Artifact Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054.3.2. Publier la démo dans Artifact Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054.3.3. Déployer la démo dans Talend ESB Standard Edition avec Nexus Artifact Repository . . . . . . . . . . . . . . 1074.3.4. Déployer la démo dans Talend Runtime à partir de Talend Administration Center . . . . . . . . . . . . . . . . . . . 107

4.4. Utilisation de XKMS avec la démo Rent-a-Car . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104.4.1. Configurer le service XKMS pour la démo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104.4.2. Construire l'exemple de la démo Rent-a-Car . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

4.5. Accéder aux logs des événements ESB dans Talend Administration Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

Page 4: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Guide de prise en main de Talend ESB

Page 5: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Guide de prise en main de Talend ESB

Chapitre 1. Introduction aux solutions ESBde TalendL'ESB (Enterprise Service Bus) a toujours été la pierre angulaire des vendeurs d'architectures orientées services(SOA). L'ESB de Talend dépasse considérablement les précédents ESB. Ses points forts sont les suivants :

• une empreinte faible,

• l'utilisation de technologies open source ayant fait leurs preuves,

• l'intégration facile des applications et infrastructures existantes.

Ce chapitre donne une vue d'ensemble des solutions ESB de Talend, de leurs composants et fonctionnalités. Parmices fonctionnalités se trouvent Talend Runtime (un conteneur OSGi), le support des services Web et le StudioTalend.

Ce chapitre décrit également les packages disponibles et détaille l'architecture de chacun d'entre eux.

Page 6: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Fonctionnalités de l'ESB de Talend

2 Guide de prise en main de Talend ESB

1.1. Fonctionnalités de l'ESB de TalendL'ESB de Talend est un ESB flexible et polyvalent permettant aux entreprises de faire face à toutes sortes de défisd'intégration. Il supporte nativement un large éventail de protocoles et de transports standards, ainsi que les EIP, unensemble commun de descriptions de bonnes pratiques développées pour concevoir des solutions plus efficaces.Disponible dans différents packages, l'ESB de Talend est ouvert et basé sur des standards afin d’assurer une largeinteropérabilité avec les composants d’infrastructure préexistants.

Talend investit, promeut et nourrit la technologie sous-jacente de la solution ESB de Talend via sa participationà la Apache Software Foundation (ASF), une communauté open source de pointe, reconnue pour sa transparenceet sa capacité à mettre à disposition des logiciels open source de niveau Entreprise, conçus et développés par unelarge communauté d'utilisateurs. De plus en plus, contrairement aux fournisseurs de logiciels propriétaires, lescommunautés open source guident la nouvelle génération d’innovations.

En utilisant les projets open source d’intégration Apache CXF, Apache Camel et Apache ActiveMQ, la solutionESB de Talend rend l’intégration de niveau Entreprise accessible grâce à son rapport qualité/prix et à la simplicitéd’intégration et d’extension des systèmes et des applications.

Apache CXF, un framework de services open source, aide les entreprises à créer et développer des services à l’aided’API de programmation front-end telles que JAX-WS et JAX-RS.

Apache Camel est un puissant framework d’intégration qui vous permet d’utiliser les EIP pour l’implémentationde règles de routage, de transformation et de médiation.

Basée sur la technologie Apache ActiveMQ, la solution de messaging JMS open source est la plus populaire.Chaque agent de message peut traiter de nombreuses connexions tout en assurant le traitement de milliers demessages par seconde.

1.1.1. Support des services Web

L'ESB de Talend vous permet de créer de nouveaux services Web ou de rendre accessibles via un service Webvos applications et interfaces existantes pour une utilisation sur le Web. Les développeurs utilisent une approchedéclarative et orientée politiques de sécurité afin de permettre différentes qualités de services via la configurationplutôt que via le code. L'ESB de Talend tire parti des fonctionnalités de Apache CXF pour le développement etle déploiement de services Web et d'applications REST.

Apache CXF fournit une architecture légère et modulaire supportée par le framework fréquemment utilisé, SpringFramework. Cela fonctionne avec votre application, quelle que soit la plateforme sur laquelle il s'exécute. Il peutêtre exécuté :

• comme application Java standalone ;

• comme partie d'un moteur de servlet (comme Tomcat) ;

• comme bundle OSGi dans un conteneur OSGi (comme Talend Runtime) ;

Apache CXF supporte tous les standards importants des services Web et est totalement compatible avec lesspécifications de l'API Java pour les services Web XML (JAX-WS). Le langage JAX-WS définit les annotationsvous permettant de préciser à un outil comme CXF comment votre application Java standalone doit être représentéedans le contexte des services Web. Il existe deux types de développement de services Web avec CXF :

1. Développement de type "contract-first" :

Les WSDL définissent quelles opérations et quels types fournit un service Web. Cela est souvent appelécontrat de services Web et, pour communiquer avec un service Web, vous devez remplir les clauses du contrat.Les développements de type "contract-first" signifient que vous commencez par écrire un fichier WSDL

Page 7: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Conteneur d'exécution OSGi standard

Guide de prise en main de Talend ESB 3

(manuellement ou via un outil), puis que vous générez une implémentation d'une classe Java stub à partir dufichier WSDL, à l'aide d'un outil comme CXF.

2. Développement de type "code-first" :

L'autre méthode de développement de services Web consiste à créer le service sous forme de classe Java etlaisser le framework du service Web gérer la génération d'un contrat WSDL. Cette méthode est plus simple,mais cela signifie que l'outil (CXF dans ce cas) a le contrôle sur ce que sera le contrat. Si vous souhaitez adaptervotre fichier WSDL, il est conseillé d'utiliser l'approche "contract-first".

Apache est certifié et testé pour fonctionner avec un large ensemble de vendeurs d'implémentations de servicesWeb. Les utilisateurs tirent parti de ces tests d'interopérabilité, ce qui réduit le coût global et la complexité del'intégration d'applications.

L'ESB de Talend supporte la création de services Web SOAP et REST et offre les meilleures fonctionnalités WS-*du marché, notamment le support de WS- Addressing, WS-Reliable Messaging et WS-Security, pour les transportsHTTP et JMS.

La diversité des services Web dans les distributions de la solution ESB de Talend s'étend au delà de Apache CXF,avec le support :

• de conteneurs OSGi ainsi que d'exemples illustratifs et de la documentation,

• de développement de services de données graphiques, à l'aide du Studio Talend,

• de gouvernance avancée de services à l'aide de politiques de déclenchement temporel de déploiement deservices,

• d'options de configuration et de déploiement centraux via des interfaces Web et des API basées JMX,

• de gestion et monitoring des services.

1.1.2. Conteneur d'exécution OSGi standard

Le conteneur d'exécution standard de la solution ESB de Talend est un conteneur OSGi. L'implémentation OSGiembarquée avec l'ESB de Talend est Apache Karaf, utilisant Eclipse Equinox comme moteur OSGi et fournissantun conteneur léger dans lequel de nombreux composants et applications peuvent être déployés.

Figure 1.1. Vue d'ensemble des composants Karaf

Karaf supporte les fonctionnalités suivantes :

• Déploiement automatique : Karaf monitore tous les fichiers du répertoire [home]/deploy (par exemple lesfichiers XML permettant de créer un pool de connexions à une base de données, des fichiers Jar et Kar pour despilotes, entre autres). Si un fichier est copié dans ce répertoire, il est automatiquement installé dans le conteneurd'exécution. Il peut être mis à jour ou supprimé et Karaf agit en conséquence.

Page 8: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Messaging

4 Guide de prise en main de Talend ESB

• Configuration dynamique : les services sont généralement configurés via un service OSGi standard, à l'aide defichiers de propriétés, monitorés. Les modifications sont propagées au service.

• Log : utilisation d'un back-end de log centralisé supporté par Log4J.

• Gestion des instances : Karaf fournit des commandes de console simples pour gérer plusieurs instances.

• Consultez Construction et déploiement de Services de données et Routes à l'aide de Java pour un exempled'utilisation de Karaf. Pour plus d'informations, consultez le Guide Talend ESB Container Administration Guideet le site Web http://karaf.apache.org/ (en anglais).

1.1.3. Messaging

Les logiciels de messaging d'entreprise ont été utilisés pour des projets d'intégration pendant plus de trente ans.Le messaging est un style de communication entre applications, mais est également un style largement adoptéd'intégration entre applications. Le messaging répond aux besoins de notifications et d'interopérations asynchronesà couplage faible entre les applications.

L'ESB de Talend embarque le broker de messages Apache ActiveMQ pour supporter un grand nombre d'optionsde messaging différentes. ActiveMQ est écrit en Java et implémente des spécifications JMS. De nombreusesfonctionnalités sont également ajoutées afin de fournir une haute disponibilité et des performances élevées. Ellesapportent également évolutivité, fiabilité et sécurité pour le messaging d'entreprise.

Le broker de messages transporte les événements entre les applications distribuées, garantissant ainsi qu'ilsatteignent la destination attendue. Le broker doit donc être hautement disponible, performant et évolutif. ApacheActiveMQ simplifie cette tâche dans l'ESB de Talend en embarquant le broker dans Talend Runtime.

1.1.4. Studio Talend

Le Studio Talend fournit un outil graphique de développement comprenant :

• une perspective Integration,

• une perspective Mediation,

• une perspective Java (les studios Enterprise et Platform comprennent le plug-in m2eclipse),

• une perspective soapUI (studios Enterprise et Platform uniquement).

Ces perspectives sont détaillées dans la suite de la section.

1.1.4.1. Perspective Integration

La perspective Integration est un outil graphique inclus dans le Studio Talend, vous permettant d'utiliser unelongue liste de composants qui s'adaptent à toutes les sources de données et de composants pour construire desservices de données ESB et les exporter pour un usage en standalone ou pour un déploiement dans le conteneurde Talend Runtime local. Les studios Enterprise et Platform permettent également de publier des services dansun référentiel d'artefacts (Provisioning Repository) pour déploiement distant depuis Talend AdministrationCenter. La perspective Integration permet le développement de services de données via un environnement dedéveloppement graphique simple à utiliser. Cette perspective permet des déploiements rapides et la réduction des

Page 9: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Studio Talend

Guide de prise en main de Talend ESB 5

coûts de maintenance, grâce à des connecteurs préconstruits permettant de vous connecter à tous les systèmessource et cible, avec le support de tous les types d'opérations de services de données, de migration de donnéeset de synchronisation de données.

Le cœur de la perspective Integration comprend quatre applications principales (Business Modeler, Job Designer,Service Designer et Metadata Manager) en un seul environnement graphique de développement basé Eclipse.

Figure 1.2. La perspective Integration ouverte sur un Service

Un Service dans le nœud Services est un service Web défini par un WSDL. Le WSDL peut être créé à partir de riendirectement dans le studio en utilisant l'éditeur graphique WSDL embarqué, ou il peut être importé puis modifiévia ce même éditeur. Dans ce cas, le Service est créé à partir des informations de ce WSDL et chaque opérationde ce service peut être implémentée dans le nœud Job Design.

Figure 1.3. La perspective Integration ouverte sur un Job Design

Page 10: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Studio Talend

6 Guide de prise en main de Talend ESB

Un Job de service de données est un processus graphique, comprenant un composant ou plusieurs reliés les unsaux autres, vous permettant de configurer et d'exécuter des opérations de services de données. Les Jobs prennenten charge toutes les sources et cibles nécessaires à vos processus d'intégration de données et les combinent auxservices Web.

De plus, dans les studios Enterprise et Platform, vous pouvez utiliser le référentiel partagé afin de travailler enéquipe et partager les ressources. Ces studios facilitent le travail d'équipe - les membres d'une équipe peuventstocker et partager leurs Business Models, leurs Jobs d'intégration et de services, leurs services d'intégration et leursmétadonnées dans un gestionnaire de sources standard (SVN). Ceci simplifie la réutilisabilité des objets et du codeet facilite la création des bonnes pratiques de développement. Ces studios intègrent également des fonctionnalitésaméliorant la productivité, comme les assistants (par exemple, pour SAP) et les options de déploiement (Publishto artifact repository).

Pour plus d'informations, consultez le Guide utilisateur du Studio Talend.

1.1.4.2. Perspective Mediation

Cette section traite de Apache Camel ainsi que de la perspective Mediation, qui est l'interface graphique de cettefonctionnalité.

Apache Camel

La fonctionnalité de Médiation de la solution ESB de Talend se base sur le projet renommé Apache Camel. Lecœur du framework Camel est un moteur de routage. Il vous permet de définir des règles de routage acceptant etenvoyant des messages à travers les Composants. Il n'y a aucune restriction sur le format du message, par exempledes objets Java, du XML, JSON, du texte brut, etc. peuvent être utilisés. Ces règles de routage se basent sur lelivre “Enterprise Integration Patterns” de Gregor Hohpe et Bobby Woolf (coll).

Apache Camel est un framework permettant aux développeurs d'assembler des Endpoints / Processors enworkflows (Routes) afin d'obtenir des fonctionnalités de plus haut niveau. Il simplifie l'intégration d'applicationsen tirant parti des EIP (Enterprise Integration Patterns) pour assembler des services évolutifs et simplifier laconception et l'implémentation de l'intégration de systèmes basés messages. Camel est un framework Java opensource vous permettant d'utiliser des EIP standards, d'implémenter des règles de routage et de médiation à l'aide dulangage DSL basé Java (Domain Specific Language). Cela signifie que vos règles de routage complètes peuventfacilement et rapidement être mises à jour si des modifications sont nécessaires.

Les EIP et Camel sont centrés sur les modèles de messaging asynchrones car ces modèles sont nécessaires àl'évolutivité. Cependant, le messaging asynchrone est plus complexe. Camel embarque cette complexité dans unframework commun largement compris par les développeurs d'intégration.

Camel contenant des interfaces abstraites (par exemple, Message, Exchange, Component, Endpoint), il permetd'utiliser les mêmes API pour interagir avec différents systèmes. Par exemple, chaque route implémente des APIde type Composant et Endpoint et fonctionne avec la même structure simple de Message et Exchange. Chaquecomposant est implémenté de manière à fonctionner avec des protocoles et des types de données spécifiques.Vous pouvez donc relier facilement les différents protocoles et systèmes tout en utilisant la même sémantique desmodèles et de routage.

Camel sert à transformer des formats de messages et à les transporter entre les différents endpoints. Cela permetaux Services de communiquer avec les autres, via la médiation Camel, même s'ils utilisent différents formats demessages et qu'ils sont écrits dans différents langages. Cela rend simple l'ajout de fonctionnalités de log et de suivi.Camel est très léger et peut être embarqué ou déployé où vous le souhaitez, comme dans une application Javastandalone, une application Web ou un bundle OSGi.

Vous pouvez utiliser le langage Java DSL (Domain Specific Language) pour spécifier une route. Par exemple :

From(“file:directory”).to(“jms:queuename”)

Page 11: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Produits et architecture de l'ESB de Talend

Guide de prise en main de Talend ESB 7

Cette instruction simple interroge les fichiers d'un répertoire et envoie leur contenu en tant que message JMS versune file JMS. Cela est possible grâce à l'interface uniforme de Camel basée sur l'objet Exchange. Camel est unoutil très utile et très puissant car il prend en charge de nombreux formats de données et convertit leurs types pourdes transformations de messages simples et automatiques. Il peut également être utilisé pour extraire, transformeret charger le contenu de ces fichiers.

Perspective Mediation

Le Route Builder utilise Camel (perspective Mediation), intégré dans le Studio Talend, qui est une interfacegraphique permettant à un développeur de construire ses Routes de manière graphique.

Vous pouvez exécuter les Routes en mode standalone ou les exporter en tant que bundles OSGi pouvant êtrefacilement déployés dans le conteneur de Talend Runtime. De plus, dans les studios Enterprise et Platform, vouspouvez utiliser la fonctionnalité de référentiel partagé afin de travailler avec une plus grande équipe.

Figure 1.4. La perspective Mediation

Nativement, la solution ESB de Talend supporte plus de 80 protocoles et types de données, via sa bibliothèquede composants très fournie. Ces composants permettent aux Routes de se connecter aux transports, d'utiliser desAPI et de comprendre les formats de données. La Palette des composants est très concise. L'ESB de Talend a unearchitecture modulaire, qui permet à tous les composants d'être chargés dans Camel, qu'ils soient embarqués avecCamel, d'une entreprise tierce ou votre propre création. La création de vos propres composants (par exemple, pourtraitement, connectivité, routage, etc) est simple et bien documentée.

1.2. Produits et architecture de l'ESB deTalendAu delà de la fonctionnalité standard comprise dans les projets Apache, Talend fournit une fonctionnalité ESBdans quatre packages différents adaptés à vos besoins présents et futurs. Ces packages sont décrits dans lessections suivantes. Pour une comparaison rapide de ces produits ESB, consultez la Matrice de comparaison desfonctionnalités ESB en ligne.

Page 12: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Talend ESB Standard Edition (SE)

8 Guide de prise en main de Talend ESB

1.2.1. Talend ESB Standard Edition (SE)

Talend ESB Standard Edition est une couche de connectivité basée sur des standards et utilisée pour intégrer dessystèmes distribués par-delà les limites fonctionnelles, organisationnelles et géographiques de l’entreprise. Lesfonctionnalités incluent le messaging, les services Web, le routage intelligent et les transformations de données.Son architecture modulaire lui permet de se connecter à différents systèmes et se développe facilement pours'adapter à la plupart des besoins des entreprises. Il est disponible sous licence open source Apache. Il comprendégalement les fonctionnalités de niveau entreprise suivantes :

• Service Locator—Talend ESB Standard Edition fournit les fonctionnalités de failover et de répartition de chargevia une extension d'Apache CXF nouvellement développée permettant l'enregistrement dynamique d'endpointset la recherche d'endpoints en cas de failover via Apache Zookeeper.

Pour plus d'informations, consultez Démo Rent-a-Car utilisant Service Locator et Service Activity Monitoringainsi que le Guide Talend ESB Infrastructure Services Configuration Guide (en anglais).

• Service Activity Monitoring—Grâce à la capture d'événements et au stockage des informations d'activité, TalendESB Standard Edition simplifie l'analyse en profondeur des activités de services, notamment les temps deréponse des services, les modèles de trafic, le cycle de vie des services et l'audit.

Pour plus d'informations, consultez Démo Rent-a-Car utilisant Service Locator et Service Activity Monitoringainsi que le Guide Talend ESB Infrastructure Services Configuration Guide (en anglais).

• Framework Security Token Service (STS)—Talend ESB Standard Edition comprend un framework STSsupportant le langage Security Assertion Markup Language (SAML 2.0) pour rassembler les informationsd'authentification à travers les applications et les domaines. Cela permet une authentification des clients et desservices sécurisée et transparente durant les connexions, sans nécessité de codage manuel. Ce framework STSest une autre contribution importante de Talend à la communauté Apache CXF.

Pour plus d'informations, consultez Démo Rent-a-Car utilisant Security Token Service pour fournir uneauthentification WS-Security basée SAML ainsi que le Guide Talend ESB Infrastructure Services ConfigurationGuide (en anglais).

1.2.2. Talend Open Studio for ESB

Talend Open Studio for ESB – un environnement innovant basé Eclipse pour modéliser, configurer, déployer etgérer des services de données – comprend Talend ESB Standard Edition. Talend Open Studio for ESB élimine leslongues courbes d'apprentissage et réduit le temps de développement en rendant les développeurs plus productifs—permettant ainsi aux entreprises de répondre rapidement aux demandes métier.

Page 13: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Talend Open Studio for ESB

Guide de prise en main de Talend ESB 9

Figure 1.5. Principes de fonctionnement de Talend Open Studio for ESB

Trois différents types de blocs fonctionnels peuvent être identifiés :

• Le bloc bleu représente une instance du Studio Talend dans laquelle vous pouvez effectuer des processusd'intégration de données ou de services de données, des routes de médiation et des services. Pour plusd'informations, consultez les chapitres correspondants, dans le Guide utilisateur de Talend Open Studio for ESB.

• Les autres blocs représentent Talend ESB Standard Edition, composé d'un ou plusieurs Talend Runtimes et desservices d'infrastructures ESB supplémentaires :

• En rouge, un ou plusieurs Talend Runtimes (conteneurs d'exécution) déployés dans votre systèmed'informations. Talend Runtime vous permet de déployer et d'exécuter des Jobs, Routes et Services créés dansle Studio Talend. Pour plus d'informations concernant le déploiement d'éléments dans Talend Runtime via lestudio, consultez le Guide utilisateur de Talend Open Studio for ESB. Pour plus d'informations concernantTalend Runtime, consultez le Guide Talend ESB Container Administration Guide (en anglais).

Si vous avez plusieurs Talend Runtimes dans lesquels déployer les Services et les Routes, vous pouvez répartirla charge des exécutions selon vos besoins. Toutes les instances de Talend Runtime communiquent entre ellesvia le Service Locator afin d'identifier la plus à même de déployer les Services ou Routes et de les exécuter.

• En orange, une base de données de monitoring rassemble les informations de log de l'exécution de vosprocessus de données et de vos activités de services.

Les informations de log des processus de données peuvent être capturées dans le Studio Talend grâce àl'utilisation des composants tFlowMeterCatcher, tStatCatcher et tLogCatcher. Pour plus d'informations,

Page 14: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Talend Enterprise ESB

10 Guide de prise en main de Talend ESB

consultez le Guide de référence des Composants Talend. Pour automatiser les fonctionnalités des composantstFlowMeterCatcher, tStatCatcher et tLogCatcher sans les utiliser, utilisez l'onglet Stats & Logs. Pourplus d'informations concernant cet onglet, consultez le Guide utilisateur de Talend Open Studio for ESB.

Service Activity Monitoring permet aux utilisateurs finaux de monitorer les appels de services. Il fournit desinformations monitorées et consolidées relatives aux événements pouvant être utilisées pour comprendre lesrequêtes sous-jacentes et les réponses composant l'événement. Il monitore également les erreurs pouvant êtregénérées de manière inattendue et supporte les décisions de la gestion des systèmes. Pour plus d'informationsconcernant Service Activity Monitoring, consultez son chapitre dans le Guide Talend ESB InfrastructureServices Configuration Guide (en anglais).

• En plus du Service Locator et Service Activity Monitoring, Talend Runtime fournit des fonctionnalitésSecurity Token Service pouvant être utilisées pour établir une relation de confiance entre un client et un serviceWeb, particulièrement s'ils sont dans différents domaines de sécurité. Security Token Service est utilisé pourémettre un jeton de sécurité, c'est-à-dire un ensemble de déclarations telles que le nom, le rôle et le coded'autorisation, pour que le client accède au service. Seul le récepteur du message doit connaître le certificatSTS afin de vérifier la signature du jeton. Cela permet d'avoir des informations fiables d'authentification.

Pour plus d'informations concernant l'installation de toutes ces applications, consultez le Guide d'Installation etde migration Talend.

1.2.3. Talend Enterprise ESB

Talend Enterprise ESB est conçu pour les équipes d'applications devant gérer des projets de développement avecdifférentes équipes et faire fonctionner leurs environnements de production intégrés à travers leur entreprise, demanière cohérente. L'ESB de Talend comprend toutes les fonctionnalités de Talend Open Studio for ESB et yajoute le travail collaboratif, la gestion d'entreprise ainsi que d'autres fonctionnalités.

Figure 1.6. Principes de fonctionnement de Talend Enterprise ESB

Cinq types différents de blocs fonctionnels sont décrits :

Page 15: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Talend Enterprise ESB

Guide de prise en main de Talend ESB 11

• Le bloc bleu clair inclut un ou plusieurs studio(s) Talend et navigateurs Web pouvant être sur la même machineou sur des machines différentes.

Dans le studio, les utilisateurs finaux peuvent mener à bien des processus techniques : processus d'intégrationou de services de données, routes et services de médiation et les publier dans le référentiel d'artefacts. Le StudioTalend permet à l'utilisateur de travailler sur tout projet pour lequel il possède les autorisations. Pour plusd'informations, consultez le Guide utilisateur du Studio Talend.

Depuis leur navigateur Web, les utilisateurs finaux peuvent se connecter à un Talend Administration Centerdistant, via un protocole HTTP sécurisé.

Les utilisateurs finaux, dans cette description, peuvent comprendre les développeurs, les chefs de projet, lesadministrateurs, ainsi que toute autre personne impliquée dans la construction de services Web, REST, dedonnées et routes de médiation. Chaque utilisateur final peut utiliser le Studio Talend ou Talend AdministrationCenter, ou les deux, selon la politique de l'entreprise.

• Le bloc violet comprend le module Talend Administration Center (serveur d'application) basé Web connecté àdeux référentiels partagés : un sur un serveur SVN et l'autre sur un serveur de base de données.

Talend Administration Center permet la gestion et l'administration de tous les projets. Les métadonnéesd'administration (comptes d'utilisateurs, droits d'accès et autorisations des projets, par exemple) sont stockéessur le serveur de base de données et les métadonnées des projets (Jobs, Business Models, Routines, Routes,Services, par exemple) sont stockées sur le serveur SVN (afin de les partager facilement entre les utilisateursfinaux).

Talend Administration Center vous permet également d'accéder aux Routes et Services créés dans le StudioTalend ainsi que de les gérer, les publier dans le référentiel d'artefacts et configurer leur déploiement et leurexécution dans Talend Runtime.

De plus, Talend Administration Center vous permet d'accéder aux artefacts ESB et de les utiliser de manièreplus sécurisée, ainsi que de gérer les utilisateurs et leur accès. Avec Talend Administration Center, vouspouvez stocker et gérer les ressources de vos services ainsi que leurs politiques de sécurité dans un référentieldédié, Service Registry. Service Registry est intégré dans le conteneur ESB de Talend. A partir de TalendAdministration Center, vous pouvez centraliser, maintenir et distribuer des services et des politiques. Ainsi, lesservices et politiques de votre entreprise restent toujours accessibles, cohérents et réutilisables. En plus de lasécurité des services, Talend Administration Center fournit des fonctionnalités relatives aux autorisations, vouspermettant de donner à des utilisateurs et des rôles spécifiques des droits d'accès à des services spécifiques.Les utilisateurs et leurs rôles doivent être d'abord définis dans l'application Web Talend Identity ManagementService (basée sur Apache Syncope), également accessible via Talend Administration Center.

A partir de Talend Administration Center, vous pouvez monitorer les événements et rechercher parmi lesévénements collectés à travers les conteneurs distribués. Ces événements peuvent être des logs provenantdu conteneur de Talend Runtime (Jobs, Routes, etc.), des événements OSGi générés par Talend Runtime(informations concernant les bundles) et des événements provenant de Service Activity Monitoring. Pour plusd'informations concernant les différents événements pouvant être monitorés, indexés et recherchés et pour plusd'informations concernant comment configurer leur collection, consultez le Guide Talend ESB InfrastructureServices Guide (en anglais).

Pour plus d'informations, consultez le Guide utilisateur de Talend Administration Center.

• Le bloc bleu foncé représente le référentiel d'artefacts stockant :

• les mises à jour du logiciel (Software Updates) disponibles au téléchargement.

• les Routes et Services publiés depuis le Studio Talend prêts à être déployés et exécutés dans Talend Runtime.

Vous pouvez accéder à ces artefacts via l'application Web du référentiel d'artefacts (Artifact repository),accessible depuis les pages ESB Publisher et Software update de Talend Administration Center.

Page 16: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Plateformes Talend

12 Guide de prise en main de Talend ESB

• Le bloc rouge représente un ou plusieurs Talend Runtimes (conteneur d'exécution) déployé(s) dans votre systèmed'informations. Talend Runtime déploie et exécute les processus techniques selon la configuration définie dansl'application Web de Talend Administration Center. Ces processus sont des Routes et des Services récupérésdu référentiel d'artefacts.

Si vous avez plusieurs Talend Runtimes dans lesquels déployer les artefacts de Services et de Routes, vouspouvez répartir les exécutions selon vos besoins. Toutes les instances de Talend Runtime communiquententre elles via le Service Locator, afin d'identifier celle qui déploiera et exécutera le plus probablement lesartefacts configurés pour un déploiement dans Talend Administration Center. Le Talend Runtime choisi pourle déploiement effectue une requête pour les artefacts à déployer et exécuter à partir du référentiel d'artefacts.Le référentiel d'artefacts envoie à Talend Runtime les artefacts demandés, avec les dépendances nécessaires àleur exécution. Talend Runtime les déploie et les exécute.

• Le bloc orange représente le Monitoring de l'Activity Monitoring Console et de Service Activity Monitoring.

L'Activity Monitoring Console permet aux utilisateurs finaux de monitorer l'exécution des processus techniques.Elle fournit des fonctionnalités de monitoring détaillé pouvant être utilisées afin de consolider les informationsde log collectées, comprendre les interactions sous-jacentes des flux de données, empêcher les erreurs généréesde manière inattendue et aider à prendre des décisions concernant la gestion du système.

Service Activity Monitoring permet aux utilisateurs finaux de monitorer les appels de services. Il fournit desfonctionnalités de monitoring et des informations consolidées concernant les événements dont l'utilisateur finalpeut comprendre les requêtes et les réponses sous-jacentes, monitorer les erreurs générées de manière inattendueet aider à prendre des décisions concernant la gestion du système.

Pour plus d'informations concernant l'installation de ces applications, consultez le Guide d'installation et demigration Talend.

1.2.4. Plateformes Talend

Les plateformes Talend (for Data Services, for Enterprise Integration, for MDM et Universal) étendent TalendEnterprise ESB avec des fonctionnalités de clustering avancé, de gestion des processus métier, d'intégrationd'applications, de mapping de données avancé et de gestion de données, permettant ainsi aux entreprisesd'améliorer leur productivité, de terminer leurs projets plus facilement et de diminuer les coûts opérationnels.Talend Platform Universal comprend les technologies Big Data par défaut, mais ces technologies sont égalementdisponibles en option dans les autres plateformes. Talend Platform for Enterprise Integration et Talend PlatformUniversal comprennent également un module BPM contenant des fonctionnalités avancées de modélisation, dedéveloppement, de déploiement et de gestion.

Page 17: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Guide de prise en main de Talend ESB

Chapitre 2. Prise en main de la solution ESBde TalendCe chapitre vous donne les informations nécessaires afin de commencer à utiliser la solution ESB de Talend. A lafin de ce chapitre, vous serez capable d'exécuter les exemples de démonstration des chapitres suivants.

Les principales étapes à suivre pour commencer à travailler avec le logiciel sont décrites dans les sectionssuivantes :

1. Prérequis à l'utilisation des produits ESB de Talend

2. Téléchargement et installation du logiciel

3. Démarrer le logiciel

4. Prérequis logiciels pour les démos

Page 18: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Prérequis à l'utilisation des produits ESB de Talend

14 Guide de prise en main de Talend ESB

2.1. Prérequis à l'utilisation des produits ESBde TalendDes prérequis logiciels et matériels sont nécessaires, avant l'installation des produits ESB de Talend.

Pour une liste complète des prérequis d'installation, des logiciels compatibles et des versions des logiciels,consultez :

• le Guide d'installation et de migration Talend, si vous utilisez le Studio Talend.

• le Guide d'installation Talend correspondant, si vous utilisez Talend ESB Standard Edition.

<TalendRuntimePath> est employé pour le répertoire où est installé Talend Runtime. Cela indique le chemin complet deRuntime_ESBSE ou de Talend-ESB-VA.B.C, selon la version du logiciel que vous utilisez. Pensez à remplacer par lechemin qui vous concerne.

Pour Talend Runtime, les exemples se situent dans le répertoire <TalendRuntimePath>/examples/talend.

2.2. Téléchargement et installation du logicielCette section explique quels produits peuvent être utilisés et quels produits vont être utilisés dans les démosdocumentées dans les chapitres suivants, ainsi que comment les installer, les configurer et les démarrer.

Selon la version du produit que vous utilisez, consultez :

• Produits communautaires.

• Produits Enterprise et Platform.

2.2.1. Produits communautaires

Les produits communautaires ESB de Talend sont disponibles librement sur le site Web : http://www.talend.com/download.

Les produits disponibles sont :

• Talend ESB Standard Edition, un conteneur OSGi basé sur Apache Karaf et comprenant des Servicesd'infrastructures supplémentaires.

• Talend Open Studio for ESB, comprenant un studio ainsi qu'ESB Runtime (moteur d'exécution). ESB Runtimeest l'équivalent exact de Talend ESB Standard Edition.

Pour une vue d'ensemble de ces produits, consultez Introduction aux solutions ESB de Talend, dans ce guide.

Logiciels nécessaires aux démos :

• Pour les exemples d'utilisation documentés dans Construction et déploiement des Services de données et desRoutes à l'aide du Studio et Construction et déploiement de Services REST dans le Studio, vous devez installeret démarrer le studio et l'ESB Runtime de Talend Open Studio for ESB, dans lequel les Services d'Infrastructuresont activés.

• Pour les cas d'usage documentés dans Construction et déploiement de Services de données et Routes à l'aide deJava, Démo Rent-a-Car utilisant Service Locator et Service Activity Monitoring et Démo Rent-a-Car utilisantSecurity Token Service pour fournir une authentification WS-Security basée SAML, vous avez uniquementbesoin de Talend ESB Standard Edition (ou de l'ESB Runtime de Talend Open Studio for ESB), dans lequel lesServices d'Infrastructure sont également activés.

Page 19: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Produits Enterprise et Platform

Guide de prise en main de Talend ESB 15

• Le scénario documenté dans Démo Rent-a-Car utilisant Artifact Repository s'adresse davantage aux utilisateursdes produits Enterprise et Platform, car il nécessite un logiciel de gestion de référentiel, compris par défaut dansces produits. Cependant, l'utilisation d'un logiciel externe de gestion de référentiel est également possible avecles projets communautaires.

• Le cas d'utilisation documenté dans Utilisation de XKMS avec la démo Rent-a-Car s'adresse uniquement auxutilisateurs des produits Enterprise et Platform, car il nécessite des fonctionnalités de cryptage disponibles dansces produits.

Pour plus d'informations concernant :

• l'installation et le démarrage de Talend Open Studio for ESB et des Services d'infrastructures, suivez lesinstructions du Guide d'installation et de migration Talend Open Studio for ESB.

• l'installation et le démarrage de Talend ESB Standard Edition et des Services d'infrastructures, suivez lesinstructions du Guide d'installation Talend ESB Standard Edition.

2.2.2. Produits Enterprise et Platform

Les clients ayant souscrit à une édition Enterprise ou Platform reçoivent un e-mail contenant les instructions detéléchargement et un fichier de licence.

Pour installer l'édition Enterprise ou Platform, il est recommandé d'utiliser Talend Installer. Vous pouvezégalement suivre les instructions disponibles dans le Guide d'installation et de migration Talend fourni dans l'e-mail.

Pour une vue d'ensemble de ces produits, consultez Introduction aux solutions ESB de Talend, dans ce guide.

2.3. Créer un conteneur de remplacementpour les démosUn conteneur de Talend Runtime est intégré dans le sous-dossier container de l’installation de l'ESB de Talend.Pour exécuter certaines démos décrites dans ce guide, il est nécessaire d'avoir deux conteneurs. Cette section décritcomment créer le second sur la même machine.

Le second conteneur correspond à une situation réelle d'un client et d'un serveur s'exécutant dans différentsconteneurs. Ce conteneur est une copie du conteneur de Talend Runtime que vous pouvez lancer séparément et danslaquelle vous pouvez déployer des applications. Ce second conteneur est requis pour l'Exemple SayHelloRoute etdans la démo Rent-a-Car, dans Démo Rent-a-Car utilisant Service Locator et Service Activity Monitoring.

Pour les utilisateurs de Talend ESB Standard Edition ou de Talend Open Studio for ESB, prenez directement lepackage TESB_SE-VA.B.C téléchargé ou bien le dossier Runtime_ESBSE extrait depuis l'installation de TalendOpen Studio for ESB, et copiez son dossier container.

Pour les clients Enterprise et Platform, prenez le package Talend-ESB-VA.B.C téléchargé et copiez son dossiercontainer. Vous pouvez également utiliser directement le package Talend Runtime (Talend-Runtime-VA.B.C),l'exact équivalent du dossier container de la solution ESB de Talend.

Pour les clients Enterprise et Platform ayant installé l'ESB de Talend via Talend Installer, vous devez copier ledossier esb/container.

Copier le conteneur

1. Assurez-vous que le conteneur à copier n'a jamais été démarré.

Page 20: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Créer un conteneur de remplacement pour les démos

16 Guide de prise en main de Talend ESB

2. Depuis un terminal Linux ou une invite de commande Windows, allez dans le répertoire<TalendRuntimePath>.

3. Créez une copie du répertoire container ainsi que de son contenu en exécutant la commande correspondantà votre système :

• cp -r container alternate-container (sous Linux)

• robocopy /e container alternate-container (sous Windows)

• xcopy /e container alternate-container (sous un ancien Windows sans Robocopy)

Vous avez un second conteneur dans le répertoire alternate-container.

Pour éviter les conflits entre les deux instances du conteneur, vous devez adapter la configuration du conteneuralternate-container.

Configurer le conteneur de remplacement

1. Assurez-vous que le conteneur par défaut (le premier) n'est pas en cours d'exécution, afin de ne pas risquerun conflit relatif aux ports.

2. Exécutez le conteneur de remplacement, alternate-container avec ses paramètres par défaut.

• Sous Linux, allez dans le répertoire <TalendRuntimePath>/alternate-container et exécutez lacommande suivante :

./bin/trun

• Sous Windows, allez dans le répertoire <TalendRuntimePath>\alternate-container et exécutez lacommande suivante :

.\bin\trun.bat

3. Attendez la fin de la phase d'initialisation. Pour vous assurer que Talend Runtime est démarré avec tous sesbundles, créés et actifs, exécutez la commande suivante :

list

4. Exécutez la commande suivante dans l'invite de commande du second conteneur pour appeler le scriptpermettant d'adapter ses paramètres de configuration en leur assignant de nouvelles valeurs :

source scripts/configureC1.sh

Les paramètres sont mis à jour et sauvegardés localement. A la prochaine exécution du second conteneur, lesnouveaux paramètres seront utilisés. Les deux conteneurs pourront alors être exécutés simultanément.

5. Pour les démos suivantes, il n'est pas nécessaire de, mais vous pouvez, si vous souhaitez, créer un troisièmeou un quatrième conteneur, copier le répertoire du conteneur original à un troisième emplacement (voir ci-dessus). Démarrez le troisième conteneur et utilisez la commande suivante dans l'invite de commande duconteneur afin d'appeler un autre script d'adaptation :

source scripts/configureC2.sh

De la même manière, un quatrième conteneur devrait utiliser :

source scripts/configureC3.sh

Vous pouvez reconfigurer les valeurs par défaut dans tout conteneur, en utilisant :

source scripts/configureC0.sh

Si vous avez une erreur "Port already in use" (port déjà utilisé) lorsque vous démarrez un conteneur de remplacement, vérifiezqu'aucun conteneur ne s'exécute avec les paramètres par défaut. Si vous avez toujours l'erreur, il est possible que le port

Page 21: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Démarrer le logiciel

Guide de prise en main de Talend ESB 17

utilisé par un processus sans relation avec celui-ci soit en cause. Mettez à jour manuellement vos fichiers de configurationdans le dossier alternate-container/etc.

2.4. Démarrer le logicielCette section vous permet de démarrer le logiciel requis pour suivre les cas d'utilisation décrits dans ce guide.

Vérifiez que vous avez bien installé le produit en suivant les instructions décrites dans le Guide d'installation etde migration Talend.

Selon le logiciel à utiliser, suivez les instructions décrites dans :

1. Démarrer Talend Runtime.

2. Démarrer Talend Administration Center (Enterprise ou Platform uniquement).

3. Démarrer le Studio Talend.

4. Démarrer les tableaux de bord ESB.

2.4.1. Démarrer Talend Runtime

Cette section vous explique comment démarrer rapidement Talend Runtime pour Talend ESB Standard Editionet l'ESB de Talend, Enterprise et Platform Edition. Dans la section, les deux éditions sont mentionnées comme'Talend Runtime', sauf en cas de différence spécifique. Cette section décrit par ailleurs comment démarrer lesservices d'infrastructures de Talend Runtime.

Il est recommandé de lire Prérequis à l'utilisation des produits ESB de Talend avant de commencer cette section,de télécharger Talend Runtime comme décrit dans Téléchargement et installation du logiciel.

Ce package comprend :

• un conteneur de Talend Runtime

et les services d'infrastructures :

• Service Locator

• Service Activity Monitoring

• Security Token Service

ainsi que :

• le broker de message Apache ActiveMQ

2.4.1.1. Démarrer le conteneur de Talend Runtime

1. Si vous avez installé le produit via Talend Installer, arrêtez le service Talend Runtime.

2. Allez dans le sous-répertoire <TalendRuntimePath>\container\bin du répertoire d'installation de TalendRuntime.

3. Exécutez le fichier trun.bat (Windows) ou trun.sh (Linux).

Page 22: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Démarrer Talend Administration Center

18 Guide de prise en main de Talend ESB

Lorsque le conteneur démarre, vous pouvez voir une brève introduction (similaire à celle ci-dessous) suiviepar l'ouverture de l'invite de commande de la console du conteneur de Talend Runtime :

Après avoir démarré le conteneur de Talend Runtime, vous devez attendre quelques secondes afin que l'initialisationse termine, avant de saisir les commandes. Karaf, sur lequel est construit le conteneur de Talend Runtime, démarreles bundles secondaires en arrière-plan. Par conséquent, même si la console est disponible, les commandes peuventne pas l'être.

4. Lorsque la Console affiche : karaf@trun>, saisissez la commande list.

Cela permet de lister tous les bundles OSGi installés dans le conteneur de Talend Runtime et d'indiquer s'ilssont actifs ou non.

Pour plus d'informations, consultez le Guide d'installation et de migration Talend.

Pour plus d'informations concernant le conteneur de Talend Runtime et comment le prendre en main, consultez leGuide Talend ESB Container Administration Guide (en anglais).

2.4.1.2. Démarrer tous les Services d'Infrastructures

Au lieu de démarrer chaque Service d'Infrastructure séparément, vous pouvez tous les démarrer en une fois. Unefois le conteneur de Talend Runtime démarré et tous les bundles actifs :

1. Saisissez tesb:start-all afin de démarrer tous les Services d'Infrastructures.

Les services Service Locator, Service Activity Monitoring et Security Token Service s'exécutent en tant queFeatures dans le conteneur de Talend Runtime.

Pour les versions Enterprise et Platform de la solution ESB de Talend, cette commande fonctionne commedans Talend ESB Standard Edition et Talend Open Studio for ESB, mais installe et démarre des servicessupplémentaires (par exemple : Service Registry, Authorization, etc.).

2. Dans un but de démonstration, les utilisateurs des produits Enterprise et Platform doivent changer le systèmede gestion de sécurité par défaut, Talend Identity Management Service et mettre celui utilisé par défaut deTalend ESB Standard Edition et Talend Open Studio for ESB, le gestionnaire d'authentification JAAS, plussimple à utiliser, qui ne nécessite pas l'installation de logiciels supplémentaires.

Dans la console du conteneur de Talend Runtime, saisissez :

tesb:switch-sts-jaas

Pour plus d'informations relatives au lancement des services ci-dessus, individuellement ou en standalone,consultez le Guide d'installation et de migration Talend.

Pour plus d'informations concernant les Services d'Infrastructures de l'ESB de Talend, consultez le Guide TalendESB Infrastructure Services Configuration Guide (en anglais).

2.4.2. Démarrer Talend Administration Center

Si vous êtes un utilisateur d'une version Enterprise ou Platform, vous devez démarrer Talend AdministrationCenter, à cette étape. Si vous utilisez Talend Open Studio for ESB, passez directement à Démarrer le Studio Talend.

Page 23: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Démarrer Talend Administration Center

Guide de prise en main de Talend ESB 19

Dans Talend Administration Center, vous pouvez créer un nouveau projet distant, créer un nouveau compteutilisateur et vous donner les droits d'accès à ce nouveau projet. L'avantage des projets distants est que plusieursutilisateurs peuvent travailler en collaboration sur le même projet centralisé, ce qui est la base pour les entreprisesayant des projets de niveau Entreprise.

Vous pouvez gérer la publication et le déploiement des artefacts ESB tels que les services SOAP, les Jobs deservices REST et les Routes développées via le Studio Talend dans le conteneur de Talend Runtime directementdepuis Talend Administration Center. Pour ce faire, connectez Talend Administration Center au conteneur deTalend Runtime. Pour plus d'informations, consultez Connecter Talend Runtime à Talend Administration Center.

2.4.2.1. Exécuter Talend Administration Center

1. Si vous avez installé le produit via Talend Installer, allez dans le répertoire nommé tac.

2. Double-cliquez sur le fichier exécutable : start_tac.bat.

Cela lance le conteneur de la servlet (par défaut, Apache Tomcat) contenant Talend Administration Center.

3. Une fois démarré, connectez-vous à Talend Administration Center avec le compte par défaut :[email protected]/admin.

Si vous avez installé le produit manuellement, cela signifie que vous avez déployé Talend Administration Centerdans votre propre conteneur de servlet. Exécutez simplement ce conteneur afin de démarrer Talend AdministrationCenter.

2.4.2.2. Configurer Talend Administration Center

Cliquez sur le lien Configuration du menu de gauche afin de terminer la configuration de Talend AdministrationCenter.

La plupart des avertissements qui s'affichent sont liés au fait que tous les modules du produit ne sont pas encoredémarrés. Par exemple :

• Commandline/secondary devient vert si vous décidez d'utiliser et de démarrer un CommandLine secondaire,ce qui n'est pas le cas dans les exemples d'utilisation qui suivent.

• ESB Service Locator and SAM devient vert si vous démarrez la solution ESB de Talend et ses Servicesd'Infrastructures.

• ESB Identity and Access Management devient vert uniquement si vous installez et démarrez Talend IdentityManagement Service, ce qui n'est pas le cas dans les exemples d'utilisation qui suivent.

• ESB Service Registry devient vert si vous démarrez l'ESB de Talend et ses Services d'Infrastructures.

Page 24: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Démarrer Talend Administration Center

20 Guide de prise en main de Talend ESB

• Software Update devient vert si vous démarrez l'Artifact Repository Archiva dédié, ce qui n'est pas le cas dansles exemples d'utilisation qui suivent. Cependant, notez que l'Artifact Repository Archiva est déprécié.

1. Pour la section Commandline/primary de la page Configuration de Talend Administration Center,démarrez le CommandLine : cmdline/start_cmdline.bat (Windows) ou cmdline/start_cmdline.sh(Linux) si vous avez utilisé Talend Installer.

Si vous avez installé le CommandLine manuellement, parcourez votre système jusqu'au répertoire danslequel il est installé et exécutez le fichier commandline.bat (Windows) ou commandline-linux.sh,commandline-linux_x86_64.sh (Linux), selon votre système d'exploitation et votre version de Linux.

Le CommandLine doit être démarré pour utiliser ESB Publisher.

2. Pour la section ESB Publisher and Conductor de la page Configuration de Talend Administration Center,démarrez Talend Nexus Artifact Repository.

Le référentiel d'artefacts, Artifact Repository est fourni avec Talend Administration Center. Si vous avezinstallé le produit via Talend Installer, vous le trouvez dans le dossier tac de votre installation, dans unsous-dossier Artifact-Repository-Nexus-VA.B.C.D.E. Si vous avez installé manuellement le produit,le référentiel d'artefacts Artifact Repository est disponible dans le package de Talend Administration Centerégalement (Talend-AdministrationCenter-rXXXXXX-VA.B.C).

Dans le répertoire Artifact-Repository-Nexus-VA.B.C.D.E, exécutez :

• ./bin/nexus console (Linux)

• .\bin\nexus.bat console (Windows).

Il s'exécute sur http://localhost:8081/nexus/index.html. Remplacez localhost et 8081 par l'adresseIP et le port du serveur sur lequel vous avez installé le référentiel Artifact Repository. Vous pouvez vousconnecter avec l'identifiant et le mot de passe par défaut : admin/admin123

3. Configurez les paramètres Log4j en renseignant le chemin d'accès aux fichiers de log technique et métier.

Le paramètre Technical logstash appender devient vert lorsque vous démarrez le serveur Talend Log Server: start_logserver.bat (Windows) ou start_logserver.sh (Linux).

4. Configurez les paramètres Svn en saisissant les informations de connexion à votre SVN.

Page 25: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Démarrer Talend Administration Center

Guide de prise en main de Talend ESB 21

Pour ce faire, vous devez avoir installé un serveur Subversion si vous êtes sous Windows, puisque Linuxembarque Subversion, et avoir créé deux référentiels sur votre serveur Subversion : un pour vos projets Talendet un pour les bibliothèques externes téléchargées lors du démarrage du Studio.

Renseignez les informations de connexion à ces deux référentiels dans l'entrée Svn de configuration, dansTalend Administration Center.

2.4.2.3. Prendre Talend Administration Center en main

Une fois Talend Administration Center démarré et configuré, vous pouvez utiliser ses fonctionnalitésd'administration.

Configurer votre premier utilisateur et projet

1. Cliquez sur le lien Users du menu de gauche et, dans la page Users, créez un nouvel utilisateur :

2. Cliquez sur le bouton Add.

3. Renseignez le formulaire Data, à droite, en saisissant vos informations de connexion à Talend AdministrationCenter et SVN.

Assurez-vous d'assigner les rôles de Designer et Operation manager aux rôles, afin de pouvoirrespectivement utiliser le Studio et gérer le déploiement des artefacts ESB à partir de Talend AdministrationCenter.

4. Cliquez sur Save. Le nouveau compte créé s'affiche dans la liste.

5. Cliquez sur le lien Projects dans le menu de gauche et, dans la page Projects, créez un nouveau projet.

6. Cliquez sur le bouton Add.

7. Dans le formulaire Project, à droite, saisissez le nom de votre projet dans le champ Label.

Page 26: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Démarrer Talend Administration Center

22 Guide de prise en main de Talend ESB

8. Cliquez sur Save. Le nouveau projet créé s'affiche dans la liste.

9. Cliquez sur le lien Project authorizations dans le menu de gauche et, dans la page Project authorizations,donnez les droits d'accès au compte utilisateur créé.

10. Dans le formulaire Project, à gauche, cliquez sur le projet afin de le sélectionner.

11. Dans le panneau User Authorizations, à droite, cliquez sur l'icône utilisateur Read write de l'utilisateur :

.

Vous pouvez vous connecter à ce projet.

2.4.2.4. Connecter Talend Runtime à Talend AdministrationCenter

Pour ce faire, vous devez être connecté en tant qu'utilisateur ayant un rôle Operation mananger (exploitant).Si vous êtes connecté en tant qu'Administrator avec le compte [email protected], déconnectez-vous etreconnectez-vous avec l'utilisateur que vous avez créé dans Prendre Talend Administration Center en main .

1. Cliquez sur la page Servers dans le menu à gauche, afin d'afficher la liste des serveurs.

Si vous avez installé le produit via Talend Installer, selon votre licence, un serveur, le Jobserver, doit êtreinstallé et s'affiche par défaut sous le nom serv1.

2. Créez un nouveau serveur en cliquant sur Add > Add server. Le formulaire Execution server s'affiche àdroite.

3. Renseignez le formulaire comme indiqué ci-dessous puis cliquez sur Save :

Page 27: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Démarrer le Studio Talend

Guide de prise en main de Talend ESB 23

• Label : Talend Runtime Container, par exemple.

• Host : 127.0.0.1

• Cochez la case Talend Runtime.

2.4.3. Démarrer le Studio Talend

Si vous utilisez les produits Enterprise ou Platform, vous devez d'abord suivre les instructions décrites dansDémarrer Talend Administration Center.

2.4.3.1. Lancer le Studio

1. Lancez le fichier exécutable correspondant à votre système d'exploitation, par exemple :

• TOS_ESB-win-*.exe (Windows) ou TOS_ESB-linux-gtk-* (Linux) pour Talend Open Studio for ESB.

• Talend-Studio-win-*.exe (Windows) ou Talend-Studio-linux-gtk-* (Linux) pour un studioEnterprise ou Platform.

2. Pour les produits Enterprise ou Platform, si vous avez installé manuellement le studio, il vous est demandéde charger un fichier de licence. Parcourez votre système jusqu'à votre fichier de licence et cliquez sur OKpour le charger.

2.4.3.2. Se connecter au studio

Pour Talend Open Studio for ESB

Aucune information de connexion n'est requise. Comme c'est la première utilisation par cet utilisateur, il vous estdemandé d'importer un projet démo et de créer un nouveau projet.

1. Créez un nouveau projet :

Dans la fenêtre de connexion au Studio Talend, saisissez le nom du projet dans le champ Create a NewProject puis cliquez sur Create.

Page 28: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Démarrer le Studio Talend

24 Guide de prise en main de Talend ESB

2. L'assistant [New project] s'ouvre afin que vous puissiez renseigner les détails du projet. Vous pouvez ajouterune description de votre projet.

Cliquez sur Finish. La fenêtre de connexion s'affiche à nouveau, avec ce projet. Cliquez sur Open.

L'assistant [Connect to TalendForge] s'ouvre.

3. Si vous êtes déjà enregistré sur TalendForge (tutoriels, support, etc.), connectez-vous ici. Si vous n'êtes pasencore enregistré, saisissez vos informations, afin de créer un compte. Vous pouvez également passer cetteétape en cliquant sur le bouton Skip.

4. La page [Welcome] s'affiche dans le Studio Talend pendant que l'initialisation du studio se termine.

Cliquez sur le bouton [x] de la page [Welcome] afin de la fermer et accéder à l'écran principal du StudioTalend.

Pour un studio Enterprise ou Platform

Dans un studio Enterprise ou Platform, connectez-vous au projet créé dans Talend Administration Center.

1. Créez une nouvelle connexion basée sur le compte créé dans Talend Administration Center:

Cliquez sur le bouton [...] à côté de la liste Connection. L'assistant [Connection] s'ouvre.

Page 29: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Démarrer le Studio Talend

Guide de prise en main de Talend ESB 25

2. Dans la liste Repository, sélectionnez Remote.

3. Dans le champ Name, saisissez le nom que vous souhaitez donner à la connexion.

4. Dans les champs User E-mail et User Password, saisissez respectivement l'adresse e-mail et le mot de passedu compte utilisateur créé dans Talend Administration Center.

5. Dans le champ Web-app Url, saisissez l'URL de Talend Administration Center.

6. Cliquez sur le bouton Check url afin de vérifier que la connexion à Talend Administration Center est bonne.

7. Si la connexion est bonne, cliquez sur OK pour la créer.

8. Dans la fenêtre de connexion au Studio Talend, les champs sont renseignés et contiennent les informationsde connexion.

Dans les listes Project et SVN Branch, tous les projets et branches auxquels vous avez accès et sur lesquelsvous pouvez travailler doivent se trouver dans la liste.

Dans cet exemple, un seul projet a été créé et il ne contient aucune branche, vous n'avez donc rien àsélectionner.

9. Cliquez sur Open pour ouvrir le projet.

L'assistant [Connect to TalendForge] s'ouvre.

10. Si vous souhaitez vous connecter à la communauté en ligne de Talend et en tirer parti, créez un compte ouconnectez-vous à partir de cet assistant. Vous pouvez également passer cette étape en cliquant sur le boutonSkip.

11. Pour terminer le démarrage du studio, l'assistant [Additional Talend Packages] vous demande d'installerdes bibliothèques tierces requises ou facultatives. Vous devez installer ces bibliothèques afin de tirer partiau maximum des fonctionnalités du studio. Assurez-vous d'avoir bien coché les cases Required et Optionalthird-party libraries et cliquez sutr Finish.

12. Dans l'assistant [Download external modules] qui s'ouvre, cliquez sur le bouton Accept all au bas del'assistant pour accepter toutes les licences des modules externes utilisés dans le studio.

13. L'assistant [Migration tasks done] s'ouvre et vous informe des tâches de migration. Cliquez sur OK pourfermer l'assistant.

14. La page [Welcome] du Studio Talend s'ouvre, pendant que l'initialisation du studio se termine.

Cliquez sur le bouton [x] de la page [Welcome] afin de la fermer et d'accéder à l'écran principal du StudioTalend.

Page 30: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Démarrer les tableaux de bord ESB

26 Guide de prise en main de Talend ESB

2.4.4. Démarrer les tableaux de bord ESB

Si vous êtes un utilisateur des produits Enterprise ou Platform, vous pouvez accéder aux tableaux de bord ESBdans Talend Administration Center. Ces tableaux de bord regroupent les informations de log liées aux événementsESB, aux endpoints du Locator et à la disponibilité des services, ainsi qu'au Service Activity Monitoring. Cettefonctionnalité n'est pas disponible avec le Talend ESB Standard Edition et le Talend Open Studio for ESB.

Pour pouvoir accéder aux différents tableaux de bord ESB, vous devez en premier lieu démarrer TalendAdministration Center (pour plus d'informations, consultez Démarrer Talend Administration Center), puis leTalend Log Server.

1. Si vous avez installé le produit via Talend Installer, allez dans le répertoire nommé logserv et double-cliquezsur le fichier exécutable : start_logserver.bat (Windows) ou start_logserver.sh (Linux).

Si vous avez téléchargé l'archive Talend-LogServer-VA.B.C.D.zip, dézippez-la et double-cliquez sur le fichierexécutable : start_logserver.bat (Windows) ou start_logserver.sh (Linux).

2. Dans la console du Talend ESB Container, exécutez les commandes suivantes :

tesb:start-el-server

tesb:stop-el-server

3. Modifiez les paramètres suivants du fichier de configuration : <TalendRuntimePath>\container\etc\org.talend.eventlogging.server.cfg.

persistence.event.db.active.default=false

search.active.default=true

elasticsearch.available=true

4. Retournez dans la console du Talend ESB Container et exécutez la commande suivante pour démarrer ànouveau le service Event Logging, à présent configuré correctement :

tesb:start-el-default

5. Comme vous avez utilisé la commande tesb:start-all pour démarrer tous les services d'Infrastructuredans le conteneur de Talend Runtime lors de son premier démarrage, les services Service Activity Monitoringont également été démarrés. Vous devez les arrêter afin de démarrer uniquement le service d'extraction etconsultation (retrieval service) du Service Activity Monitoring, nécessaire aux Dashboards ESB. Pour cefaire, exécutez les commandes suivantes :

tesb:stop-sam

tesb:start-sam-retrieval-service

6. Une fois tous les services lancés, démarrez les écouteurs (listeners) de l'Event Logging pour les événementsService Activity Monitoring et Service Locator, via les commandes suivantes :

tesb:start-el-samlistener

tesb:start-el-locatorlistener

Pour plus d'informations concernant la configuration, consultez le Talend ESB Infrastructure ServicesConfiguration Guide (en anglais) et le Guide utilisateur de Talend Administration Center.

Pour plus d'informations concernant l'accès aux logs générés lors de l'exécution des exemples contenus dansce guide, consultez : Accéder aux événements dans les Dashboards ESB, Accéder aux événements dans lesDashboards ESB et Accéder aux logs des événements ESB dans Talend Administration Center.

Page 31: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Prérequis logiciels pour les démos

Guide de prise en main de Talend ESB 27

2.5. Prérequis logiciels pour les démosEn plus des Prérequis à l'utilisation des produits ESB de Talend, un logiciel supplémentaire est nécessaire àl'exécution des démos.

Apache Maven 3.0.3 est utilisé pour construire la partie d'export de services de l'exemple SayHello (consultezExporter le service et l'exécuter dans un conteneur de Talend Runtime) et toutes les démos Rent-a-car. ApacheMaven doit être téléchargé à partir de http://maven.apache.org/ et installé. Le chemin vers le fichier exécutablemvn doit être ajouté à votre variable d'environnement Path.

Lorsque vous exécutez mvn pour la première fois, un accès HTTP à Internet est requis, pour pouvoir téléchargerles artefacts requis (et obtenir les versions les plus récentes). Le référentiel Maven local doit être créé à sonemplacement par défaut, ce qui signifie que la configuration Maven standard ne doit pas être modifiée.

Page 32: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Guide de prise en main de Talend ESB

Page 33: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Guide de prise en main de Talend ESB

Chapitre 3. Cas d'usage : déploiements etexécutions simplesCe chapitre vous apprend à utiliser les produits ESB de Talend grâce à différents cas d'usage.

• Dans Construction et déploiement des Services de données et des Routes à l'aide du Studio, vous apprenez àcréer des Routes et des Services dans le Studio Talend et à les déployer dans Talend Runtime.

• Dans Construction et déploiement de Services REST dans le Studio, vous apprenez à créer un service RESTdans le Studio Talend, à le déployer dans Talend Runtime et à l'appeler via un Job consommateur REST.

• Dans Construction et déploiement de Services de données et Routes à l'aide de Java, vous apprenez à compilerdes services Apache CXF et à les déployer dans Talend Runtime.

• Dans Import de la démo Java Rent-a-Car dans Eclipse, vous apprenez à importer des services en tant que projetdans Eclipse.

Pour plus d'exemples d'utilisation relatifs à la création de services, routes et Jobs de services de données dans leStudio Talend et à leur déploiement dans Talend Runtime, au test de services avec un projet soapUI et au testunitaire de routes à l'aide du framework Apache Camel Testing, consultez l'annexe De la théorie à la pratiquedans le Guide utilisateur du Studio Talend ESB.

Pour davantage de scénarios relatifs à la publication et à l'exécution d'un service, d'une route ou d'un Job deservices de données, ainsi que comment monitorer les endpoints des services et les activités des services dansTalend Administration Center, consultez l'annexe ESB De la théorie à la pratique dans le Guide utilisateur deTalend Administration Center.

Page 34: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construction et déploiement des Services de données et des Routes à l'aide du Studio

30 Guide de prise en main de Talend ESB

3.1. Construction et déploiement desServices de données et des Routes à l'aidedu StudioCette section vous permet de commencer à utiliser le Studio Talend. Vous allez apprendre à construire un exemplesimple SayHello, à l'aide de modèles prédéfinis.

Si seul le développement ESB basé Java vous intéresse, vous pouvez passer cette section et reprendre à Construction etdéploiement de Services de données et Routes à l'aide de Java.

Les étapes de l'exemple SayHello sont les suivantes :

1. Installez le Studio Talend comme décrit dans Démarrer le logiciel.

2. Construisez un service de données simple, SayHello, dans lequel un consommateur envoie des noms à unservice, qui affiche "Hello!" avec chacun d'entre eux tour à tour.

3. Construisez une Route simple, SayHello.

Cette section vous donne assez d'informations pour créer et exécuter la démo. Pour avoir une vue complète de l'interface duStudio Talend, consultez le Guide utilisateur du Studio Talend.

Pour plus d'informations concernant les composants spécifiques mentionnés dans cette démo, consultez le Guide de référencedes Composants Talend pour les composants relatifs aux services de données et le Guide de référence des ComposantsMediation de Talend ESB pour les composants de médiation.

3.1.1. Construire un service de données simpleSayHello

La création de ce service comprend un certain nombre d'étapes, que vous pouvez effectuer par de simples glisser-déposer des fonctionnalités existantes.

1. Créez un fournisseur SayHello.

2. Créez un consommateur SayHello.

3. Exportez le service vers un conteneur de Talend Runtime et exécutez à nouveau le consommateur.

3.1.1.1. Créer un fournisseur SayHello

Cette section fournit des instructions étape par étape pour construire le fournisseur SayHello.

Créer un service

Dans cette section, vous allez créer un WSDL définissant le contrat externe du service Web que les clients peuventutiliser. (Consultez Support des services Web pour plus d'informations).

1. Pour créer le service, cliquez-droit sur Services, dans le menu de gauche et sélectionnez Create Service.

Page 35: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un service de données simple SayHello

Guide de prise en main de Talend ESB 31

2. Saisissez le nom, SayHelloService, dans le champ Name, l'objectif, Demo, dans le champ Purpose et unedescription du service, puis cliquez sur Next.

3. Dans l'étape suivante, appelée [Assign WSDL], sélectionnez Create new WSDL et cliquez sur Finish pourretourner à l'écran principal.

4. La fenêtre principale affiche un onglet [SayHelloService_0.1.wsdl]. Ce WSDL contient unnouveau port (SayHelloServicePort) pour le service et ses opérations de requêtes et de réponses

Page 36: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un service de données simple SayHello

32 Guide de prise en main de Talend ESB

(SayHelloServiceOperationRequest et SayHelloServiceOperationResponse respectivement). Passezvotre souris sur les flèches grises à droite des opérations, afin d'afficher leurs paramètres :

Il est possible de modifier les opérations, d'ajouter de nouvelles opérations et de modifier les opérationsexistantes. Cependant, les opérations par défaut suffisent pour cet exemple.

Configurer et exposer un service

Pour modifier les composants dans les sections suivantes :

• Cliquez sur la bordure du rectangle afin de déplacer le rectangle.

• Annulez ou modifiez ces changements en cliquant-droit sur le rectangle et en sélectionnant l'action appropriée.

• Cliquez au centre d'un rectangle pour effectuer des actions particulières au composant, par exemple, examiner un détaildu composant).

1. Sauvegardez les détails du service et des types de données de requête/réponse WSDL dans le nœud Metadata,afin que les autres composants puissent y accéder.

Page 37: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un service de données simple SayHello

Guide de prise en main de Talend ESB 33

Cette option importe les métadonnées WSDL du service dans le Repository, sous le nœud Metadata > Filexml. Cela vous permet de partager les détails des opérations à travers les différents services et les autrescomposants.

2. Implémentez l'opération - développez les éléments affichés dans SayHelloService 0.1 puis cliquez-droit surSayHelloServiceOperation 0.1 et sélectionnez Assign Job. Sélectionnez Create a new Job and Assign itto this Service Operation puis cliquez sur Next.

Laissez le nom et le préfixe par défaut, SayHelloServicePortType_SayHelloServiceOperation puis cliquezsur Finish. Cela crée un nouveau Job, ce qui vous permet d'implémenter les opérations, à l'aide descomposants situés dans l'espace de modélisation graphique.

3. Le modèle par défaut du Job SayHelloServicePortType_SayHelloServiceOperation se compose d'untESBProviderRequest et d'un tESBProviderResponse. Séparez les deux composants dans l'espace demodélisation graphique en cliquant sur l'icône du composant tESBProviderResponse_1 et en le glissantvers la droite.

Page 38: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un service de données simple SayHello

34 Guide de prise en main de Talend ESB

4. Ajoutez un composant tXMLMap. Ce composant transforme et route des données d'une ou plusieurssource(s) vers une ou plusieurs destination(s). Saisissez tXMLMap dans le champ de recherche de la Palette.Vous pouvez trouver deux composants du même nom dans deux familles différentes, mais ces composantssont les mêmes, vous pouvez donc sélectionner l'un ou l'autre. Glissez et déposez le composant de votre choixentre les deux composants ESB.

5. Cliquez-droit sur le centre du tESBProviderRequest_1 et sélectionnez Row, puis Main et déposez le boutdu lien sur le tXMLMap_1.

6. Cliquez-droit sur le tXMLMap_1, sélectionnez Row > Main et déposez le bout du lien sur letESBProviderResponse_1. Nommez le lien Response, puis cliquez sur OK. Cliquez sur Yes lorsqu'on vouspropose d'importer les schémas.

Configurer l'opération de service

1. Personnalisez l'opération de service comme dans le scénario. Double-cliquez sur le tXMLMap_1 pour ouvrirson éditeur. Le tXMLMap est utilisé pour router les informations de la requête à la réponse et vous permetd'utiliser les informations du schéma existant dans le WDSL.

2. Sous le lien row1 (Main), à gauche, cliquez-droit sur payload et sélectionnez Import fromRepository. Dans l'assistant [Metadata] qui s'ouvre, parcourez l'arborescence de File XML àSayHelloServiceOperationRequest0.1, sélectionnez cet élément et cliquez sur OK.

3. De la même manière, à droite, importez le type de réponse par défaut, cliquez-droit sur payload puissélectionnez Import from repository > File XML et SayHelloServiceOperationResponse 0.1.

Page 39: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un service de données simple SayHello

Guide de prise en main de Talend ESB 35

Cliquez sur OK.

Les opérations de requête et de réponse sont implémentées à partir des schémas existants.

4. Reliez le schéma de requête au schéma de réponse : cliquez sur le champ in, à gauche et déposez-le dansl'expression out de la réponse, dans la table de droite.

5. Modifiez l'expression par défaut à envoyer. Du côté droit, sous Expression, cliquez sur la valeurHelloServiceRequest et cliquez sur le bouton [...] à côté. Modifiez l'expression (correspondant à un nom) encliquant dans le champ et ajoutez "Hello " + avant et +"!" après.

Cliquez sur OK. Vous pouvez voir l'expression mise à jour, à droite. Cliquez sur OK pour retourner à lafenêtre de création de Jobs.

6. Afin d'obtenir plus d'informations concernant l'exécution du Job, ajoutez un composant de log. Vous pouvezsimplement chercher le composant tLog dans la Palette et glisser un tLogRow de la Palette. Déposez-le surle lien Response, entre le composant tXMLMap_1 et tESBProviderResponse_1.

Page 40: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un service de données simple SayHello

36 Guide de prise en main de Talend ESB

L'implémentation de l'opération SayHelloServiceOperation est terminée.

Exécuter le service dans le Studio Talend

Assurez-vous rapidement que cette partie fonctionne en cliquant sur l'onglet Run (Job SayHello...) puis sur lebouton Run.

Cela construit le Job et la sortie de log affiche que le service Web s'est vu assigner le port 8090 et a été publiépour que les autres services puissent l'utiliser.

Sélectionnez et copiez "http://localhost:8090/services/SayHelloService" pour un usage ultérieur.

Dans le Studio Talend vous pouvez tester chaque opération de Service implémentée individuellement dans un Job Designafin de vérifier que l'implémentation est correcte. Si vous souhaitez tester le service entier avec différentes opérations, vousdevez exporter le service et le déployer dans le conteneur d'exécution. Il n'est pas possible de tester un service avec différentesopérations dans le Studio Talend.

3.1.1.2. Consommateur du service SayHello

Dans cette section, vous allez apprendre comment créer le consommateur du service SayHello et comment appelerle service avec ce consommateur.

Page 41: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un service de données simple SayHello

Guide de prise en main de Talend ESB 37

Créer le consommateur du service SayHello

1. Pour tester le service, vous pouvez également créer un nouveau Job consommateur. Cliquez-droit sur JobDesigns et sélectionnez Create Job. Dans le champ Name, saisissez SayHelloConsumer et, dans le champPurpose saisissez l'objectif Demo. Cliquez sur Finish.

2. Dans l'onglet [Job SayHelloConsumer 0.1], cherchez le composant tFixedFlowInput dans la Palette, puisglissez-le et déposez-le dans l'espace de modélisation graphique. De la même manière, glissez-déposez untXMLMap, un tESBConsumer et deux tLogRow, comme expliqué ci-dessous.

Le composant tFixedFlowInput génère autant de lignes et de colonnes que vous le souhaitez à l'aide devariables de contexte et le tESBConsumer appelle une méthode spécifiée depuis le service Web invoqué etretourne une classe, selon les paramètres.

3. Configurez les composants. Double-cliquez sur le tFixedFlowInput_1 et, dans l'onglet Component,sélectionnez Use Inline Table. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir la fenêtrede modification de schéma.

Dans cette fenêtre, cliquez sur le bouton [+] pour ajouter un argument de type String et renommeznewColumn en Name puis cliquez sur OK pour fermer la fenêtre.

4. Retournez dans l'onglet Component du tFixedFlowInput_1, cliquez sur le bouton [+] pour ajouter des lignesd'exemple et remplacez successivement le texte newLine par Peter, Alice et Bob.

Page 42: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un service de données simple SayHello

38 Guide de prise en main de Talend ESB

Ce sont les données d'exemple que le consommateur va envoyer au service SayHelloService.

5. Dans le Job Job SayHelloConsumer 0.1, reliez les composants comme précédemment, en cliquant-droit eten glissant le lien tFixedFlowInput_1 > row > main sur le tXMLMap_1. Cliquez-droit sur le tXMLMap_1,sélectionnez le lien Row et déposez le bout du lien sur le tESBConsumer_1. Nommez cette connexionRequest (cliquez sur Yes pour récupérer le schéma du composant cible).

6. Double-cliquez sur le tXMLMap afin de le configurer comme précédemment. A droite, cliquez surpayload > Import From Repository. Dans l'assistant [Metadata] qui s'ouvre, naviguez de File XML àSayHelloServiceOperationRequest 0.1 et sélectionnez cet élément. Cela vous permet d'appeler l'opérationde service. Cliquez sur OK.

7. Cliquez et déposez le champ Name, à gauche sur le paramètre in à droite puis cliquez sur OK pour retournerà l'écran principal.

8. Configurez les sorties des réponses. Cliquez-droit sur le tESBConsumer_1, sélectionnez Row > Responseet déposez le lien sur le composant tLogRow_1, pour que les réponses passent dans ce composant. De lamême manière, cliquez-droit sur le tESBConsumer_1, sélectionnez Row > fault et déposez le lien sur letLogRow_2 afin que les erreurs passent dans ce composant.

Page 43: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un service de données simple SayHello

Guide de prise en main de Talend ESB 39

La configuration du Job consommateur est terminée.

Le tFixedFlowInput génère Peter, Alice et Bob, qui sont passés du tXMLMap au tESBConsumer, quieffectue les invocations respectives sur le fournisseur cible.

Exécuter le consommateur

1. Indiquez au consommateur l'endpoint du WSDL du Service. Dans l'onglet Component du composanttESBConsumer, modifiez l'endpoint afin de référencer le bon service. Cliquez sur le bouton [...] à côté deService Configuration. La fenêtre de configuration du WSDL s'ouvre. Collez "http://localhost:8090/services/SayHelloService" pour remplacer l'adresse du service, ce qui donne l'adresse complètesuivante : "http://localhost:8090/services/SayHelloService?WSDL". Cliquez sur le bouton derafraîchissement (flèches jaunes), à droite, pour charger l'information. Cliquez sur Finish.

2. Exécutez le Job consommateur. Cliquez sur l'onglet Run (Job SayHelloConsumer) puis sur le bouton Run.Le Job se construit et s'exécute et les trois noms s'affichent dans un message Hello dans la console.

Page 44: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un service de données simple SayHello

40 Guide de prise en main de Talend ESB

Vous avez terminé la création et l'exécution d'un consommateur et d'un fournisseur de service SayHello dans leStudio Talend.

3.1.1.3. Exporter le service et l'exécuter dans un conteneur deTalend Runtime

Dans cette section, vous allez apprendre à exporter le service SayHello pour l'exécuter dans un conteneur OSGi,le conteneur de Talend Runtime.

1. Avant d'exporter le service, démarrez un conteneur de Talend Runtime et assurez-vous que tous les Servicesd'Infrastructures sont démarrés, comme décrit dans Démarrer Talend Runtime.

2. Pour les utilisateurs des versions Enterprise ou Platform souhaitant voir, dans les Dashboards ESB de TalendAdministration Center, les événements Service Activity Monitoring et Service Locator générés lors del'exécution du cas d'usage SayHello, assurez-vous de démarrer ces Dashboards comme décrit dans Démarrerles tableaux de bord ESB.

3. Pour les utilisateurs des versions Enterprise ou Platform souhaitant utiliser les Dashboards ESB, vous devezconfigurer certains paramètres avant l'export du service. Sous Services, cliquez-droit sur SayHelloService0.1 et sélectionnez ESB Runtime Options. Dans la boîte de dialogue, cochez les cases Use Service ActivityMonitoring et Use Service Locator.

Page 45: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un service de données simple SayHello

Guide de prise en main de Talend ESB 41

4. Exportez le service. Sous Services, cliquez-droit sur SayHelloService 0.1 et sélectionnez Export Service.Dans la fenêtre [Save As], spécifiez le dossier souhaité. Cliquez sur Finish.

Le processus construit et exporte le service en tant que fichier SayHelloService-0.1.kar.

5. Copiez le fichier SayHelloService-0.1.kar et collez-le dans le répertoire deploy du conteneur de TalendRuntime. Le service démarre directement.

Les utilisateurs des versions Enterprise ou Platform peuvent également déployer le service via l'applicationWeb Talend Administration Center. Pour plus d'informations, consultez Publier et déployer à partir de TalendAdministration Center.

6. Puisque l'environnement de chargement est dynamique, le service démarre automatiquement. Pour le voirdans la fenêtre du conteneur de Talend Runtime, saisissez la commande list dans l'invite de commande.

7. Pour vérifier que le service est bien déployé, allez à la page http://localhost:8040/services. Le serviceSayHelloService est listé.

Page 46: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Accéder aux événements dans les Dashboards ESB

42 Guide de prise en main de Talend ESB

8. Vérifiez qu'il fonctionne, en démarrant le consommateur.

Le port sur lequel s'exécute le service a été modifié et utilise le port du conteneur de Talend Runtime, pardéfaut 8040, vous devez donc changer le port. Sous Job Designs, ouvrez le Job SayHelloConsumer 0.1.Cliquez sur le composant tESBConsumer_1. Cliquez sur l'onglet Component.

9. Cliquez sur le bouton [...] à côté de Service configuration pour ouvrir la fenêtre des paramètres du WSDL.

10. Mettez à jour le numéro du port afin d'utiliser le port du conteneur de Talend Runtime port - changez 8090en 8040 et cliquez sur le bouton de rafraîchissement.

11. Exécutez le Job consommateur, comme précédemment, à l'aide du bouton Run. La sortie est la même queprécédemment.

12. Si vous regardez la sortie du conteneur de Talend Runtime, vous pouvez voir que les messages Hello généréspar le serveur s'exécutent dans le conteneur.

Vous avez créé un consommateur et un service simple SayHello, les avez exécuté dans le Studio Talend puis vousavez exécuté le service dans le conteneur de Talend Runtime.

3.1.2. Accéder aux événements dans les DashboardsESB

Pour les utilisateurs des versions Enterprise ou Platform, une fois que vous avez déployé le serviceSayHelloService, avec les options Service Activity Monitoring et Service Locator activées, et que vous avez faitune requête à l'aide de SayHelloConsumer, vous pouvez voir les événements dans les Dashboards ESB de TalendAdministration Center.

Dans l'application Web Talend Administration Center, cliquez sur Monitoring > Logging dans l'arborescencedu menu :

Page 47: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Accéder aux événements dans les Dashboards ESB

Guide de prise en main de Talend ESB 43

Pour accéder aux logs des événements des endpoints des services, cliquez sur le Dashboard ESB LocatorEndpoints :

Pour accéder aux logs des événements de l'activité des services, cliquez sur le Dashboard ESB SAM :

Page 48: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Exemple SayHelloRoute

44 Guide de prise en main de Talend ESB

Pour plus d'informations sur les Dashboards ESB, consultez Accéder aux logs des événements ESB dans TalendAdministration Center.

3.1.3. Exemple SayHelloRoute

Dans cet exemple, vous allez apprendre à étendre vos consommateur et producteur du service SayHello. Vousavez deux instances du fournisseur et, à l'aide de la perspective Mediation, vous allez créer une Route filtrant lesmessages Hello selon leur nom, afin que les messages contenant le nom Alice aillent dans un fournisseur et lesmessages contenant d'autres noms aillent dans un second fournisseur.

Vous allez exécuter le consommateur depuis le premier exemple et afficher les messages provenant duconsommateur, routés par le bon service.

3.1.3.1. Créer la Route

1. Passez de la perspective Integration à la perspective Mediation en cliquant sur Mediation, dans le coinsupérieur droit.

2. Créez une nouvelle Route en cliquant-droit sur Routes > Create Route. Nommez-la SayHelloRoute, dans lechamp Name et saisissez son objectif, Demo, dans le champ Purpose, puis cliquez sur Finish.

Page 49: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Exemple SayHelloRoute

Guide de prise en main de Talend ESB 45

L'onglet Route SayHelloRoute 0.1 s'ouvre.

3. Vous pouvez voir que la Palette est différente de celle de la perspective Integration. Vous allez créerune route typique basée sur le contenu, glisser-déposer des composants depuis la Palette dans l'espace demodélisation graphique.

Le message de la requête provient du consommateur, glissez-déposez le composant Messaging > cCXF, quiintercepte les messages en provenance des endpoints de serveur.

Comme vous allez créer une route basée sur le contenu, glissez-déposez un composant cMessageRouter, dela famille Routing, pour router les messages selon les conditions définies.

Ajoutez deux cCXF, de la famille Messaging, pour les deux services cible.

Le fait d'avoir plusieurs composants cCXF nommés de la même manière dans une Route n'est pas supporté.

Il est recommandé de nommer chaque composant par un nom unique afin de mieux identifier son rôle au sein de laRoute.

Des noms en doublon peuvent poser problème lors de la génération de code de certains composants.

4. Pour terminer l'implémentation, ajoutez quelques paramètres. Cliquez sur le cCXF_1, puis sur l'ongletComponent :

• Si vous utilisez Talend Open Studio for ESB pour la première fois, il vous est demandé d'installer desbibliothèques externes dans le Studio pour pouvoir utiliser des composants comme le cCXF. Suivez lesinstructions et installez les bibliothèques.

Page 50: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Exemple SayHelloRoute

46 Guide de prise en main de Talend ESB

• Dans le champ Address, collez l'adresse du service précédent "http://localhost:8040/services/SayHelloService" et changez le numéro du port en 8042, puisque le nouveau service écoute sur ce port.L'adresse du nouveau service est "http://localhost:8042/services/SayHelloService".

• Dans le champ Wsdl File, spécifiez l'URL du WSDL du service original. Utilisez l'adresse http:// pourobtenir directement les informations du service que vous venez de déployer. Les informations sontdisponibles à l'adresse "http://localhost:8040/services/SayHelloService?WSDL", pour les troisservices.

• Dans la liste Dataformat, sélectionnez PAYLOAD, puisque vous souhaitez effectuer une action sur lecorps du message.

A tout moment, vous pouvez sauvegarder les informations en sélectionnant File > Save ou en cliquant sur l'icône Savedans le coin supérieur gauche.

5. Répétez l'étape précédente pour les autres composants : mais, pour le cCXF_2, modifiez le numéro du portdans le champ Address en 8040 et, pour le cCXF_3 changez le numéro du port, dans le champ Addressen 8041.

En résumé, vous créez une requête sur le port 8042 (cCXF_1), vous l'envoyez au port 8040 (cCXF_2) ou8041 (cCXF_3), selon le contenu du message.

6. Reliez les composants. Connectez le cCXF_1 au cMessageRouter_1 : cliquez-droit sur le cCXF_1,sélectionnez Row > Route et déposez le lien sur le cMessageRouter_1.

7. Créez un lien Trigger > When pour le premier service : cliquez-droit sur cMessageRouter_1, sélectionnezTrigger > When et déposez le lien sur le cCXF_2.

8. De la même manière, ajoutez un lien Trigger > Otherwise du cMessageRouter_1 au cCXF_3 : cliquez-droit sur le cMessageRouter_1, sélectionnez Trigger > Otherwise et déposez le lien sur le cCXF_3. LaRoute ressemble à ceci :

Page 51: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Exemple SayHelloRoute

Guide de prise en main de Talend ESB 47

9. Configurez la condition When : cliquez-droit sur le lien when1, pour ouvrir une boîte de dialogue.

Dans la liste Type, sélectionnez simple. Dans le champ Condition, saisissez "${bodyAs(String)}contains 'Alice'".

De cette manière, les messages contenant le nom Alice dans leur corps sont routés vers un service dans unconteneur de Talend Runtime écoutant le port 8040.

3.1.3.2. Exécuter les services

1. Tout d'abord, vous devez avoir créé un conteneur de remplacement - consultez Créer un conteneur deremplacement pour les démos pour plus d'informations. Vous devez également avoir démarré tous sesServices d'Infrastructures (tesb:start-all). Vérifiez que le conteneur par défaut est bien en coursd'exécution - redémarrez-le si nécessaire et démarrez le conteneur de remplacement.

2. Copiez tous les fichiers .kar du service créé (dans le répertoire d'installation du produit ESB de Talend,/container/deploy/SayHelloService-0.1.kar) et collez-les dans le dossier deploy du conteneur deremplacement.

3. Pour tester les configurations, avant d'ajouter le consommateur, exécutez la Route créée dans le studio.Cliquez sur le bouton Run dans l'onglet Run (Job SayHelloRoute) :

Page 52: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Exemple SayHelloRoute

48 Guide de prise en main de Talend ESB

Cela vous permet de vérifier que les informations de configuration de CXF ont une syntaxe correcte.L'exécution donne une sortie ne contenant aucune ligne, ce qui reflète le flux des messages et vous faitcomprendre que les parties se connectent. Laissez la Route s'exécuter.

Si vous avez des erreurs de syntaxe, cliquez sur chaque composant individuellement et examinez son contenu dansl'onglet Component. Vous pouvez commencer par vérifier que les guillemets doubles sont bien là où il faut et queles numéros de ports sont corrects.

4. Retournez au consommateur pour exécuter la démo. Cliquez sur la perspective Integration, dans le coinsupérieur droit. Ouvrez le Job SayHelloConsumer 0.1. Mettez à jour le numéro de port : cliquez surl'onglet Component du composant tESBConsumer, puis sur le bouton [...] à côté de Service Configuration.Modifiez le numéro de port en 8040, et cliquez sur le bouton de rafraîchissement, afin de récupérerles informations du WSDL. Mettez à jour l'endpoint pour avoir le même que pour la Route - http://localhost:8042/services/SayHelloService.

5. Envoyez une requête en exécutant le Job consommateur : cliquez sur l'onglet Run (Job SayhelloConsumer)puis sur le bouton Run. Hello Peter, Hello Alice et Hello Bob s'affichent dans la sortie consommateur, commeprécédemment. Vous pouvez constater, dans l'espace de modélisation graphique, que trois lignes ("3 rows"),c'est-à-dire les trois messages, sont passées au premier tLogRow. Aucune ligne ne contient d'erreur.

Page 53: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Exemple SayHelloRoute

Guide de prise en main de Talend ESB 49

6. Dans l'onglet Route SayHelloRoute 0.1, vous pouvez constater qu'un message est passé au fournisseurcCXF_2 et que deux messages sont passés au fournisseur cCXF_3.

7. Si vous regardez la sortie des deux conteneurs, vous pouvez constater que les messages ont bien été routés.Voici la sortie du premier conteneur :

Voici la sortie du second conteneur :

La démo SayHelloRoute est terminée.

3.1.3.3. Exporter les Routes

Vous pouvez exporter les Routes en tant que fichiers .kar pour le moteur d'exécution ESB. Dans la perspectiveMediation, sous le nœud Routes, cliquez-droit sur SayHelloRoute 0.1 et sélectionnez Build Route.

Page 54: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construction et déploiement de Services REST dans le Studio

50 Guide de prise en main de Talend ESB

Spécifiez un chemin pour le fichier .kar.

La capture d'écran affiche la Route en cours d'export vers le répertoire /container/deploy dans Talend Runtimepour la déployer directement, mais elle peut également être stockée ailleurs et copiée ultérieurement dans lerépertoire de déploiement.

3.2. Construction et déploiement de ServicesREST dans le StudioCette section vous permet de commencer à utiliser le Studio Talend en vous expliquant comment construire unservice REST simple d'exemple.

Si seul le développement ESB basé Java vous intéresse, vous pouvez passer cette section et reprendre à Construction etdéploiement de Services de données et Routes à l'aide de Java.

Les étapes de la démo REST sont les suivantes :

1. Installez le logiciel, comme décrit dans Téléchargement et installation du logiciel et exécutez-le, commeexpliqué dans Démarrer le logiciel.

Vous devez au moins avoir démarré le Studio Talend et Talend Runtime.

2. Construisez un service REST simple explorant les données d'une table d'une base de données simple contenantdes informations au sujet d'employés.

Page 55: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un service REST simple

Guide de prise en main de Talend ESB 51

Pour la démo, le scénario suivant utilise un simple composant tFixedFlowInput au lieu d'un composant deconnexion à une base de données, mais vous pouvez adapter à votre base de données si vous le souhaitez.

3. Déployez le service REST dans un conteneur de Talend Runtime.

4. Construisez un consommateur simple REST envoyant une requête au service.

Cette section vous fournit assez d'informations pour créer et exécuter la démo. Pour avoir une vue globale de l'interface duStudio Talend, consultez le Guide utilisateur du Studio Talend.

Pour plus d'informations concernant les composants spécifiques mentionnés dans cette démo, consultez le Guide de référencedes Composants Talend.

3.2.1. Construire un service REST simple

Cette section fournit des instructions étape par étape pour construire le fournisseur de service REST. A la différencedes services SOAP, construits via un assistant [Service], les services REST sont construits via l'assistant [JobDesign] du Studio Talend.

Dans cette section, vous allez créer :

1. un fournisseur de service REST simple interrogeant les données des employés. Consultez Créer un fournisseurde service.

2. un second mapping REST pour interroger un employé spécifique via son ID. Consultez Ajouter un nouveaumapping au service.

3.2.1.1. Créer un fournisseur de service

Dans cette section, vous allez créer un service REST donnant accès à une liste d'employés ainsi qu'à leurs données.Pour plus d'informations, consultez Support des services Web.

Créer le Job

1. Pour créer le service, cliquez-droit sur Job Designs dans le menu de gauche puis sélectionnez Create Job.

Page 56: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un service REST simple

52 Guide de prise en main de Talend ESB

2. Saisissez le nom (EmployeeService) dans le champ Name, l'objectif (demo) dans le champ Purpose et unedescription du service, puis cliquez sur Finish pour retourner à l'écran principal.

L'écran principal affiche maintenant un onglet Job EmployeeService 0.1.

3. Dans ce nouveau Job, vous allez construire le service REST. Par exemple, rechercher les composantstRESTRequest et tRESTResponse dans la Palette et déposez-les dans l'espace de modélisation graphique.

De la même manière, glissez-déposez un tFlowToIterate, un tFixedFlowInput et un tXMLMap commeci-dessous.

Configurer la requête REST

1. Double-cliquez sur le composant tFixedFlowInput pour afficher sa vue Component, au bas de la fenêtre.Cliquez sur le bouton [...] à côté du champ Edit schema.

Page 57: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un service REST simple

Guide de prise en main de Talend ESB 53

Dans l'assistant [Schema of tFixedFlowInput] qui s'ouvre, cliquez trois fois sur le bouton [+] au bas del'assistant afin d'ajouter trois colonnes. Configurez-les comme ci-dessus.

2. Dans la zone Mode, sélectionnez l'option Use Inline Content (delimited file) et collez les informationssuivantes dans le champ Content :

1;Lyndon;Monroe2;John;Johnson3;Calvin;McKinley4;Andrew;Truman5;Richard;Taft6;Andrew;Adams7;Herbert;Buchanan8;Bill;Carter9;Ulysses;Jackson10;Warren;McKinley

3. Double-cliquez sur le composant tRESTRequest pour afficher sa vue Component et configurer sespropriétés.

4. Dans le champ REST Endpoint, saisissez l'URI de l'endpoint à partir duquel le service est disponible.L'URI se compose généralement d'un nom d'hôte ou d'une adresse IP et d'un numéro de port, séparéspar le symbole ":". Saisissez le chemin relatif "/services". L'URI se présente comme suit : http://<IP_address>:<port_number>/services.

5. Cliquez sur le bouton [+] sous la table REST API Mapping afin d'ajouter un nouveau mapping.

6. Dans le champ HTTP Verb, laissez l'opération GET .

7. Dans le champ URI Pattern, saisissez le chemin XPath vers la racine de l'arborescence XML : "/employees".

8. Cliquez dans le champ Output Flow pour afficher le bouton [...] et cliquez sur ce bouton.

L'assistant [Give the name for the schema] s'ouvre.

9. Dans le champ Schema Name, nommez le schéma getEmployees et cliquez sur OK.

Un nouvel assistant s'ouvre, dans lequel vous pouvez définir les colonnes du schéma que vous allez créer.

10. Comme vous ne souhaitez pas définir de schéma pour le moment, cliquez sur OK.

Le nouveau mapping getEmployees s'affiche dans la table REST API Mapping .

Page 58: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un service REST simple

54 Guide de prise en main de Talend ESB

Relier les composants

1. Cliquez-droit sur le composant tRESTRequest, sélectionnez Row > getEmployees dans le menu et cliquezsur le tFlowToIterate.

2. Cliquez-droit sur le tFlowToIterate, sélectionnez Row > Iterate dans le menu, puis cliquez sur le composanttFixedFlowInput.

3. Cliquez-droit sur le tFixedFlowInput, maintenez le clic et déposez sur le composant tXMLMap.

4. Cliquez-droit sur le tXMLMap, maintenez le clic et déposez sur le tRESTResponse. Renommez le lien desortie en all lorsque la fenêtre s'ouvre [tXMLMap Output].

Configurer le tXMLMap

1. Double-cliquez sur le tXMLMap pour ouvrir son éditeur.

2. Dans l'éditeur, le flux d'entrée de la table de base de données s'affiche à gauche, dans la zone d'entrée del'éditeur. Dans la zone de sortie, à droite, configurez le flux XML à envoyer au tRESTResponse.

3. Dans la table de sortie all, cliquez-droit sur l'élément root et sélectionnez Rename dans le menu pour lerenommer employees.

Page 59: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un service REST simple

Guide de prise en main de Talend ESB 55

Définissez l'arborescence XML de l'élément racine employees.

4. Cliquez-droit sur employees et sélectionnez Create Sub-Element dans le menu afin de créer un sous-élémentnommé employee contenant les informations relatives aux employés.

5. Cliquez-droit sur ce nouveau sous-élément employee et sélectionnez As loop element dans le menu.

Une boucle est effectuée à chaque nouvel employé rencontré, pour récupérer leurs informations individuelles.

6. Cliquez sur le bouton en forme de clé anglaise en haut de la table pour afficher les options de sortie etsélectionnez true dans la liste All in one.

Lorsque l'option All in one est configurée à true pour créer un seul document XML à partir de toutes leslignes d'entrée du composant tXMLMap, cela permet d'envoyer une réponse complète lors de l'appel duService Web.

7. Mappez le flux d'entrée et le flux de sortie, sélectionnez la colonne id de la table row1 et déposez la colonnesur le sous-élément employee de la table all. L'assistant [Selection] s'ouvre.

Page 60: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un service REST simple

56 Guide de prise en main de Talend ESB

8. Dans l'assistant, sélectionnez Create as attribute of target node et cliquez sur OK afin de valider.

Un mapping est créé entre la colonne id de la table employees de la base de données et l'attribut id del'arborescence XML employee.

9. Sélectionnez les colonnes firstname et lastname de la table row1 et déposez-les sur le sous-élémentemployee de la table de sortie all.

10. Dans l'assistant [Selection], sélectionnez Create as sub-element of target node puis cliquez sur OK afinde valider.

Le mapping entre le flux d'entrée et le flux de sortie est terminé.

11. Cliquez sur Apply puis sur OK pour fermer l'éditeur et valider la configuration.

Exécuter le Job

1. Appuyez sur F6 pour exécuter le Job. Il est automatiquement enregistré avant exécution. La vue Run s'afficheau bas du studio et la console suit l'exécution.

Le Service REST a été publié vers l'endpoint suivant http://127.0.0.1:8090/services et le fournisseurécoute sans discontinuer les requêtes. Si vous souhaitez l'arrêter, cliquez sur le bouton Kill de la vue Run.

2. Pour vérifier le service, allez à l'adresse de l'endpoint où le service a été publié, http://127.0.0.1:8090/services/employees.

Page 61: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un service REST simple

Guide de prise en main de Talend ESB 57

3.2.1.2. Ajouter un nouveau mapping au service

Dans la section précédente (Créer un fournisseur de service), vous avez vu comment créer un serviceREST récupérant toutes les informations des employés. Pour parcourir les informations de chaque employéindividuellement, ajoutez un mapping REST.

Modifier la requête REST

1. Dans le Job EmployeeService, double-cliquez sur le composant tRESTRequest pour afficher sa vueComponent et modifier ses propriétés.

2. Cliquez sur le bouton [+] au bas de la table REST API Mapping pour ajouter un nouveau mapping.

3. Dans le champ HTTP Verb, laissez l'opération GET.

4. Laissez le champ URI Pattern, tel qu'il est.

Page 62: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un service REST simple

58 Guide de prise en main de Talend ESB

5. Cliquez dans le champ Output Flow pour afficher le bouton [...] et cliquez sur ce bouton.

La boîte de dialogue [Give the name for the schema] s'ouvre.

6. Dans le champ Schema Name, nommez le schéma getEmployee et cliquez sur OK.

7. Dans l'assistant du schéma, cliquez sur le bouton [+] pour ajouter une ligne à la table.

Renommez la ligne id et changez son Type en Integer. Cliquez sur OK pour valider.

Le nouveau mapping getEmployee s'affiche dans la table REST API Mapping.

8. Dans le champ URI Pattern, saisissez le chemin XPath jusqu'à la racine de l'arborescence XML suivi de lavariable d'identification de chaque employé : "/employees/{id}".

9. Dupliquez les composants tFixedFlowInput et tRESTResponse, en les copiant-collant.

10. Cliquez dans l'espace de modélisation graphique et commencez à saisir le nom du composant tXMLMap, àl'endroit où vous souhaitez l'ajouter, dans le champ de texte qui apparaît automatiquement. Double-cliquezsur son nom pour l'ajouter dans l'espace de modélisation graphique.

Page 63: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un service REST simple

Guide de prise en main de Talend ESB 59

Relier les composants

1. Cliquez-droit sur tRESTRequest, sélectionnez Row > getEmployee dans le menu contextuel et cliquez surle second tXMLMap.

2. Cliquez-droit sur le second tFixedFlowInput, maintenez le clic et déposez sur le second tXMLMap.

3. Cliquez-droit sur le second tXMLMap, maintenez le clic et déposez sur le second tRESTResponse. Nommezle lien de sortie single lorsque la fenêtre [tXMLMap Output] s'ouvre.

Configurer le second tXMLMap

1. Pour configurer le second tXMLMap, double-cliquez sur le composant afin d'ouvrir son éditeur.

2. Sélectionnez la colonne id de la table d'entrée getEmployee et déposez-la sur la colonne id de la table row2.

Page 64: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un service REST simple

60 Guide de prise en main de Talend ESB

Une flèche violette est créée entre les colonnes de la table, représentant la jointure.

3. Définissez le schéma XML à envoyer au composant tRESTResponse. Pour ce faire, cliquez-droit sur le nœudde l'élément root dans la table single et sélectionnez Rename dans le menu afin de le renommer employee.

4. Mappez le flux d'entrée au flux de sortie. Pour ce faire, sélectionnez la colonne id de la table row2 et déposez-la sur l'élément employee de la table single. Une fenêtre [Selection] s'ouvre.

5. Dans l’assistant, sélectionnez Create as attribute of target node et cliquez sur OK pour valider.

6. Sélectionnez les colonnes firstname et lastname de la table row2 et déposez-les sur l'élément employee dela table de sortie single.

7. Dans l'assistant [Selection], sélectionnez Create as sub-element of target node et cliquez sur OK pourvalider.

Le mapping entre le flux d'entrée et le flux de sortie est terminé.

8. Cliquez sur Apply et OK pour fermer l'éditeur et valider la configuration.

Page 65: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un service REST simple

Guide de prise en main de Talend ESB 61

Exécuter le Job

1. Appuyez sur F6 pour exécuter le Job. Le Job est automatiquement sauvegardé avant exécution. La vue Runs'affiche au bas du Studio et la console suit l'exécution.

Le Service REST a été publié vers l'endpoint suivant : http://127.0.0.1:8090/services et le fournisseurécoute sans discontinuer les requêtes. Si vous souhaitez l'arrêter, cliquez sur le bouton Kill de la vue Run.

2. Pour vérifier le service, allez à l'adresse de l'endpoint où a été publié le Service : http://127.0.0.1:8090/services/employees.

Page 66: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un service REST simple

62 Guide de prise en main de Talend ESB

Cela ressemble à la sortie du scénario précédent.

3. Si vous ajoutez l'id d'un des employés à la fin de l'URL : http://127.0.0.1:8090/services/employees/1

Page 67: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Déployer le Service REST

Guide de prise en main de Talend ESB 63

Les informations concernant cet employé s'affichent.

3.2.2. Déployer le Service REST

Avant de pouvoir appeler le Service REST créé dans la section précédente via un Job consommateur, vous devezd'abord le déployer dans Talend Runtime.

Pour effectuer ce déploiement :

1. Assurez-vous que Talend Runtime est bien en cours d'exécution. Pour ce faire, suivez les instructionsd'installation et de démarrage décrites dans Prise en main de la solution ESB de Talend.

2. Les utilisateurs des produits Enterprise et Platform souhaitant voir les événements de Service ActivityMonitoring et Service Locator générés lors de l'exécution du scénario relatif aux employés dans lesDashboards ESB de Talend Administration Center doivent s'assurer de les démarrer comme décrit dansDémarrer les tableaux de bord ESB.

3. Les utilisateurs des produits Enterprise et Platform souhaitant utiliser les Dashboards ESB doivent configurercertains paramètres avant de déployer le service. Dans le Job EmployeeService, double-cliquez sur lecomposant tRESTRequest pour afficher sa vueComponent et modifier ses propriétés.

Cochez les cases Use Service Locator et Use Service Activity Monitor.

4. Différents processus de déploiement sont possibles, selon le produit que vous utilisez et l'objectif de votredéploiement :

5. Avec Talend Open Studio for ESB, vous pouvez déployer localement vos Services et Routes dans votremoteur d'exécution. Pour plus d'informations, consultez Déploiement en local (Talend Open Studio for ESB).

Le déploiement en local peut également être effectué via les Studios Enterprise et Platform. Cependant, si vousfaites un déploiement en local, il vous sera difficile de partager vos artefacts de Services et Routes (comme

Page 68: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Déployer le Service REST

64 Guide de prise en main de Talend ESB

cela peut être fait lors de leur publication dans Artifact Repository) ou de programmer leur déploiement etexécution (comme dans Talend Administration Center).

6. Avec les produits Enterprise et Platform, tous les développements de Services et Routes se font dans le Studiopar les développeurs et les publications sont centralisées dans Artifact Repository. Le déploiement dans leconteneur de Talend Runtime s'effectue à partir de Talend Administration Center par les Exploitants. Pourplus d'informations, consultez Publier et déployer à partir de Talend Administration Center.

7. Avec les produits Enterprise et Platform, vous pouvez également publier vos Services et Routes dans ArtifactRepository directement depuis le Studio. Cela doit être fait uniquement pour les snapshots, à des fins detests rapides uniquement. Un référentiel dédié existe déjà dans Artifact Repository pour ces snapshots : leréférentiel Snapshots. Pour plus d'informations, consultez Publier à partir des studios Enterprise et PlatformStudio (test uniquement).

3.2.2.1. Déploiement en local (Talend Open Studio for ESB)

1. Dans la vue Repository du Studio Talend, sous le nœud Job Designs, cliquez-droit sur EmployeeService0.1 et sélectionnez Build Job.

2. Dans l'assistant [Build Job], vérifiez que l'option OSGI Bundle For ESB est bien sélectionnée dans la listeSelect the Build type .

3. Cliquez sur le bouton [Browse...] pour exporter le service dans le dossier souhaité.

4. Cliquez sur Finish. Le service est sauvegardé en tant que fichier EmployeeService.jar.

Page 69: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Déployer le Service REST

Guide de prise en main de Talend ESB 65

5. Copiez le fichier EmployeeService.jar et collez-le dans le répertoire deploy du conteneur de TalendRuntime.

Comme le conteneur de Talend Runtime est un environnement de chargement dynamique, le service démarreautomatiquement.

6. Dans la fenêtre du conteneur de Talend Runtime, saisissez list.

7. Pour vérifier le service, allez à l'adresse de l'endpoint où le service a été publié : http://127.0.0.1:8040/services/services/employees.

Page 70: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Déployer le Service REST

66 Guide de prise en main de Talend ESB

Vous pouvez également créer un Job consommateur pour vérifier le service.

3.2.2.2. Publier et déployer à partir de Talend AdministrationCenter

Pour publier et déployer vos artefacts de Services et Routes, suivez les étapes décrites ci-dessous. En production,vous devez utiliser le référentiel Releases de Artifact Repository au lieu du référentiel Snapshots utilisé dans lecadre des démos.

En plus de Talend Runtime, assurez-vous que Talend Administration Center et les autres modules comme leCommandLine et Talend Nexus Artifact Repository sont bien exécutés, comme décrit dans Prise en main de lasolution ESB de Talend.

Publier via Talend Administration Center

1. Dans Talend Administration Center, cliquez sur ESB Publisher dans le menu du gauche pour afficher la pagecorrespondante vous permettant de trouver les Services et Routes développés et publiés à partir du Studio.

Page 71: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Déployer le Service REST

Guide de prise en main de Talend ESB 67

2. Cliquez sur le bouton Add en haut et renseignez le formulaire [Publish Task] qui s'affiche à droite :

3. Cliquez sur Save. Le nouvel artefact s'affiche dans la liste, prêt à être publié (Ready to publish).

4. Sélectionnez-le et cliquez sur le bouton Publish. Le service sera publié directement dans Artifact Repository.

Vous pouvez également déclencher la publication de votre artefact via l'onglet Trigger, au bas de la pageESB Publisher.

Pour ce faire, sélectionnez la tâche créée et cliquez sur Add trigger... > Add CRON trigger dans l'ongletTrigger au bas de la page et renseignez le formulaire Add Cron trigger qui s'affiche à droite. Si vous n'êtespas familiarisé avec la syntaxe CRON, vous pouvez utiliser un assistant vous permettant de renseigner tous leschamps. Pour ouvrir l'assistant [Cron UI Trigger configuration], cliquez sur le bouton Open UI configurer.

Page 72: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Déployer le Service REST

68 Guide de prise en main de Talend ESB

Pour la démo, utilisez simplement le bouton Publish afin de publier votre Job de service REST.

Une fois publié, le Service s'affiche dans Artifact Repository, sous le nœud org/example. Vous pouvezcliquer sur le bouton Open Artifact repository en haut de la page ESB Publisher. Cela ouvre l'applicationWeb Nexus. Vous pouvez voir votre artefact de Service dans Repositories > Snapshots :

Page 73: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Déployer le Service REST

Guide de prise en main de Talend ESB 69

Déployer via Talend Administration Center

Une fois votre Service publié dans Artifact Repository, vous pouvez le déployer dans le conteneur de TalendRuntime.

1. Dans Talend Administration Center, cliquez sur ESB Conductor dans le menu à gauche pour afficher lapage correspondante et vous permettre de trouver les Services et Routes publiés dans Artifact Repository.

2. Cliquez sur le bouton Add eu haut et renseignez le formulaire Edition qui s'affiche à droite :

Page 74: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Déployer le Service REST

70 Guide de prise en main de Talend ESB

3. Dans le champ Label de la zone Metadata, nommez votre tâche de déploiement de service.

4. Dans la zone Feature, cliquez sur le bouton Select Feature pour ouvrir l'assistant [Select Feature fromNexus repository] vous permettant de renseigner les champs de la zone.

Page 75: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Déployer le Service REST

Guide de prise en main de Talend ESB 71

5. Dans la liste Repository, sélectionnez snapshots, parcourez votre arborescence jusqu'à la Feature EmployeeService et sélectionnez-la. Cliquez sur OK et toutes les informations de la Feature du Service sont renseignéesdans le formulaire.

6. Dans la zone Runtime Config, sélectionnez le conteneur sur lequel déployer le Service dans la liste Server.

7. Cliquez sur Save. La tâche de déploiement du Service s'affiche dans la liste.

8. Cliquez sur le bouton Deploy. Le Service est déployé dans le conteneur de Talend Runtime spécifié dansla liste Server.

La valeur de la colonne Last Action passe de CREATED à DEPLOYED et si vous saisissez list dansl'invite de commande du conteneur de Talend Runtime, un nouveau bundle est listé, Employee Service :

[ 289] [Active ] [Created ] [ ] [ 80] EmployeeService (0.1.0.SNAPSHOT)

Page 76: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Déployer le Service REST

72 Guide de prise en main de Talend ESB

3.2.2.3. Publier à partir des studios Enterprise et Platform Studio(test uniquement)

A des fins de tests, vous pouvez également publier vos Services et Routes dans Artifact Repository depuis leStudio. Utilisez le référentiel Snapshots dédié de Artifact Repository.

En plus de Talend Runtime, assurez-vous que Talend Administration Center et les autres modules comme leCommandLine et Talend Nexus Artifact Repository sont en cours d'exécution, comme décrit dans Prise en mainde la solution ESB de Talend.

1. Assurez-vous que les préférences de connexion de Artifact Repository sont correctement configurées dans leStudio. Allez dans le menu et sélectionnez Window > Preferences > Talend > Artifact Repository.

2. Dans la vue Repository du Studio Talend, sous le nœud Job Designs, cliquez-droit sur EmployeeService0.1 et sélectionnez Publish.

3. Dans l'assistant [Publish Job into Artifact Repository], assurez-vous de publier votre Job dans le référentielSnapshots (cochez la case Publish as SNAPSHOT.

4. Cliquez sur Finish.

Le Service est disponible en tant qu'artefact dans le référentiel Snapshots de Talend Nexus ArtifactRepository. Cliquez sur le bouton Open Artifact repository en haut de la page ESB Publisher. Cela ouvrel'application Web Nexus, et, dans Repositories > Snapshots, vous pouvez voir votre artefact de Service :

Page 77: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un consommateur de Service REST simple

Guide de prise en main de Talend ESB 73

Vous pouvez y accéder depuis l'application Talend Administration Center et le déployer dans votre conteneur deTalend Runtime, comme décrit dans Déployer via Talend Administration Center.

3.2.3. Construire un consommateur de Service RESTsimple

Dans cette section, vous allez créer un consommateur envoyant une requête au Service REST.

Créer le Job

1. Cliquez-droit sur Job Designs dans le menu de gauche et sélectionnez Create Job.

Page 78: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un consommateur de Service REST simple

74 Guide de prise en main de Talend ESB

2. Saisissez le nom (EmployeeServiceConsumer), dans le champ Name, l'objectif dans le champ Purpose(demo) et la description du Service, puis cliquez sur Finish pour retourner à l'écran principal.

3. L'écran principal affiche un onglet Job EmployeeServiceConsumer 0.1.

4. Dans ce Job, construisez le consommateur du Service REST : recherchez le composant tRESTClient dansla Palette et déposez-le dans l'espace de modélisation graphique.

5. De la même manière, glissez-déposez un tFixedFlowInput, un tXMLMap et un tLogRow comme ci-dessous.

Configurer la requête REST

1. Reliez le tFixedFlowInput au tRESTClient afin qu'il récupère automatiquement le schéma du composantcible.

2. Double-cliquez sur le composant tFixedFlowInput pour afficher sa vue Component.

3. Cliquez sur le bouton [...] à côté du champ Edit schema. L'assistant [Schema of tFixedFlowInput] s'ouvre.

Page 79: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un consommateur de Service REST simple

Guide de prise en main de Talend ESB 75

4. Cliquez sur le bouton [+] au bas de l'éditeur pour ajouter une nouvelle ligne nommée id, de Type Integer etde longueur Length 2, comme ci-dessous.

Cliquez sur OK et propagez les modifications lorsqu'une fenêtre vous le propose.

5. Dans la zone Mode, sélectionnez l'option Use Inline Table et cliquez trois fois sur le bouton [+] afin d'ajoutertrois lignes. Configurez-les comme suit :

6. Double-cliquez sur le tRESTClient pour afficher sa vue Component et configurer ses propriétés.

7. Dans le champ URL, saisissez "http://127.0.0.1:8040/services".

8. Dans le champ Relative Path, modifiez le chemin en "/services/employees/"+row1.id.

Relier les composants

1. Cliquez-droit sur le tRESTClient, sélectionnez Row > Response dans le menu contextuel et cliquez sur lecomposant tXMLMap.

2. Cliquez-droit sur le tXMLMap, maintenez le clic et déposez sur le tLogRow. Nommez le lien de sortie all,lorsque la boîte de dialogue [tXMLMap Output] s'ouvre.

Page 80: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un consommateur de Service REST simple

76 Guide de prise en main de Talend ESB

Configurer le tXMLMap

1. Double-cliquez sur ce composant pour ouvrir son éditeur.

Dans l'éditeur, le flux d'entrée de la table de la base de données s'affiche à gauche, dans la zone d'entrée del'éditeur. Dans la zone de sortie, à droite, configurez le flux de sortie XML à envoyer au tLogRow.

2. Dans l'arborescence XML d'entrée row2, cliquez-droit sur l'élément root et sélectionnez Rename dans lemenu afin de le renommer employee. Définissez l'arborescence XML de l'élément racine employee, quicontiendra toutes les informations des employés.

3. Cliquez-droit sur employee et sélectionnez Create Attribute dans le menu afin de créer un attribut nomméid, dans l'assistant [Create New Attribute] qui s'ouvre.

4. Cliquez-droit sur employee à nouveau et sélectionnez Create Sub-Element dans le menu, afin de créer unnouveau sous-élément nommé firstname dans l'assistant [Create New Element] qui s'ouvre.

Répétez cette étape afin de créer un autre sous-élément nommé lastname.

5. Mappez le flux d'entrée au flux de sortie, sélectionnez la colonne statusCode, l'attribut id et les élémentsfirstname et lastname, dans l'arborescence XML row2 et déposez-les dans la table de sortie all.

Page 81: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire un consommateur de Service REST simple

Guide de prise en main de Talend ESB 77

Le mapping entre le flux d'entrée et le flux de sortie est terminé.

6. Cliquez sur Apply puis sur OK pour fermer l'éditeur et valider la configuration.

7. Double-cliquez sur le tLogRow pour afficher sa vue Component et configurer ses propriétés.

8. Cliquez sur le bouton Sync columns pour récupérer le schéma du composant tXMLMap.

9. Dans la zone Mode, sélectionnez l'option Table .

Exécuter le Job

• Appuyez sur F6 pour exécuter le Job. Il est automatiquement enregistré avant exécution. La vue Run s'afficheau bas du Studio et la console suit l'exécution.

Page 82: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Accéder aux événements dans les Dashboards ESB

78 Guide de prise en main de Talend ESB

3.2.4. Accéder aux événements dans les DashboardsESB

Les utilisateurs des produits Enterprise et Platform, une fois le service REST Employee déployé avec les optionsde Service Activity Monitoring et Service Locator activées et interrogé via le Job EmployeeConsumer, peuventvoir les événements dans les Dashboards ESB de Talend Administration Center.

Dans l'application Web Talend Administration Center, cliquez sur Monitoring > Logging dans l'arborescence :

Pour accéder aux logs des événements concernant les endpoints des services, cliquez sur le dashboard ESBLocator Endpoints :

Page 83: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Accéder aux événements dans les Dashboards ESB

Guide de prise en main de Talend ESB 79

Pour accéder aux logs des événements concernant l'activité des services, cliquez sur le dashboard ESB SAM :

Pour voir d'autres affichages des Dashboards ESB, consultez Accéder aux logs des événements ESB dans TalendAdministration Center.

Page 84: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construction et déploiement de Services de données et Routes à l'aide de Java

80 Guide de prise en main de Talend ESB

3.3. Construction et déploiement de Servicesde données et Routes à l'aide de JavaCette section décrit la version la plus simple de la démo Rent-a-Car.

A travers cet exemple, vous allez apprendre à :

• compiler et construire des services Apache CXF (Rent-a-Car).

• démarrer le conteneur de Talend Runtime (conteneur OSGi Talend).

• déployer les services à l'aide de commandes dans la console du conteneur de Talend Runtime.

Par défaut, toutes les démos Rent-a-Car demos sont faites avec JMX.

Le code de la démo Rent-a-Car peut être construit avec différentes options (différents profils Maven) pour utiliser desfonctionnalités supplémentaires. Ces fonctionnalités sont présentées dans le chapitre suivant - cette section utilise les profilsde build par défaut.

3.3.1. Démo Rent-a-Car

Le scénario de cette démo est un cas d'usage métier commun : un exemple réel simplifié du domaine de lalocation de voitures. Cela permet d'utiliser la fonctionnalité du service de gestion des relations clients (CustomerRelationship Management, CRM) pour fournir des informations concernant le client et le service de réservationpour réserver une voiture.

Figure 3.1. Services et application cliente Rent-a-Car

3.3.1.1. Scénario de la démo Rent-a-Car

Dans ce scénario, deux services principaux sont présentés, ReservationService et CRMService. Vous allez créeret orchestrer ces services à l'aide d'une application cliente simple et graphique de location de voitures, l'applicationRent-a-Car appelée "client de location" (Rental Client).

Le client de location fournit les fonctionnalités de base pour chercher les voitures disponibles au cours d'unecertaine période de temps. Pour implémenter sa logique métier, le client de location appelle des opérations duService CRM et du Service de Réservation, comme dans le diagramme ci-dessous.

1. La recherche prend en compte le statut (Silver, Gold, Platinum) du client sélectionné. Les informations duprofil du client sont passées au service de réservation et utilisées pour déterminer le résultat de la recherche.

Page 85: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Démo Rent-a-Car

Guide de prise en main de Talend ESB 81

2. Dans la liste des résultats, vous pouvez sélectionner la voiture répondant le mieux aux besoins du client eteffectuer une réservation en cliquant sur le bouton Book.

3. A la fin du processus de soumission, la confirmation de la réservation s'affiche avec l'ID de la réservation.

Figure 3.2. Appels de services du client de location

3.3.1.2. Structure de la démo Rent-a-Car

Cette section décrit la structure du répertoire de la démo. Elle se compose de deux services et d'une applicationde démo, ainsi que de fichiers de support. Ils peuvent être trouvés à l'adresse suivante : <TalendRuntimePath>/examples/talend/tesb/rent-a-car/.

Répertoire ou nom de fichier Description

app-reservation/ Ce répertoire contient les commandes et le client graphique simple permettant auxutilisateurs d'invoquer des services étape par étape.

crmservice/ Le service de relations clients implémente les opérations getCRMInformation etgetCRMStatus.

reservationservice/ Le service de réservation implémente les opérations getAvailableCars,submitCarReservation et getConfirmationOfReservation.

features/ Le répertoire contient les fichiers des Features à utiliser pour installer la démo Rent-a-Car dans le conteneur de Talend Runtime.

soapui Le répertoire contient des fichiers de projets facultatifs pour l'outil soapUI.

pom.xml Ce fichier est utilisé pour construire des processus Maven.

settings.xml Ce fichier contient des fonctionnalités avancées (fonctionnalités qui ne sont pas utiliséesdans les démos simples. Pour plus d'informations, consultez Publier la démo dansArtifact Repository).

Page 86: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Déployer la démo

82 Guide de prise en main de Talend ESB

Services et sous-répertoires clients :

1. crmservice :

Répertoire ou nom du fichier Description

common/ Ce répertoire contient le fichier CRMService.wsdl utilisé pour générer le code initial.

client/ Exemple d'une application client montrant un client CXF invoquant un endpoint CXF.

client-sl-sam/ Ce répertoire contient le client CRMService activé à utiliser dans les scénarios relatifsaux modules Service Locator et Service Activity Monitoring.

client-sts/ Ce répertoire contient le client CRMService activé à utiliser dans les scénarios relatifsau module Security Token Service.

client-all/ Ce répertoire contient le client CRMService activé à utiliser avec toutes les Features.

service/ Ce répertoire contient l'implémentation du service CRMService.

service-endpoint-jmx/ Ce répertoire contient l'endpoint simple CRMService.

service-endpoint-sl-sam/ Ce répertoire contient l'endpoint CRMService activé à utiliser dans les scénariosrelatifs aux modules Service Locator et Service Activity Monitoring.

service-endpoint-sts/ Ce répertoire contient l'endpoint CRMService activé à utiliser dans le scénario relatifau module Security Token Service.

service-endpoint-all/ Ce répertoire contient l'endpoint CRMService activé à utiliser avec toutes les Features.

2. reservationservice a la même structure, sauf que les répertoires font référence au serviceReservationService.

3. app-reservation contient du code permettant de construire les commandes et le client graphique pour utiliserles services ci-dessus :

Répertoire ou nom du fichier Description

src/ Ce répertoire contient le code source.

target/ Ce répertoire est le répertoire cible du build.

pom.xml Ce fichier est utilisé par le processus de construction de Maven.

3.3.2. Déployer la démo

Cette section décrit comment déployer la démo Rent-a-Car dans le conteneur de Talend Runtime. Cela impliqueun certain nombre d'étapes, comme suit :

1. Créez un conteneur de remplacement - consultez Créer un conteneur de remplacement pour les démos.

2. Démarrez le conteneur principal - consultez Démarrer Talend Runtime.

3. Construisez la démo - consultez Construire la démo.

4. Déployez les services de la démo - consultez Déployer les services de la démo.

5. Déployez l'application cliente de la démo - consultez Déployer l'application cliente de la démo.

3.3.2.1. Construire la démo

Dans le reste de la documentation, <TalendRuntimePath> pointe vers le répertoire où Talend Runtime est installé.Généralement, le chemin complet est Runtime_ESBSE, TESB_SE-VA.B.C ou Talend-ESB-VA.B.C>, selon la version dulogiciel que vous utilisez (consultez Téléchargement et installation du logiciel). Pensez à remplacer par le chemin qui vousconcerne.

Page 87: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Déployer la démo

Guide de prise en main de Talend ESB 83

Pour Talend Runtime, les exemples se situent dans le répertoire <TalendRuntimePath>/examples/talend.

A partir du dossier de base de l'exemple ESB, <TalendRuntimePath>/examples/talend/tesb/rent-a-car/,le fichier pom.xml du projet Maven peut être utilisé pour construire la démo.

1. Depuis une invite de commande, changez le répertoire et saisissez le répertoire racine de la démo Rent-a-Car :

cd <TalendRuntimePath>/examples/talend/tesb/rent-a-car/

2. Exécutez la commande Maven : (Maven est invoqué de la même manière d'un terminal Linux ou d'une invitede commande Windows)

mvn clean install

La démo est construite et les bundles OSGi sont créés pour être déployés dans le conteneur de Talend Runtime.

3.3.2.2. Déployer les services de la démo

Les commandes dans ce document se réfèrent à la version "5.6.2" de la solution ESB de Talend. Si vous utilisez une autreversion, remplacez la chaîne de caractères de version .../5.6.2/... par le numéro de votre version.

Les Features des services de la démo doivent être installées dans le conteneur principal et non dans le conteneurde remplacement car elle s'attend à ce que le port primaire 8040 s'ouvre pour les appels HTTP entrants.

1. Ajoutez l'emplacement de la Feature Rent-a-Car dans le conteneur principal de Talend Runtime(<TalendRuntimePath>/container/).

Dans l'invite de commande, au niveau de karaf@trun>, saisissez la commande suivante :

features:addurl mvn:org.talend.esb.examples.rent-a-car/features/5.6.2/xml

Cette commande vous permet d'utiliser les bundles adéquats directement depuis le référentiel Maven où ilsont été installés par le build Maven.

2. Installez la Feature des services de la démo Rent-a-Car dans le conteneur de Talend Runtime.

Saisissez la commande suivante :

features:install tesb-rac-services

3. Vérifiez que la Feature est bien installée.

Saisissez la commande suivante :

list

Vous pouvez voir les bundles de démo dans la liste des bundles installés. Comme vous pouvez le voir ci-dessous, les bundles CRMService et ReservationService sont installés :

ID State Blueprint Spring Level Name[197] [Active ] [ ] [ ] [ 80] CRMService Common (5.6.2)[198] [Active ] [ ] [ ] [ 80] ReservationService Common (5.6.2)[199] [Active ] [ ] [ ] [ 80] CRMService Service (5.6.2)[200] [Active ] [ ] [Started] [ 80] CRMService Service Endpoint JMX (5.6.2)[201] [Active ] [ ] [ ] [ 80] ReservationService Service (5.6.2)[202] [Active ] [ ] [Started] [ 80] ReservationService Service Endpoint JMX (5.6.2)

Page 88: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Exécuter la démo

84 Guide de prise en main de Talend ESB

3.3.2.3. Déployer l'application cliente de la démo

L'application de location de voitures de cette démo peut être déployée dans le même conteneur que les services,le conteneur primaire ou dans le conteneur de remplacement (qui simule un scénario plus réaliste où le client etles services sont dans différents conteneurs).

1. Si le conteneur de remplacement est utilisé pour déployer l'application de démo, ajoutez l'URL de la Feature dela démo Rent-a-Car dans ce conteneur. L'URL de la Feature doit être ajoutée une fois dans chaque conteneur,même si le conteneur est arrêté et redémarré, l'URL de cette Feature reste en mémoire entre les exécutions.Cependant, si vous n'êtes pas sûr d'avoir installé ou non une Feature, ajouter l'emplacement de la Feature ànouveau ne causera aucun problème.

Dans l'invite de commande du conteneur, saisissez la commande suivante :

features:addurl mvn:org.talend.esb.examples.rent-a-car/features/5.6.2/xml

Si vous avez déjà exécuté un exemple précédent, il est possible que vous deviez exécuter la commandesuivante pour mettre à jour les caches des bundles internes :

features:refreshurl

2. Installez l'URL de l'application du client de location dans le conteneur.

Saisissez la commande suivante dans la console :

features:install tesb-rac-app

3. Vérifiez que la Feature a bien été installée.

Saisissez la commande suivante :

list

Vous pouvez voir les bundles de démo dans la liste des bundles installés :

ID State Blueprint Spring Level Name[197] [Active ] [ ] [ ] [ 80] CRMService Common (5.6.2)[198] [Active ] [ ] [ ] [ 80] ReservationService Common (5.6.2)[199] [Active ] [ ] [Started] [ 80] CRMService Client (5.6.2)[200] [Active ] [ ] [Started] [ 80] ReservationService Client (5.6.2)[201] [Active ] [Created] [ ] [ 80] App Reservation (5.6.2)

3.3.3. Exécuter la démo

Voici la séquence des événements de la démo Rent-a-Car :

1. Un client saisit des données prérequises dans un formulaire, notamment son nom, les dates de début et de finde location, le tarif souhaité puis soumet sa requête.

2. L'application appelle le service CRMService afin de récupérer les données clients et les informations destatut des clients.

Page 89: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Exécuter la démo

Guide de prise en main de Talend ESB 85

3. Le client se voit présenter une liste des voitures disponibles et en sélectionne une dans la liste.

4. L'application appelle le service ReservationService afin de soumettre la demande de réservation puis afficheun avis de confirmation de réservation au client.

3.3.3.1. Démarrer l'application

Les services ReservationService, CRMService et app-reservation (le client) sont déployés dans TalendRuntime. Démarrez la console du conteneur de Talend Runtime comme décrit précédemment. Si les services dela démo et l'application de la démo sont déployés dans deux conteneurs différents, les deux conteneurs doiventêtre démarrés.

Il y a deux versions de l'application de location : la version graphique et la version en invite de commande. Dansla console du conteneur ayant l'application de la démo, vous pouvez voir :

---TALEND ESB: Rent-a-Car (OSGi) Commands---car:gui (Show GUI)car:search <user> <pickupDate> <returnDate> (Search for cars to rent, date format yyyy/mm/dd)car:rent <pos> (Rent-a-Car listed in search result of carSearch)

Les sections suivantes traitent de l'interface graphique et de l'exécution des commandes de l'application de location.

3.3.3.2. Utiliser l'interface graphique du client de location

1. Pour démarrer l'interface graphique, saisissez, dans la console du conteneur de remplacement de TalendRuntime, au niveau de karaf@trun> :

car:gui

2.

Sélectionnez aebert dans la liste User et cliquez sur Find pour voir les résultats. La liste des voituresdisponibles s'affiche.

Page 90: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Exécuter la démo

86 Guide de prise en main de Talend ESB

3.

Cliquez sur la ligne surlignée ou sélectionnez-en une autre et cliquez sur le bouton Reserve.

4. La page de confirmation s'ouvre :

Page 91: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Exécuter la démo

Guide de prise en main de Talend ESB 87

Cliquez sur Close pour arrêter l'application.

3.3.3.3. Utiliser les invites de commandes

Vous pouvez faire exactement les mêmes réservations en lignes de commande.

1. Pour chercher une voiture pour un utilisateur spécifique (aebert dans cet exemple), saisissez, dans la console :

car:search aebert 2014/07/17 2014/07/20

La liste des voitures disponibles s'affiche.

Found 5 cars.

Car details1 VW Golf Standard 50.00 75.00 40.002 BMW 320i Sport 60.00 90.00 45.003 Mazda MX5 Sport 65.00 95.00 50.004 Lexus LX400 SUV 85.00 120.00 100.005 Mercedes E320 Delux 95.00 140.00 100.00

2. Dans la console, saisissez car:rent 2 afin de louer la deuxième voiture.

Page 92: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Désinstaller la démo

88 Guide de prise en main de Talend ESB

Vous pouvez voir la confirmation :

Your reservation is booked!

Reservation ID SGA-295484

Customer details----------------Name: Andrea EberteMail: [email protected] City: MunichStatus: PLATINUM

Car details-----------Brand: BMW Model: 320i

Reservation details-------------------Pick up date: 2011/07/17Return date: 2011/07/20Daily rate: 60.00Weekend rate: 90.00Credits: 210Thank you for renting a car with Talend ESB :-)

3.3.4. Désinstaller la démo

Cette section décrit comment désinstaller la démo, à partir du conteneur et du conteneur de remplacement, si vousen utilisez un.

• Si vous souhaitez désinstaller uniquement les services de la démo, exécutez cette commande, dans la consoledu conteneur :

features:uninstall tesb-rac-services

Vous pouvez les réinstaller comme décrit dans Déployer les services de la démo.

• Si vous souhaitez désinstaller l'application de la démo, exécutez cette commande dans la console du conteneur :

features:uninstall tesb-rac-app

Vous pouvez réinstaller l'application comme décrit ci-dessus.

• Si vous souhaitez désinstaller toutes les Features de la démo, exécutez les commandes suivantes dans la consoledu conteneur :

features:uninstall tesb-rac-services

features:uninstall tesb-rac-app

features:uninstall tesb-rac-common

Saisissez features:list | grep tesb-rac pour vous assurer que toutes les Features ont été désinstallées.La console doit afficher ceci :

[uninstalled] [5.6.2 ] tesb-rac-common repo-0[uninstalled] [5.6.2 ] tesb-rac-services repo-0[uninstalled] [5.6.2 ] tesb-rac-app repo-0

Page 93: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Import de la démo Java Rent-a-Car dans Eclipse

Guide de prise en main de Talend ESB 89

Vous pouvez également supprimer l'URL de la Feature de la démo Rent-a-Car du (des) conteneur(s).

Dans la console du conteneur, saisissez la commande suivante :

features:removeurl mvn:org.talend.esb.examples.rent-a-car/features/5.6.2/xml

3.4. Import de la démo Java Rent-a-Car dansEclipseCette section, vous allez utiliser le plug-in Maven pour Eclipse ( http://maven.apache.org/plugins/maven-eclipse-plugin/) afin de générer les fichiers du projet Eclipse de la démo Rent-A-Car. (Le Guide Talend ESB DevelopmentGuide, (en anglais), décrit comment installer ce plug-in).

3.4.1. Construire les fichiers du projet

1. Allez dans le répertoire de démo de la solution ESB de Talend, <TalendRuntimePath>/examples/talend/tesb/rent-a-car.

2. Si vous n'avez pas encore construit la démo, exécutez:

mvn clean install

3. Exécutez :

mvn eclipse:eclipse

Les fichiers du projet Eclipse sont créés.

3.4.2. Importer dans Eclipse

Dans l'environnement de développement d'Eclipse :

1. Dans la barre de menu, sélectionnez File > Import.... L'assistant [Import] s'ouvre.

2. Sélectionnez General > Existing Projects into Workspace puis cliquez sur Next.

3. Sélectionnez Select root directory et cliquez sur Browse afin de renseigner l'emplacement du répertoireexamples/talend/tesb/rent-a-car.

4. Dans la fenêtre [Import Projects], sous Projects, sélectionnez le(s) projet(s) à importer, puis cliquez surFinish.

Les projets d'exemple du produit ESB de Talend sélectionnés sont importés dans votre espace de travail Eclipse.Vous pouvez voir le code source, le modifier et tirer parti de toutes les autres fonctionnalités Eclipse.

3.4.3. Exécuter les exemples

Les exemples sont exécutés à l'aide de commandes Maven, dans une invite de commande. Si vous le souhaitez, desplug-ins Maven existent pour exécuter ces commandes Maven dans l'environnement de développement intégré.

Page 94: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Exécuter les exemples

90 Guide de prise en main de Talend ESB

Pour plus d'informations concernant le développement dans l'ESB de Talend et Eclipse, consultez le Guide TalendESB Development Guide (en anglais).

Page 95: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Guide de prise en main de Talend ESB

Chapitre 4. Utilisation avancée dudéploiement et de l'exécution des Services etgouvernance SOACe chapitre vous permet d'utiliser des fonctionnalités avancées de Talend Runtime, par exemple Service Locator,Service Activity Monitoring, Security Token Service, etc. Il explique également comment utiliser un logiciel degestion de référentiels pour le déploiement de services et de routes.

Les exemples de ce chapitre sont basés sur la démo Java Rent-a-Car présentée dans Cas d'usage : déploiementset exécutions simples.

Page 96: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Démo Rent-a-Car utilisant Service Locator et Service Activity Monitoring

92 Guide de prise en main de Talend ESB

4.1. Démo Rent-a-Car utilisant ServiceLocator et Service Activity MonitoringCette section décrit comment utiliser les deux Features dans le cadre de la démo Rent-a-Car :

• le composant Service Locator pour enregistrer publiquement les endpoints de services,

• Service Activity Monitoring (SAM) pour monitorer les appels de service, généralement pour collecter desstatistiques d'utilisation et monitorer les erreurs.

Si vous avez souscrit à l'une des éditions Enterprise ou Platform de Talend, une fonctionnalité graphique est fournie parTalend Administration Center, pour voir les informations relatives à Service Locator et Service Activity Monitoring. Pourun aperçu de Service Activity Monitoring dans Talend Administration Center, consultez Voir les événements dans l'interfacede Service Activity Monitoring dans Talend Administration Center.

Consultez le Guide d'installation et de migration Talend ainsi que le Guide utilisateur de Talend Administration Centerpour plus d'informations.

Dans cette section, vous allez apprendre à déployer la démo Rent-a-Car dans le conteneur de Talend Runtime.Cela implique un certain nombre d'étapes, comme celles décrites dans la démo simple Rent-a-Car.

1. Créez un conteneur de remplacement - consultez Créer un conteneur de remplacement pour les démos.

2. Démarrez le conteneur principal - consultez Démarrer Talend Runtime.

3. Construisez la démo - consultez Construire la démo avec les modules Service Activity Monitoring et ServiceLocator activés.

4. Vérifiez que les fonctionnalités des exécutions précédentes de la démo ont été désinstallées - consultezDésinstaller les Features précédentes.

5. Déployez les services ESB de Talend - consultez Installer et démarrer Service Locator et Service ActivityMonitoring .

Il est important pour la démo Rent-a-Car que ces services soient installés dans le conteneur par défaut(utilisant le port 8040), car les fichiers de démo sont configurés ainsi.

6. Déployez les services de la démo et l'application client dans un conteneur - consultez Exécuter la démo dansun conteneur pour générer des données de Service Activity Monitoring. Cette étape traite de la fonctionnalitéService Activity Monitoring puisque Service Locator n'est que peu utilisé dans ce scénario.

7. Ré-exécutez la démo avec les deux conteneurs, tout en arrêtant un des services d'exemple. Cela vous permetde comprendre le rôle de Service Locator lors d'un failover de service (consultez Exécuter la démo dans deuxconteneurs - simuler un failover de serveur avec Service Locator) et de voir comment le client se connecteà un autre service, via cette fonctionnalité.

4.1.1. Installer et démarrer Service Locator et ServiceActivity Monitoring

Pour démarrer Service Locator et Service Activity Monitoring pour la démo Rent-a-Car, les modules doivent êtreinstallés et déployés dans le conteneur de Talend Runtime.

Si vous avez démarré le conteneur de Talend Runtime et tous les Services d'Infrastructure comme décrit dansDémarrer Talend Runtime, ces Features doivent avoir été déployées et démarrées via la commande tesb:start-all.

Si vous souhaitez les démarrer individuellement ou personnaliser leurs paramètres de configuration, consultezService Locator et Service Activity Monitoring.

Page 97: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Installer et démarrer Service Locator et Service Activity Monitoring

Guide de prise en main de Talend ESB 93

4.1.1.1. Service Locator

Service Locator peut être démarré individuellement dans le conteneur de Talend Runtime, si vous saisissez cettecommande dans la console du conteneur principal

tesb:start-locator

Ses paramètres de configuration se situent dans le fichier <TalendRuntimePath>/container/etc/

org.talend.esb.locator.cfg. Voici un exemple :

# Configured zookeeper endpoints (divided by a comma if several instances # uses). The service locator client will one by one pick an endpoint to # connect to the service locator until a connection is established. locator.endpoints=localhost:2181

# Endpoint prefix property is needed because we run services in # a container where the endpoints is only relative to the container.endpoint.http.prefix=http://localhost:8040/servicesendpoint.https.prefix=https://localhost:9001/services

locator.strategy=defaultSelectionStrategylocator.reloadAdressesCount=10

connection.timeout=5000session.timeout=5000

Pour plus d'informations concernant la configuration des propriétés de Service Locator consultez le Guide TalendESB Infrastructure Services Configuration Guide (en anglais).

4.1.1.2. Service Activity Monitoring

Le serveur de Service Activity Monitoring peut être démarré individuellement dans le conteneur de TalendRuntime, si vous saisissez la commande suivante dans la console du conteneur principal :

tesb:start-sam

Le serveur de Service Activity Monitoring est démarré. Vous pouvez vérifier l'URL dans votre navigateur :http://localhost:8040/services/MonitoringServiceSOAP?wsdl. Elle doit lister les <wsdl:definitions>.

La commande tesb:start-sam démarre la base de données Derby avec l'hôte localhost et le port par défaut 1527,puis installe les Features tesb-datasource-derby et tesb-sam-server. Si vous utilisez une autre base de données(par exemple MySQL, H2, Oracle), suivez les instructions de la DataSource and Service Activity MonitoringServer installation/configuration dans le guide Talend ESB Infrastructure Services Configuration Guide (enanglais).

Serveur de Service Activity Monitoring - Nouvelle création de la base dedonnées activée par défaut

Lorsqu'un serveur Service Activity Monitoring est installé dans Talend Runtime, par défaut l'optionde nouvelle création de la base de données est activée. Consultez le fichier de configurationorg.talend.esb.sam.server.cfg. Il montre les erreurs dans la console pour chaque redémarrage du conteneur("can’t create table …"). Pour éviter cette erreur au démarrage, modifiez la propriété db.recreate dansorg.talend.esb.sam.server.cfg en false (db.recreate=false) après avoir installé le serveur de ServiceActivity Monitoring.

Page 98: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Désinstaller les Features précédentes

94 Guide de prise en main de Talend ESB

Paramètres de configuration pour Service Activity Monitoring dans leconteneur de Talend Runtime

Dans le conteneur de Talend Runtime, si vous souhaitez configurer des propriétés pour accéder au Service ActivityMonitoring (par exemple service.url), modifiez :

<TalendRuntimePath>/container/etc/org.talend.esb.sam.agent.cfg

4.1.2. Désinstaller les Features précédentes

1. Démarrer le conteneur principal et celui de remplacement s'ils ne sont pas encore démarrés.

2. Si vous avez déjà utilisé le conteneur pour exécuter les exemples précédents, assurez-vous que les Features desexemples précédents sont bien désinstallées, notamment la Feature tesb-rac-common implicitement chargéecomme dépendance. Sinon, l'installation des Features de l'exemple du Locator vont échouer. Si vous ne savezpas si les Features précédentes sont installées, saisissez les commandes suivantes dans les conteneurs :

features:uninstall tesb-rac-services

features:uninstall tesb-rac-common

Si vous avez installé l'application de location Rent-a-Car dans ce conteneur, vous devez également ladésinstaller :

features:uninstall tesb-rac-app

Ces commandes permettent de désinstaller les bundles restants de l'exemple précédent.

3. Vous pouvez également supprimer les Features désinstallées de l'exemple précédent, dans le conteneur :

features:removeurl mvn:org.talend.esb.examples.rent-a-car/features/5.6.2/xml

Cette commande supprime les Features du scénario simple du conteneur.

4.1.3. Construire la démo avec les modules ServiceActivity Monitoring et Service Locator activés

Pour construire la démo, utilisez Maven avec les profils combinés de Service Activity Monitoring et ServiceLocator. Avant de construire la démo, assurez-vous que les Features de Service Activity Monitoring et ServiceLocator ont été activées dans votre conteneur de Talend Runtime.

1. Dans une invite de commande, modifiez le répertoire en <TalendRuntimePath>/examples/talend/tesb/rent-a-car.

Le fichier pom.xml est utilisé par Maven pour construire la démo.

2. Exécutez la commande Maven sous Linux ou Windows :

mvn install -Pslsam

Exécuter cette commande permet de construire la démo avec les fonctionnalités requises et de créer lesbundles OSGi à déployer dans le conteneur.

Ces modifications se font lorsque vous construisez les exemples avec l'Agent Service Activity Monitoring etle module Service Locator activés :

Page 99: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Installer les Features des exemples Rent-a-Car

Guide de prise en main de Talend ESB 95

• L'élément jaxws:features de l'Agent Service Activity Monitoring et le module Service Locator sont ajoutésau fichier Spring beans.xml du client et de l'endpoint de service, par exemple :

<import resource="classpath:META-INF/tesb/locator/beans-osgi.xml" /> <import resource="classpath:META-INF/tesb/agent-osgi.xml" /> ... <jaxws:features> <bean class="org.talend.esb.servicelocator.cxf.LocatorFeature"> <property name="selectionStrategy" value="randomSelectionStrategy"/> </bean> <ref bean="eventFeature"/> </jaxws:features>

• Le fichier MANIFEST.MF du client et de l'endpoint de service est mis à jour par l'ajout des bundles suivantsdans la liste Require-Bundle : sam-common,sam-agent,locator.

4.1.4. Installer les Features des exemples Rent-a-Car

4.1.4.1. Installer les exemples dans le conteneur principal

1. Ajoutez l'URL de la Feature Rent-a-Car dans le conteneur de Talend Runtime principal(<TalendRuntimePath>/container/).

Dans l'invite de commande, au niveau de (karaf@trun>), saisissez la commande suivante :

features:addurl mvn:org.talend.esb.examples.rent-a-car/features-sl-sam/5.6.2/xml

Mettez à jour le numéro de version "5.6.2" s'il est différent de celui de votre installation.

2. Si les exemples précédents ont déjà été installés, exécutez la commande suivante :

features:refreshurl

3. Saisissez les commandes suivantes :

features:install tesb-rac-services-sl-sam

features:install tesb-rac-app-sl-sam

4. Utilisez la commande list afin de vérifier que tout est correctement installé.

Par exemple :

[ 219] [Active ] [ ] [ ] [ 80] CRMService Common (5.6.2)[ 220] [Active ] [ ] [ ] [ 80] ReservationService Common (5.6.2)[ 221] [Active ] [ ] [ ] [ 80] CRMService Service (5.6.2)[ 222] [Active ] [ ] [Started] [ 80] CRMService Service Endpoint Locator and SAM (5.6.2)[ 223] [Active ] [ ] [ ] [ 80] ReservationService Service (5.6.2)[ 224] [Active ] [ ] [Started] [ 80] ReservationService Service Endpoint SL and SAM (5.6.2)[ 225] [Active ] [ ] [Started] [ 80] CRMService Client Locator and SAM (5.6.2)[ 226] [Active ] [ ] [Started] [ 80] ReservationService Client Locator and SAM (5.6.2)[ 227] [Active ] [Created ] [ ] [ 80] App Reservation (5.6.2)

Page 100: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Exécuter la démo dans un conteneur pour générer des données de Service Activity Monitoring

96 Guide de prise en main de Talend ESB

4.1.4.2. Installer les exemples dans le conteneur de remplacement

Le conteneur de remplacement n'est pas utilisé lorsque vous exécutez la démo pour la première fois, vous pouvez doncl'arrêter après l'installation des Features, si vous le souhaitez.

1. Démarrez le conteneur de remplacement.

2. Dans la console du conteneur de remplacement, saisissez la commande :

features:addurl mvn:org.talend.esb.examples.rent-a-car/features-sl-sam/5.6.2/xml

3. Si les exemples précédents ont déjà été installés, saisissez :

features:refreshurl

4. Saisissez :

features:install tesb-rac-services-sl-sam

Installez uniquement ces Features et non tesb-rac-app-sl-sam.

5. Utilisez la commande list afin de vérifier que tout est correctement installé. Par exemple :

[ 219] [Active ] [ ] [ ] [ 80] CRMService Common (5.6.2)[ 220] [Active ] [ ] [ ] [ 80] ReservationService Common (5.6.2)[ 221] [Active ] [ ] [ ] [ 80] CRMService Service (5.6.2)[ 222] [Active ] [ ] [Started] [ 80] CRMService Service Endpoint Locator and SAM (5.6.2)[ 223] [Active ] [ ] [ ] [ 80] ReservationService Service (5.6.2)[ 224] [Active ] [ ] [Started] [ 80] ReservationService Service Endpoint SL and SAM (5.6.2)

4.1.5. Exécuter la démo dans un conteneur pourgénérer des données de Service Activity Monitoring

Cette section décrit comment déployer les services de la démo et l'application cliente dans un conteneur : leconteneur principal (consultez Exécuter la démo dans un conteneur pour générer des données de Service ActivityMonitoring), afin d'avoir un aperçu de la fonctionnalité de Service Activity Monitoring. Le module Service Locatorn'est que peu utilisé dans ce scénario, Vous n'avez donc pas besoin du conteneur de remplacement.

1. Avant d'exécuter cette démo, arrêtez le conteneur de remplacement s'il est en cours d'exécution. vous pourrezle redémarrer à la prochaine exécution de la démo.

2. Exécutez l'application cliente de la démo simple Rent-a-Car (consultez Exécuter la démo pour plusd'informations) :

car:gui

3. Dans l'interface de l'application de location, cliquez sur Find.

Cette étape suffit à la démo. Vous pouvez voir son contenu dans la console du conteneur par défaut :

###############################################getCRMInformation() invoked ... request data:org.talend.services.crm.types.LoginUserType@fc0795##############################################################################################getCRMInformation() invoked ... response data:org.talend.services.crm.types.CustomerDetailsType@560854

Page 101: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Exécuter la démo dans un conteneur pour générer des données de Service Activity Monitoring

Guide de prise en main de Talend ESB 97

##############################################################################################getAvailableCars() invoked ... request data:org.talend.services.reservation.types.RESProfileType@a14297##############################################################################################getAvailableCars() invoked ... response data:org.talend.services.reservation.types.RESCarListType@11ad529###############################################

La console affiche les requêtes et les réponses des services CRMService et ReservationService.

4.1.5.1. Voir les événements dans l'interface de Service ActivityMonitoring dans Talend Administration Center

Après avoir exécuté la démo Rent-a-Car, les utilisateurs des produits Enterprise et Platform peuvent monitorer lesactivités des services via l'interface Service Activity Monitoring de Talend Administration Center :

4.1.5.2. Voir les événements dans la base de données de ServiceActivity Monitoring

Après exécution de la démo Rent-a-Car, les utilisateurs de Talend ESB Standard Edition et Talend Open Studiofor ESB peuvent monitorer l'activité des services via les tables EVENTS et EVENTS_CUSTOMINFO de la basede données de Service Activity Monitoring à l'aide de DbVisualizer (ou tout autre outil de base de données).

Pour vous connecter à la base de données de Service Activity Monitoring, utilisez les paramètres suivants :

Database connection configuration (Default): DB Driver: org.apache.derby.jdbc.ClientDriver DB URL: jdbc:derby://localhost:1527/db DB username: test DB password: test

Page 102: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Exécuter la démo dans deux conteneurs - simuler un failover de serveur avec Service Locator

98 Guide de prise en main de Talend ESB

La connexion à la base de données doit correspondre aux paramètres définis dans le fichier<TalendRuntimePath>/etc/org.talend.esb.sam.server.cfg et la configuration de la source de donnéesréférencée, Derby (ds-derby) par défaut, peut être trouvée dans le fichier <TalendRuntimePath>/etc/org.talend.esb.datasource.derby.cfg.

Les données des tables EVENTS et EVENTS_CUSTOMINFO peuvent être parcourues et monitorées dansDbVisualizer. Par exemple, les données de la table EVENTS, après exécution de la démo Rent-a-Car avec lemodule Service Activity Monitoring activé, ressemblent à ceci :

Pour plus d'informations concernant la définition du schéma des tables, consultez les sections EVENTS Structureet EVENTS_CUSTOMINFO Structure dans le Guide Talend ESB Infrastructure Services Configuration Guide(en anglais).

4.1.6. Exécuter la démo dans deux conteneurs -simuler un failover de serveur avec Service Locator

Dans cette section, vous allez apprendre à ré-exécuter la démo en utilisant deux conteneurs, tout en arrêtant l'undes services d'exemple dans l'un des deux conteneurs. Cela vous explique le rôle du module Service Locator encas de failover de service (consultez Exécuter la démo dans deux conteneurs - simuler un failover de serveur avecService Locator) et comment le client peut se connecter à un autre service, à l'aide de cette fonctionnalité.

Figure 4.1. Illustration du failover de serveur

Page 103: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Exécuter la démo dans deux conteneurs - simuler un failover de serveur avec Service Locator

Guide de prise en main de Talend ESB 99

Les étapes sont les suivantes :

1. L'application de réservation recherche l'endpoint du service CRMService dans le module Service Locator.

2. Elle se connecte directement au service CRMService dans le conteneur principal.

3. Vous pouvez arrêter le service CRMService.

4. L'application de réservation recherche automatiquement, à nouveau, l'endpoint du service CRMService dansle module Service Locator.

5. Elle se connecte directement au service CRMService dans le conteneur de remplacement.

4.1.6.1. Exécuter la démo

1. Exécutez l'application de location à nouveau en saisissant la commande car:gui dans la console du conteneurpar défaut puis cliquez sur Find dans l'application. Pendant l'exécution de l'application, vous pouvez voir lesmêmes requêtes et réponses que précédemment.

2. Ne fermez pas l'interface de l'application, cliquez simplement sur Back pour retourner à l'étape précédentede la réservation.

Simuler un échec de service

Simulez l'échec d'un service :

1. Démarrez le conteneur de remplacement.

2. Dans le conteneur par défaut, saisissez la commande list pour récupérer les informations du bundleCRMService et noter le numéro du bundle de l'endpoint du service CRMService :

[ 222] [Active ] [ ] [ ] [ 80] CRMService Service Endpoint Locator and SAM (5.6.2)

(Le numéro, ici, 222, sera probablement différent dans votre console.)

3. Arrêtez-le à l'aide de la commande stop 222 (en saisissant le numéro de votre bundle).

4. Cliquez sur le bouton Find dans l'interface de l'application pour activer l'appel du service CRMService.

Le service ReservationService fonctionne dans le premier conteneur et le service CRMService est utilisé dans lesecond conteneur.

Dans la console du conteneur principal :

############################################### getAvailableCars() invoked ... request data: org.talend.services.reservation.types.RESProfileType@1d510be ############################################### ############################################### getAvailableCars() invoked ... response data: org.talend.services.reservation.types.RESCarListType@13e49a8 ###############################################

Le Locator passe au CRMService dans le second conteneur et, dans la console du conteneur de remplacement,vous pouvez voir :

Page 104: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Accéder aux événements dans les Dashboards ESB

100 Guide de prise en main de Talend ESB

############################################### getCRMInformation() invoked ... request data: org.talend.services.crm.types.LoginUserType@1142653 ############################################### ############################################### getCRMInformation() invoked ... response data: org.talend.services.crm.types.CustomerDetailsType@1e03fce ###############################################

4.1.7. Accéder aux événements dans les DashboardsESB

Pour les utilisateurs d'une version Enterprise ou Platform, une fois que vous avez déployé les Services Rent-a-Caravec les options Service Activity Monitoring et Service Locator activées et interrogées à l'aide de l'applicationclient (la commande car:gui dans le conteneur principal), vous pouvez voir les événements dans les DashboardsESB dans Talend Administration Center.

Dans l’application Web Talend Administration Center, cliquez sur Monitoring > Logging dans l'arborescencedu menu :

Pour accéder aux logs des événements des endpoints des Services, cliquez sur le Dashboard ESB LocatorEndpoints :

Page 105: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Accéder aux événements dans les Dashboards ESB

Guide de prise en main de Talend ESB 101

Pour accéder aux logs des événements de l'activité des Services, cliquez sur le Dashboard ESB SAM :

Pour plus d'informations sur les Dashboards ESB, consultez Accéder aux logs des événements ESB dans TalendAdministration Center.

Page 106: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Désinstaller les Features de la démo

102 Guide de prise en main de Talend ESB

4.1.8. Désinstaller les Features de la démo

Pour nettoyer chaque conteneur de Talend Runtime pour d'éventuelles exécutions ultérieures d'exemples, toutesles Features des exemples d'utilisation du Locator doivent être désinstallées.

1. Dans le conteneur par défaut, saisissez les commandes suivantes dans la console :

features:uninstall tesb-rac-services-sl-sam

features:uninstall tesb-rac-common-sl-sam

features:uninstall tesb-rac-app-sl-sam

2. Dans le conteneur de remplacement, saisissez les commandes suivantes dans la console :

features:uninstall tesb-rac-services-sl-sam

features:uninstall tesb-rac-common-sl-sam

3. Saisissez features:list | grep tesb-rac pour vous assurer que toutes les Features ont été correctementdésinstallées.

Toutes les Features montrées ici doivent avoir un statut uninstalled.

4.2. Démo Rent-a-Car utilisant Security TokenService pour fournir une authentification WS-Security basée SAMLCette section décrit la construction et l'exécution de la démo Rent-a-Car avec le module Security Token Service,afin de fournir une authentification SAML basée sur la sécurité WS-Security.

Pour activer la sécurité WS-security pour la démo Rent-a-Car, le serveur de Security Token Service doit avoirété installé et déployé.

Pour suivre la démo, vous devez :

1. Si nécessaire, créez un conteneur de remplacement comme décrit dans Créer un conteneur de remplacementpour les démos.

2. Si nécessaire, configurez les paramètres de log afin d'écraser la configuration par défaut, comme décrit dansConfigurer l'enregistrement des logs.

3. Démarrez le conteneur principal (et le conteneur de remplacement, si nécessaire) avec les Servicesd'Infrastructures - consultez Démarrer Talend Runtime.

4. Construisez la démo - consultez Construire la démo avec la sécurité activée.

4.2.1. Configurer l'enregistrement des logs

La fonctionnalité STS est activée dans la démo standard Rent-a-Car dans <TalendRuntimePath>/examples/talend/tesb/rent-a-car/.

Pour l'exemple Security Token Service de Rent-a-Car, le log automatique est activé par défaut dans les fichiersde configuration du client et du service.

Page 107: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire la démo avec la sécurité activée

Guide de prise en main de Talend ESB 103

Pour désactiver le log automatique dans l'exemple, supprimez le nœud XML des fichiers beans.xml des serviceset clients de l'exemple Security Token Service Rent-a-car :

<cxf:bus> <cxf:features> <cxf:logging /> </cxf:features></cxf:bus>

Les messages de log des clients et de Security Token Service sont stockés dans le conteneur de remplacement :

./alternate-container/log/tesb.log

Les messages de log des services sont stockés dans le même répertoire dans le conteneur principal.

4.2.2. Construire la démo avec la sécurité activée

Pour construire la démo, utilisez Maven avec le profil Security Token Service.

1. Pour vous assurer que le service Security Token Service est démarré, démarrez le conteneur de TalendRuntime par défaut, si vous l'avez arrêté et exécutez la commande dans la console :

list

Les bundles suivants s'affichent dans la liste : Apache CXF STS Core et Talend :: ESB :: STS ::CONFIG, pour activer la fonctionnalité STS.

Si vous n'avez pas encore démarré le service Security Token Service, exécutez-le via la commandetesb:start-all, ou, si vous souhaitez installer uniquement la Feature Security Token Service sans lesautres modules (Security Token Service, Service Locator), exécutez la commande tesb:start-sts.

2. Les utilisateurs des produits Enterprise et Platform doivent s'assurer que leur système de gestion de la sécuritéest passé de TIDM à JAAS (tesb:switch-sts-jaas). Pour plus d'informations, consultez Démarrer TalendRuntime.

3. Construisez les exemples de la démo, à partir de la console de l'invite de commande. Exécutez la commandesuivante depuis le répertoire <TalendRuntimePath>/examples/talend/tesb/rent-a-car/ :

mvn install -Psts

4. Installez les exemples eux-mêmes. Pour ajouter l'URL de la Feature Rent-a-Car dans la console du conteneurpar défaut, saisissez :

features:addurl mvn:org.talend.esb.examples.rent-a-car/features-sts/5.6.2/xml

5. Lorsque l'installation de l'exemple STS est terminée et que le curseur est à nouveau disponible, saisissez :

features:refreshurl

features:install tesb-rac-services-sts

Attendez à nouveau que le curseur soit disponible.

6. Démarrez le conteneur de remplacement et, dans sa console, saisissez :

features:addurl mvn:org.talend.esb.examples.rent-a-car/features-sts/5.6.2/xml

7. Lorsque les exemples ont été installés et que le curseur est à nouveau disponible, saisissez :

features:refreshurl

features:install tesb-rac-app-sts

Page 108: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Désinstaller les Features de la démo

104 Guide de prise en main de Talend ESB

Attendez à nouveau que le curseur soit disponible.

L'exemple STS est installé et prêt à être exécuté.

8. Exécutez l'application de location, par exemple en exécutant car:gui dans le conteneur de remplacement.Pour plus d'informations, consultez Construction et déploiement de Services de données et Routes à l'aidede Java.

4.2.3. Désinstaller les Features de la démo

1. Lorsque vous avez terminé l'exécution de la démo, vous pouvez désinstaller les Features de Security TokenService.

Dans le conteneur de remplacement, saisissez :

features:uninstall tesb-rac-app-sts

features:uninstall tesb-rac-common-sts

2. Dans le conteneur principal, saisissez :

features:uninstall tesb-rac-services-sts

features:uninstall tesb-rac-common-sts

4.3. Démo Rent-a-Car utilisant ArtifactRepositoryCette section décrit comment utiliser Artifact Repository pour déployer la démo dans Talend Runtime. ConsultezFigure 1.6, « Principes de fonctionnement de Talend Enterprise ESB » pour une vue d'ensemble des interactionsentre Artifact Repository et les autres composants.

Dans les produits relatifs à l'ESB de Talend, Nexus Artifact Repository est utilisé pour gérer les référentielsProvisioning. Provisioning est utilisé comme un catalogue dans lequel sont stockés les artefacts ESB (les Jobs,les Routes, les Services et les Features OSGi génériques) qui sont déployés et exécutés. Ces artefacts ESB sontconçus par les développeurs dans le Studio ou tout autre environnement de développement Java. Par défaut, deuxréférentiels sont embarqués dans ce référentiel : un pour le développement (Snapshots) et un pour la production(Releases). Ces référentiels rendent les artefacts disponibles pour un déploiement dans Talend Runtime.

Page 109: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Télécharger et installer Nexus Artifact Repository

Guide de prise en main de Talend ESB 105

Dans cette section, vous allez apprendre à publier manuellement la démo Rent-a-Car dans Artifact Repositoryainsi qu'à déployer ses services du référentiel Artifact Repository au conteneur de Talend Runtime. Les étapes lesplus importantes sont les suivantes :

• Téléchargement et installation d'Artifact Repository - consultez Télécharger et installer Nexus ArtifactRepository).

• Publication des Features de la démo Rent-a-Car dans Artifact Repository - consultez Publier la démo dansArtifact Repository).

• Déploiement des Features de la démo Rent-a-Car depuis Artifact Repository dans Talend Runtime,manuellement pour les produits communautaires comme Talend ESB Standard Edition ou Talend Open Studiofor ESB (consultez Déployer la démo dans Talend ESB Standard Edition avec Nexus Artifact Repository) ou viaTalend Administration Center pour les produits Talend Enterprise ou Platform (consultez Déployer la démodans Talend Runtime à partir de Talend Administration Center).

• Déploiement des Features de la démo Rent-a-car depuis Artifact Repository dans Talend Runtime via TalendAdministration Center pour les produits Talend Enterprise ou Platform. Consultez Déployer la démo dansTalend Runtime à partir de Talend Administration Center.

4.3.1. Télécharger et installer Nexus ArtifactRepository

Dans ce scénario, vous allez utiliser Sonatype Nexus, le référentiel Artifact Repository recommandé par Talend.Nexus joue le rôle d'un serveur partagé de référentiels d'artefacts Maven.

Si vous utilisez Talend ESB Standard Edition ou Talend Open Studio for ESB, téléchargez les distributions NexusOpen Source ou Nexus Pro disponibles sur le site Web de Nexus : http://www.sonatype.org/nexus (en anglais) etsuivez les instructions d'installation du site Web.

Si vous utilisez les produits Talend Enterprise ou Platform, Talend Artifact Repository (basé sur Nexus) : Artifact-Repository-Nexus-VA.B.C.D.E.zip est fourni avec Talend Administration Center ou bien avec Talend Installer.

Pour l'installer, dézippez simplement le package.

Pour le démarrer, parcourez son répertoire et exécutez :

• ./bin/nexus console (sous Linux)

• .\bin\nexus.bat console (sous Windows)

Nexus est en cours d'exécution à l'adresse http://localhost:8081/nexus/index.html. Les informations deconnexion sont les suivantes : identifiant, admin et mot de passe, admin123, par défaut.

4.3.2. Publier la démo dans Artifact Repository

La procédure suivante peut être exécutée dans les produits Talend ESB Standard Edition et Talend Open Studiofor ESB ou depuis les produits Talend Enterprise ou Platform. Elle explique comment publier la démo dansNexus Artifact Repository avec les fichiers des projets Maven fournis avec Talend Runtime, pour la déployerultérieurement dans le conteneur de Talend Runtime.

1. Assurez-vous que Sonatype Nexus ou Talend Nexus Artifact Repository (pour les utilisateurs des produitsEnterprise ou Platform) est installé et en cours d'exécution - comme décrit dans Télécharger et installer NexusArtifact Repository.

Page 110: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Publier la démo dans Artifact Repository

106 Guide de prise en main de Talend ESB

Si vous avez installé via Talend Installer (pour les produits Enterprise ou Platform), vous pouvez voir leService Talend Artifact dans votre environnement.

2. Ajoutez la section suivante dans le fichier de configuration de Maven <TalendRuntimePath>/examples/talend/tesb/rent-a-car/settings.xml et dans votre fichier $user.dir/.m2/settings.xml :

<server> <id>nexus</id> <username>admin</username> <password>admin123</password></server>

3. Dans le fichier du projet Maven <TalendRuntimePath>/examples/talend/tesb/rent-a-car/pom.xml,modifiez la section <distributionManagement> comme suit :

<distributionManagement>

<!-- use the following if you're not using a snapshot version. --> <repository> <id>nexus</id> <name>RepositoryProxy</name> <url>http://localhost:8081/nexus/content/repositories/releases</url> </repository>

<!-- use the following if you ARE using a snapshot version. --> <snapshotRepository> <id>nexus</id> <name>RepositoryProxy</name> <url>http://localhost:8081/nexus/content/repositories/snapshots</url> </snapshotRepository></distributionManagement>

http://localhost:8081/nexus/content/repositories/releases est l'URL correcte à utiliser lorsqueNexus est installé en standalone ou lorsque vous utilisez Talend Nexus Artifact Repository. Cependant, siNexus a été installé comme Application Web dans Tomcat (déploiement de fichier WAR), l'URL est http://localhost:8080/nexus-webapp/content/repositories/releases.

4. Dans le fichier <TalendRuntimePath>/container/etc/org.ops4j.pax.url.mvn, vérifiez l'URL duréférentiel Nexus dans le paramètre org.ops4j.pax.url.mvn.repositories et modifiez-la si nécessaire.

org.ops4j.pax.url.mvn.repositories= \.....http://localhost:8080/nexus-webapp/content/repositories/releases@id=tesb.release, \http://localhost:8080/nexus-webapp/content/repositories/snapshots@snapshots@id=tesb.snapshot, \

http://localhost:8081/nexus/content/repositories/releases@id=tesb.release est l'URLcorrecte à utiliser lorsque Nexus est installé en standalone ou lorsque vous utilisez TalendNexus Artifact Repository. Cependant, si Nexus a été installé comme Application Web dansTomcat (déploiement de fichier WAR), l'URL est http://localhost:8080/nexus-webapp/content/repositories/releases@id=tesb.release.

5. Dans la console d'une invite de commande, modifiez le répertoire en <TalendRuntimePath>/examples/talend/tesb/rent-a-car/ et exécutez la commande suivante afin de déployer les Features d'exemple dela démo Rent-a-Car dans Artifact Repository :

mvn deploy

6. Allez dans le répertoire http://localhost:8081/nexus/content/repositories/releases. L'exemplede Rent-a-Car : org.talend.esb.examples.rent-a-car est correctement déployé.

Une fois les Features de la démo Rent-a-Car publiées dans Artifact Repository, vous pouvez les déployer dansvotre conteneur de Talend Runtime. Pour plus d'informations :

Page 111: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Déployer la démo dans Talend ESB Standard Edition avec Nexus Artifact Repository

Guide de prise en main de Talend ESB 107

• Pour les utilisateurs des produits Talend ESB Standard Edition et Talend Open Studio for ESB, consultezDéployer la démo dans Talend ESB Standard Edition avec Nexus Artifact Repository.

• Pour les utilisateurs de Talend Enterprise ou Platform, consultez Déployer la démo dans Talend Runtime àpartir de Talend Administration Center.

4.3.3. Déployer la démo dans Talend ESB StandardEdition avec Nexus Artifact Repository

Cette section s'adresse aux utilisateurs de Talend ESB Standard Edition et Talend Open Studio for ESB. Si vousêtes un utilisateur d'un produit Enterprise ou Platform, consultez Déployer la démo dans Talend Runtime à partirde Talend Administration Center. Cette section décrit comment publier les Features de la démo Rent-a-Car deArtifact Repository dans votre conteneur de Talend Runtime.

1. Assurez-vous que les Features de la démo Rent-a-Car ont bien été publiées dans Artifact Repository - commedécrit dans Publier la démo dans Artifact Repository.

Pour vérifier qu'elles ont bien été publiées, allez à l'adresse http://localhost:8081/nexus/content/repositories/release, où l'exemple Rent-a-Car org.talend.esb.examples.rent-a-car a correctement étédéployé.

2. Démarrez le conteneur - consultez Démarrer Talend Runtime.

3. Installez les Features Rent-a-Car dans le conteneur de Talend Runtime à l'aide de ces commandes :

features:addurl mvn:org.talend.esb.examples.rent-a-car/features/5.6.2/xml

features:refreshurl

features:install tesb-rac-services

features:install tesb-rac-app

4. Exécutez la démo avec cette commande :

car:gui

4.3.4. Déployer la démo dans Talend Runtime à partirde Talend Administration Center

Cette section s'adresse aux utilisateurs des produits Enterprise ou Platform. Si vous utilisez Talend ESB StandardEdition ou Talend Open Studio for ESB, consultez Déployer la démo dans Talend ESB Standard Edition avecNexus Artifact Repository. Elle décrit comment publier les Features de la démo Rent-a-Car depuis ArtifactRepository dans votre conteneur de Talend Runtime via l'application Web Talend Administration Center.

1. Les applications Talend Runtime, Talend Administration Center et Nexus Artifact Repository doivent êtreen cours d'exécution - comme décrit dans Démarrer le logiciel.

2. Assurez-vous que les Features de la démo Rent-a-Car ont été publiées dans Artifact Repository - commedécrit dans Publier la démo dans Artifact Repository.

Pour vérifier leur publication, allez à l'adresse http://localhost:8081/nexus/content/repositories/release, où l'exemple Rent-a-Car org.talend.esb.examples.rent-a-car a correctement été déployé.

Page 112: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Déployer la démo dans Talend Runtime à partir de Talend Administration Center

108 Guide de prise en main de Talend ESB

3. Dans Talend Administration Center, cliquez sur Conductor > ESB Conductor pour créer une nouvelle tâchede déploiement.

4. Cliquez sur le bouton Add et renseignez les champs dans le panneau Edition de droite.

5. Dans le champ Label de la zone Metadata, saisissez rent-a-car et, dans le champ Description, saisissezdemo, par exemple.

6. Dans la zone Feature, cliquez sur Select Feature pour ouvrir l'assistant [Select Feature from Nexusrepository] vous permettant de renseigner les champs de cette zone :

Page 113: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Déployer la démo dans Talend Runtime à partir de Talend Administration Center

Guide de prise en main de Talend ESB 109

7. Dans la liste Repository, sélectionnez releases et ouvrez les dossiers org > talend > esb > examples > rent-a-car > features > 5.6.2, sélectionnez la Feature features-5.6.2.xml puis cliquez sur OK. Les champs dela zone Features sont automatiquement renseignés.

Dans la liste Name, sélectionnez tesb-rac-services et dans la liste Type, sélectionnez Service.

8. Dans la liste Server de la zone Runtime Config, sélectionnez Talend Runtime Container.

Cliquez sur Save pour créer une tâche de déploiement.

9. La tâche de déploiement rent-a-car apparaît dans la liste :

Page 114: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Utilisation de XKMS avec la démo Rent-a-Car

110 Guide de prise en main de Talend ESB

Cliquez sur Deploy. La Feature tesb-rac-services est déployée sur le serveur sélectionné (Talend RuntimeContainer) et démarre automatiquement.

La valeur de la colonne Last Action passe de CREATED à DEPLOYED.

Les Services Rent-a-Car sont déployés et automatiquement démarrés dans le conteneur de Talend Runtime. Ilspeuvent être utilisés. Si vous saisissez list dans la console du conteneur, vous pouvez voir les services actifs :

[ 349] [Active ] [ ] [ ] [ 80] CRMService Common (5.6.2)[ 350] [Active ] [ ] [ ] [ 80] ReservationService Common (5.6.2)[ 351] [Active ] [ ] [ ] [ 80] CRMService Service (5.6.2)[ 352] [Active ] [ ] [Started] [ 80] CRMService Service Endpoint JMX (5.6.2)[ 353] [Active ] [ ] [ ] [ 80] ReservationService Service (5.6.2)[ 354] [Active ] [ ] [Started] [ 80] ReservationService Service Endpoint JMX (5.6.2)

Pour utiliser ces services via l'application cliente de location Rent-a-Car, déployez le service correspondant dansle conteneur de Talend Runtime. Pour ce faire, suivez la procédure décrite ci-dessus, mais sélectionnez la Featuretesb-rac-app dans la liste Name de la zone Features.

Une fois le service de l'application cliente de location déployé dans le conteneur de Talend Runtime, exécutez soninterface à l'aide de la commande car:gui et utilisez conjointement les services Rent-a-Car.

Pour d'autres exemples de déploiement via Talend Administration Center, consultez Publier et déployer à partirde Talend Administration Center. Dans ce scénario, la publication dans Artifact Repository et le déploiement dansle conteneur de Talend Runtime sont gérés par Talend Administration Center, puisque le développement du services'est fait dans le Studio Talend.

Pour plus d'informations concernant l'ESB Conductor, consultez le Guide utilisateur de Talend AdministrationCenter.

4.4. Utilisation de XKMS avec la démo Rent-a-CarCette section décrit comment configurer l'exemple Rent-a-Car obtenant des certificats publics du service XKMSpour crypter/signer des messages.

La fonctionnalité XKMS est disponible uniquement dans les produits Enterprise et Platform de Talend. Si vousutilisez Talend ESB Standard Edition ou Talend Open Studio for ESB, vous ne pouvez pas exécuter cette démo.

Pour suivre cette démo, vous devez :

1. Démarrer le conteneur avec les Services d'Infrastructure - consultez Démarrer Talend Runtime.

2. Configurez le service XKMS - consultez Configurer le service XKMS pour la démo.

3. Construisez et exécutez la démo - consultez Construire l'exemple de la démo Rent-a-Car.

4.4.1. Configurer le service XKMS pour la démo

Une fois le conteneur de Talend Runtime et le service XKMS démarrés, vous devez adapter la configuration pardéfaut à la démo :

Page 115: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Construire l'exemple de la démo Rent-a-Car

Guide de prise en main de Talend ESB 111

1. Pour vous assurer que le service XKMS est démarré, démarrez le conteneur de Talend Runtime par défaut,si vous l'avez arrêté, puis exécutez la commande suivante dans la console :

list

Les bundles suivants activant la fonctionnalité XKMS s'affichent dans la liste :

[ 233] [Active ] [ ] [ ] [ 80] Apache CXF XKMS Common (2.7.11)[ 234] [Active ] [Created ] [ ] [ 80] Apache CXF XKMS Client (2.7.11)[ 343] [Active ] [ ] [ ] [ 80] Apache CXF XKMS Service (2.7.11)[ 344] [Active ] [ ] [ ] [ 80] Apache CXF XKMS X509 Handlers (2.7.11)[ 345] [Active ] [Created ] [ ] [ 80] Apache CXF XKMS OSGi deployment (2.7.11)

Si vous n'avez pas encore démarré le service XKMS, exécutez-le via la commande tesb:start-all. Sivous souhaitez uniquement installer la fonctionnalité XKMS sans installer les autres modules (Security TokenService, Security Token Service, Service Locator), exécutez la commande tesb:start-xkms.

2. Le service XKMS supporte à la fois LDAP et les fichiers comme référentiels backend. Dans un environnementde test ou de démo, configurez le service XKMS pour utiliser un référentiel fichier (plus simple à utiliser).

Modifiez le fichier de configuration container/etc/org.apache.cxf.xkms.cfg.

3. Assurez-vous que le paramètre Certificate repository est bien configuré comme suit :

xkms.certificate.repo=file

4. Assurez-vous que le paramètre Filesystem backend est bien configuré comme suit :

xkms.file.storageDir=${karaf.home}/esbrepo/xkms/certificates

Les certificats publics (*.cer) utilisés dans cet exemple ont été pré-installés dans le référentiel XKMS pardéfaut ${karaf.home}/esbrepo/xkms/certificates/trusted_cas du conteneur de Talend Runtime.

4.4.2. Construire l'exemple de la démo Rent-a-Car

Pour construire cette démo, vous devez construire la version XKMS de l'exemple Rent-a-Car, disponible dans undossier XKMS spécifique du conteneur de Talend Runtime.

1. Pour construire les exemples de la démo, dans une invite de commande, modifiez le répertoire en :

<TalendRuntimePath>/examples/talend/xkms/rent-a-car

Exécutez la commande suivante :

mvn install

2. Installez les exemples. Dans la console du conteneur de Talend Runtime, exécutez les commandes suivantes :

features:addurl mvn:org.talend.esb.ee.examples.rent-a-car/features/5.6.2/xml

features:install tesb-rac-services-xkms

features:install tesb-rac-app-xkms

3. Utilisez la commande list afin de vérifier que tout est correctement installé :

[ 373] [Active ] [ ] [ ] [ 80] CRMService Common (5.6.2)

Page 116: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Accéder aux logs des événements ESB dans Talend Administration Center

112 Guide de prise en main de Talend ESB

[ 374] [Active ] [ ] [ ] [ 80] ReservationService Common (5.6.2)[ 375] [Active ] [ ] [ ] [ 80] CRMService Service (5.6.2)[ 376] [Active ] [ ] [Started] [ 80] CRMService Service Endpoint XKMS (5.6.2)[ 377] [Active ] [ ] [ ] [ 80] ReservationService Service (5.6.2)[ 378] [Active ] [ ] [Started] [ 80] ReservationService Service Endpoint XKMS (5.6.2)[ 379] [Active ] [ ] [Started] [ 80] CRMService Client XKMS (5.6.2)[ 380] [Active ] [ ] [Started] [ 80] ReservationService Client XKMS (5.6.2)[ 381] [Active ] [Created ] [ ] [ 80] App Reservation (5.6.2)

4. Pour utiliser la démo, vous pouvez utiliser l'interface de l'application de location. Pour l'ouvrir, exécutez lacommande suivante dans l'invite de commande du conteneur de Talend Runtime :

car:gui

4.5. Accéder aux logs des événements ESBdans Talend Administration CenterSi vous êtes un utilisateur d'une version Enterprise ou Platform, vous pouvez accéder aux Dashboards ESB dansTalend Administration Center. Ces Dashboards contiennent les logs relatifs aux événements ESB, aux endpointsdu Locator et à la disponibilité des Services, ainsi qu'à Service Activity Monitoring. Cette fonctionnalité n'est pasdisponible dans Talend ESB Standard Edition et Talend Open Studio for ESB.

Cette section décrit comment utiliser les Dashboards ESB de Talend Administration Center.

Dans l'application Web Talend Administration Center, cliquez sur Monitoring > Logging dans l'arborescencedu menu :

Le Dashboard ci-dessus est le Dashboard par défaut. Il affiche les événements de manière graphique et les classeselon le seuil de log défini dans la page Configuration de Talend Administration Center. Pour plus d'informations,consultez le Guide utilisateur de Talend Administration Center.

Page 117: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Accéder aux logs des événements ESB dans Talend Administration Center

Guide de prise en main de Talend ESB 113

Pour accéder aux logs des événements des endpoints des Services, cliquez sur le Dashboard ESB LocatorEndpoints :

Le Dashboard ci-dessus affiche tous les endpoints des Services déployés dans le Runtime ainsi que leurdisponibilité. Par exemple, dans la capture d'écran ci-dessus, quatre endpoints sont listés : un pour lecas d'usage du Service REST Employee ({http://www.talend.org/rest/}EmployeeService), un pour lecase d'usage du Service SayHello ({http://www.talend.org/service/}SayHelloService) et deux pour lecas d'usage Rent-a-Car ({http://services.talend.org/CRMService}CRMServiceProvider et {http://services.talend.org/ReservationService}ReservationServiceProvider). Ces quatre services sontdisponibles et actifs.

Pour accéder aux logs des événements de l'activité des Services, cliquez sur le Dashboard ESB SAM :

Page 118: Talend ESB - Guide de prise en maindownload-mirror1.talend.com/esb/user-guide-download/V562/Talend_ESB... · ESB de Talend rend l’intégration de niveau Entreprise accessible grâce

Accéder aux logs des événements ESB dans Talend Administration Center

114 Guide de prise en main de Talend ESB

Le Dashboard ci-dessus affiche toutes les activités des Services. Vous pouvez voir les quatre Services utilisésdans les exemples. Comme vous pouvez le constater, les Services créés dans les cas d'usage de ce guide ont étéinterrogés et une réponse correspond à la plupart de ces requêtes. De plus, les Services les plus interrogés sontlistés. Ici, les deux Services Rent-a-Car ({http://services.talend.org/CRMService}CRMServiceProvideret {http://services.talend.org/ReservationService}ReservationServiceProvider) sont les Servicesles plus interrogés.