SlideShare une entreprise Scribd logo

eServices-Tp3: esb

Lilia Sfaxi
Lilia Sfaxi
Lilia SfaxiDocteur-Ingénieur en Informatique - Assistante à l'INSAT

Configuration d'un ESB avec TalendESB

eServices-Tp3: esb

1  sur  11
Télécharger pour lire hors ligne
TP 3: Mise en Place d’un ESB
avec Talend ESB
Cours eServices - GL5
GL5 - 2015-2016


TP 3 ESERVICES MME. LILIA SFAXI 1
Objectifs du TP
Création de services web avec l’outil Talend Open Studio for ESB, et configuration des
routes dans Talend ESB
I. Les outils Talend pour ESB
1. Talend ESB
Talend ESB est une solution légère, robuste et modulaire pour la création de services
web sécurisés ainsi que pour l’intégration d’applications nouvelles ou existantes.
Talend participe au développement des composants ESB à travers la communauté
Apache. Il collabore avec un grand nombre de développeurs de la communauté Apache
et a fait plusieurs contributions aux projets Apache.
Talend fournit:
• Un courtier de messages à haute performance.
• Des options de déploiement flexibles
• Des outils de développement pour Eclipse
• Une interface utilisateur pour l’intégration et la médiation d’applications
• Support pour les services web SOAP et REST
• La médiation et le routage
• Support pour le failover, le monitoring et la sécurité
L’environnement d’exécution standard de Talend ESB est un conteneur OSGi.
L’implémentation OSGi fournie avec Talend ESB est Apache Karaf, avec Eclipse Equinox
comme environnement d’exécution OSGi. Elle fournit un conteneur léger dans lequel les
différents composants et applications peuvent être déployées.
2. Talend Open Studio for ESB
Talend Open Studio for ESB (TOS-ESB) fournit une interface graphique de
développement pour implémenter, compiler, tester et publier des services Web Java, des
applications REST, des services de données et des routes de messages.
Le déploiement d’applications avec TOS-ESB utilise principalement les trois blocs
représentés dans cette figure:
TP 3 ESERVICES MME. LILIA SFAXI 2
• Le bloc bleu représente l’API Talend Studio, où il est possible d’intégrer des
données, des services ou des applications
• Les blocs rouges représentent un ou plusieurs environnements d’exécution Talend
déployés dans votre système d’information. Il vous permet de déployer et
d’exécuter les Jobs, les routes et les services créés dans Talend Studio. Il est
possible d’avoir plusieurs environnements d’exécution, entre lesquels vous pouvez
basculer grâce à Talend Service Locator.
• Le bloc orange est une base de données de monitoring, permettant de stocker les
informations d’exécution des processus et de l’activité des services.
L’interface utilisateur de TOS-ESB se présente comme suit:
Le traditionnel Reposoitory contenant vos Jobs, services,
fichiers, routes…
La fenêtre principale, représentant graphiquement la
composition de vos jobs et routes
Fenêtre contenant les propriétés, la console d’exécution…
La palette des composants à utiliser
Onglets pour le choix de la perspective à utiliser
!
1
!
4
!
2
!
5
!
3
TP 3 ESERVICES MME. LILIA SFAXI 3
1
2
4
3
5
Dans TOS-ESB, nous avons principalement deux perspectives:
• Intégration: pour la création de Jobs, services…
• Médiation: pour la définition des routes.
3. Documents fournis
Pour les besoins de notre TP, nous vous fournissons :
• le bundle TOS_ESB-V6.0.1.zip : une archive complète contenant à la fois
l’environnement d’exécution Talend ESB (dans le sous-répertoire Runtime ESBSE)
ainsi que les outils Talend Open Studio for ESB (dans le sous-répertoire Studio)
fourni pour plusieurs systèmes d’exploitation et distributions.
• TalendOpenStudio_ESB_GettingStarted_6.0.1_EN.pdf : Une documentation détaillée
pour utiliser les outils Talend ESB (à partir de laquelle nous nous sommes inspirés
pour réaliser ce TP).
II. Création de services web SOAP
Nous ne pouvons pas configurer un ESB avant de savoir créer, déployer et exécuter des
services web avec les outils Talend ESB. Nous allons donc commencer avec le
traditionnel Hello World. Pour cela, il faut commencer par créer un projet de votre choix.
Dans toute cette partie, nous nous trouverons dans la perspective Integration.
1. Création et exécution du service SOAP HelloWorld
Pour créer un nouveau service de type SOAP:
• Clic-droit sur Services de votre Repository, et choisir Create Service. Appeler le
service HelloWorldService. Cliquer sur Suivant.
• On vous propose soit de créer un nouveau WSDL, soit de choisir un WSDL existant.
Dans notre cas, nous créons un nouveau WSDL. Cliquer sur Terminer.
• Un service simple qui reçoit une chaîne de caractères et en produit une autre est
créé. Une vue graphique de son WSDL s’affiche.
TP 3 ESERVICES MME. LILIA SFAXI 4
Cette vue est
obtenue en passant
la souris sur cette
flèche
Vous trouverez ici
l’adresse du
service créé
Pour pouvoir tester votre service, il faut créer un Job. Mais d’abord:
• Importer le WSDL de votre service dans votre repository. Pour cela, clic droit sur
HelloWorldService, et choisir Importer les schémas WSDL. Vous retrouverez votre
WSDL dans la partie Metadonnées -> Fichier XML.
• Créer un nouveau Job pour votre service. Pour cela, clic-droit sur l’opération
HelloWorldServiceOperation et choisir Assign Job.
• Modifier votre Job pour qu’il ait l’allure suivante (Le tLogRow nous permettra
d’afficher le résultat du service exécuté sur la console avant de l’envoyer au
consommateur):
• Configurer votre tXMLMap pour que le in de la requête soit transmise au out de la
réponse, en lui concaténant le célèbre “Hello”. Pour cela:
• Double clic sur votre XML Map.
• Clic-droit sur payload de l’entrée, et cliquer sur Import from Repository
• Choisir HelloWorldServiceOperationRequest correspondant au fichier WSDL que
vous avez généré.
• Refaire les mêmes étapes pour le payload de la sortie, en choisissant
HelloWorldServiceOperationResponse.
• Relier le in de la requête avec le out de la réponse
• Modifier l’expression du out en ajoutant la chaîne “Hello “ avant la valeur in de
l’entrée. (créer l’entrée comme sous-élément de la réponse)
• Sauvegarder et quitter.
• Lancer votre Job (cela permettra de publier votre service web sur le port 8090).
Vérifier que votre fichier WSDL existe bien.
2. Création du consommateur du service
Nous allons maintenant créer un consommateur pour notre service. Pour cela:
• Créer un nouveau Job, que vous appellerez HelloWorldServiceConsumer.
• Concevez votre job de manière à ce qu’il ait l’allure suivante:
TP 3 ESERVICES MME. LILIA SFAXI 5
Voici le rôle des éléments que vous avez ajouté:
• tFixedFlowInput : définir les entrées à envoyer à votre service
• tXMLMap : associer les entrées définies aux entrées du service
• tESBConsumer : consommateur du service
• tLogRow: afficher les réponses et/ou les fautes (s’il y’en a)
• Configurer votre composant tFixedFlowInput de manière à ce que son schéma
contienne une seule colonne de type chaîne de caractères appelée Nom, et ajouter
comme noms à entrer: “Alice”, “Bob” et “Chuck”.
• Configurer votre tESBConsumer en lui donnant comme WSDL celui du service que
vous avez créé. Vérifiez bien que le Endpoint soit sur le port 8090.
• Configurer votre tXMLMap pour que la variable Nom soit associée au in de votre
service.
• Exécuter le Job, et observez le résultat.
III. Configuration et utilisation de l’ESB Talend
1. Lancement de deux instances de l’ESB Talend
Pour les besoins de notre TP, nous allons lancer deux instances de l’ESB Talend. Pour
cela, l’environnement nous fournit une manière très simple de le faire:
• Aller dans le répertoire <rep_install_talend>/Runtime_ESBSE
• Copier le répertoire container et le renommer en alternate-container.
• Nous allons maintenant configurer la deuxième instance de l’ESB (dans alternate-
container) pour qu’elle se lance sur un port différent de la première. Pour cela:
• Lancer l’ESB : dans le répertoire alternate-container que vous venez de créer, aller
vers bin et exécuter trun.bash (sur windows). Si vous êtes sur Linux ou mac,
TP 3 ESERVICES MME. LILIA SFAXI 6
Publicité

Recommandé

Création de Services et Configuration du ESB avec TalendESB
Création de Services et Configuration du ESB avec TalendESBCréation de Services et Configuration du ESB avec TalendESB
Création de Services et Configuration du ESB avec TalendESBLilia Sfaxi
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOALilia Sfaxi
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRSLilia Sfaxi
 
Intégration des données avec Talend ETL
Intégration des données avec Talend ETLIntégration des données avec Talend ETL
Intégration des données avec Talend ETLLilia Sfaxi
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratiqueAbdelouahed Abdou
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWSLilia Sfaxi
 

Contenu connexe

Tendances

Présentation Talend Open Studio
Présentation Talend Open StudioPrésentation Talend Open Studio
Présentation Talend Open Studiohoracio lassey
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web ServicesLilia Sfaxi
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfacesAmir Souissi
 
Architecture orientée service (SOA)
Architecture orientée service (SOA)Architecture orientée service (SOA)
Architecture orientée service (SOA)Klee Group
 
Talend ESB : Monitoring, Repartition de Charge et Authentification
Talend ESB : Monitoring, Repartition de Charge et AuthentificationTalend ESB : Monitoring, Repartition de Charge et Authentification
Talend ESB : Monitoring, Repartition de Charge et AuthentificationLilia Sfaxi
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées servicesDonia Hammami
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)Heithem Abbes
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)ENSET, Université Hassan II Casablanca
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpelLilia Sfaxi
 
Dba oracle-v1
Dba oracle-v1Dba oracle-v1
Dba oracle-v1infcom
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesLilia Sfaxi
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...ENSET, Université Hassan II Casablanca
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services WebLilia Sfaxi
 

Tendances (20)

Support Java Avancé Troisième Partie
Support Java Avancé Troisième PartieSupport Java Avancé Troisième Partie
Support Java Avancé Troisième Partie
 
Présentation Talend Open Studio
Présentation Talend Open StudioPrésentation Talend Open Studio
Présentation Talend Open Studio
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
Architecture orientée service (SOA)
Architecture orientée service (SOA)Architecture orientée service (SOA)
Architecture orientée service (SOA)
 
Talend ESB : Monitoring, Repartition de Charge et Authentification
Talend ESB : Monitoring, Repartition de Charge et AuthentificationTalend ESB : Monitoring, Repartition de Charge et Authentification
Talend ESB : Monitoring, Repartition de Charge et Authentification
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées services
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
Site JEE de ECommerce Basé sur Spring IOC MVC Security JPA Hibernate
Site JEE de ECommerce  Basé sur Spring IOC MVC Security JPA HibernateSite JEE de ECommerce  Basé sur Spring IOC MVC Security JPA Hibernate
Site JEE de ECommerce Basé sur Spring IOC MVC Security JPA Hibernate
 
Dba oracle-v1
Dba oracle-v1Dba oracle-v1
Dba oracle-v1
 
Talend
TalendTalend
Talend
 
Chp2 - SOA
Chp2 - SOAChp2 - SOA
Chp2 - SOA
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées Services
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Présentation SOA
Présentation SOAPrésentation SOA
Présentation SOA
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services Web
 

En vedette

eServices-Chp4: ESB
eServices-Chp4: ESBeServices-Chp4: ESB
eServices-Chp4: ESBLilia Sfaxi
 
eServices-Tp5: api management
eServices-Tp5: api managementeServices-Tp5: api management
eServices-Tp5: api managementLilia Sfaxi
 
eServices-Chp1: Introduction
eServices-Chp1: IntroductioneServices-Chp1: Introduction
eServices-Chp1: IntroductionLilia Sfaxi
 
eServices-Chp6: WOA
eServices-Chp6: WOAeServices-Chp6: WOA
eServices-Chp6: WOALilia Sfaxi
 
eServices-Chp2: SOA
eServices-Chp2: SOAeServices-Chp2: SOA
eServices-Chp2: SOALilia Sfaxi
 
eServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementeServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementLilia Sfaxi
 
eServices-Chp3: Composition de Services
eServices-Chp3: Composition de ServiceseServices-Chp3: Composition de Services
eServices-Chp3: Composition de ServicesLilia Sfaxi
 
eServices-Tp4: esb++
eServices-Tp4: esb++eServices-Tp4: esb++
eServices-Tp4: esb++Lilia Sfaxi
 
Chp3 - Fonctionnement des ERP
Chp3 - Fonctionnement des ERPChp3 - Fonctionnement des ERP
Chp3 - Fonctionnement des ERPLilia Sfaxi
 
Chp2 - Solutions ERP
Chp2 - Solutions ERPChp2 - Solutions ERP
Chp2 - Solutions ERPLilia Sfaxi
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELLilia Sfaxi
 
Getting Started with Real-time Analytics
Getting Started with Real-time AnalyticsGetting Started with Real-time Analytics
Getting Started with Real-time AnalyticsAmazon Web Services
 
Real Time Analytics: Algorithms and Systems
Real Time Analytics: Algorithms and SystemsReal Time Analytics: Algorithms and Systems
Real Time Analytics: Algorithms and SystemsArun Kejariwal
 
Big Data Real Time Applications
Big Data Real Time ApplicationsBig Data Real Time Applications
Big Data Real Time ApplicationsDataWorks Summit
 

En vedette (14)

eServices-Chp4: ESB
eServices-Chp4: ESBeServices-Chp4: ESB
eServices-Chp4: ESB
 
eServices-Tp5: api management
eServices-Tp5: api managementeServices-Tp5: api management
eServices-Tp5: api management
 
eServices-Chp1: Introduction
eServices-Chp1: IntroductioneServices-Chp1: Introduction
eServices-Chp1: Introduction
 
eServices-Chp6: WOA
eServices-Chp6: WOAeServices-Chp6: WOA
eServices-Chp6: WOA
 
eServices-Chp2: SOA
eServices-Chp2: SOAeServices-Chp2: SOA
eServices-Chp2: SOA
 
eServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementeServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API Management
 
eServices-Chp3: Composition de Services
eServices-Chp3: Composition de ServiceseServices-Chp3: Composition de Services
eServices-Chp3: Composition de Services
 
eServices-Tp4: esb++
eServices-Tp4: esb++eServices-Tp4: esb++
eServices-Tp4: esb++
 
Chp3 - Fonctionnement des ERP
Chp3 - Fonctionnement des ERPChp3 - Fonctionnement des ERP
Chp3 - Fonctionnement des ERP
 
Chp2 - Solutions ERP
Chp2 - Solutions ERPChp2 - Solutions ERP
Chp2 - Solutions ERP
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
 
Getting Started with Real-time Analytics
Getting Started with Real-time AnalyticsGetting Started with Real-time Analytics
Getting Started with Real-time Analytics
 
Real Time Analytics: Algorithms and Systems
Real Time Analytics: Algorithms and SystemsReal Time Analytics: Algorithms and Systems
Real Time Analytics: Algorithms and Systems
 
Big Data Real Time Applications
Big Data Real Time ApplicationsBig Data Real Time Applications
Big Data Real Time Applications
 

Similaire à eServices-Tp3: esb

Tp soa avec talend esb
Tp soa avec talend esbTp soa avec talend esb
Tp soa avec talend esbAlahyane Ahmed
 
Configurer kerberos et SharePoint 2010 FR
Configurer kerberos et SharePoint 2010  FRConfigurer kerberos et SharePoint 2010  FR
Configurer kerberos et SharePoint 2010 FRNicolas Georgeault
 
Rapport MS Exchange 2010
Rapport MS Exchange 2010Rapport MS Exchange 2010
Rapport MS Exchange 2010Majid CHADAD
 
Tp talend esb fonctionnalites supplementaires
Tp talend esb fonctionnalites supplementairesTp talend esb fonctionnalites supplementaires
Tp talend esb fonctionnalites supplementairesAlahyane Ahmed
 
S51 vos projets web services ibm i a l aide de php
S51   vos projets web services ibm i a l aide de phpS51   vos projets web services ibm i a l aide de php
S51 vos projets web services ibm i a l aide de phpGautier DUMAS
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partageraliagadir
 
Rencontre mensuelle Montreal - juillet 2012 - kerberos
Rencontre mensuelle Montreal - juillet 2012 - kerberosRencontre mensuelle Montreal - juillet 2012 - kerberos
Rencontre mensuelle Montreal - juillet 2012 - kerberosNicolas Georgeault
 
Installation et configuration de exchange serveur 2016
Installation et configuration de exchange serveur 2016Installation et configuration de exchange serveur 2016
Installation et configuration de exchange serveur 2016Cheikh Mohamed NDIAYE
 
Compte rendu chaberge
Compte rendu chabergeCompte rendu chaberge
Compte rendu chabergeshiruh
 
Webinar Smile : Comment industrialiser votre SI avec Ansible ?
Webinar Smile : Comment industrialiser votre SI avec Ansible ?Webinar Smile : Comment industrialiser votre SI avec Ansible ?
Webinar Smile : Comment industrialiser votre SI avec Ansible ?Smile I.T is open
 
Joomla : AcyMailing et ElasticEmail
Joomla : AcyMailing et ElasticEmailJoomla : AcyMailing et ElasticEmail
Joomla : AcyMailing et ElasticEmailMarc DECHEVRE
 
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs WebUne visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs WebFrédéric Harper
 

Similaire à eServices-Tp3: esb (20)

Tp soa avec talend esb
Tp soa avec talend esbTp soa avec talend esb
Tp soa avec talend esb
 
Configurer kerberos et SharePoint 2010 FR
Configurer kerberos et SharePoint 2010  FRConfigurer kerberos et SharePoint 2010  FR
Configurer kerberos et SharePoint 2010 FR
 
.NET DotNet CF - 3
.NET DotNet CF - 3.NET DotNet CF - 3
.NET DotNet CF - 3
 
Soap
SoapSoap
Soap
 
Rapport MS Exchange 2010
Rapport MS Exchange 2010Rapport MS Exchange 2010
Rapport MS Exchange 2010
 
Tp talend esb fonctionnalites supplementaires
Tp talend esb fonctionnalites supplementairesTp talend esb fonctionnalites supplementaires
Tp talend esb fonctionnalites supplementaires
 
Soap
SoapSoap
Soap
 
Tutoriel web service
Tutoriel  web serviceTutoriel  web service
Tutoriel web service
 
Soap
SoapSoap
Soap
 
S51 vos projets web services ibm i a l aide de php
S51   vos projets web services ibm i a l aide de phpS51   vos projets web services ibm i a l aide de php
S51 vos projets web services ibm i a l aide de php
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partager
 
Rencontre mensuelle Montreal - juillet 2012 - kerberos
Rencontre mensuelle Montreal - juillet 2012 - kerberosRencontre mensuelle Montreal - juillet 2012 - kerberos
Rencontre mensuelle Montreal - juillet 2012 - kerberos
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
Installation et configuration de exchange serveur 2016
Installation et configuration de exchange serveur 2016Installation et configuration de exchange serveur 2016
Installation et configuration de exchange serveur 2016
 
Soap, wsdl et uddi
Soap, wsdl et uddiSoap, wsdl et uddi
Soap, wsdl et uddi
 
Compte rendu chaberge
Compte rendu chabergeCompte rendu chaberge
Compte rendu chaberge
 
Webinar Smile : Comment industrialiser votre SI avec Ansible ?
Webinar Smile : Comment industrialiser votre SI avec Ansible ?Webinar Smile : Comment industrialiser votre SI avec Ansible ?
Webinar Smile : Comment industrialiser votre SI avec Ansible ?
 
Joomla : AcyMailing et ElasticEmail
Joomla : AcyMailing et ElasticEmailJoomla : AcyMailing et ElasticEmail
Joomla : AcyMailing et ElasticEmail
 
Ter Web Service Intro
Ter Web Service IntroTer Web Service Intro
Ter Web Service Intro
 
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs WebUne visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
 

Plus de Lilia Sfaxi

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfLilia Sfaxi
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfLilia Sfaxi
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-CassandraLilia Sfaxi
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-CorrectionLilia Sfaxi
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-CorrectionLilia Sfaxi
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-CorrectionLilia Sfaxi
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-SéquencesLilia Sfaxi
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-CorrectionLilia Sfaxi
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correctionLilia Sfaxi
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrageLilia Sfaxi
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Lilia Sfaxi
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intentsLilia Sfaxi
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web servicesLilia Sfaxi
 

Plus de Lilia Sfaxi (20)

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdf
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdf
 
Lab3-DB_Neo4j
Lab3-DB_Neo4jLab3-DB_Neo4j
Lab3-DB_Neo4j
 
Lab2-DB-Mongodb
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-Mongodb
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-Cassandra
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-Correction
 
TD4-UML
TD4-UMLTD4-UML
TD4-UML
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-Séquences
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
TD2-UML-Classes
TD2-UML-ClassesTD2-UML-Classes
TD2-UML-Classes
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
TD1 - UML - DCU
TD1 - UML - DCUTD1 - UML - DCU
TD1 - UML - DCU
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrage
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intents
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web services
 

eServices-Tp3: esb

  • 1. TP 3: Mise en Place d’un ESB avec Talend ESB Cours eServices - GL5 GL5 - 2015-2016 
 TP 3 ESERVICES MME. LILIA SFAXI 1 Objectifs du TP Création de services web avec l’outil Talend Open Studio for ESB, et configuration des routes dans Talend ESB
  • 2. I. Les outils Talend pour ESB 1. Talend ESB Talend ESB est une solution légère, robuste et modulaire pour la création de services web sécurisés ainsi que pour l’intégration d’applications nouvelles ou existantes. Talend participe au développement des composants ESB à travers la communauté Apache. Il collabore avec un grand nombre de développeurs de la communauté Apache et a fait plusieurs contributions aux projets Apache. Talend fournit: • Un courtier de messages à haute performance. • Des options de déploiement flexibles • Des outils de développement pour Eclipse • Une interface utilisateur pour l’intégration et la médiation d’applications • Support pour les services web SOAP et REST • La médiation et le routage • Support pour le failover, le monitoring et la sécurité L’environnement d’exécution standard de Talend ESB est un conteneur OSGi. L’implémentation OSGi fournie avec Talend ESB est Apache Karaf, avec Eclipse Equinox comme environnement d’exécution OSGi. Elle fournit un conteneur léger dans lequel les différents composants et applications peuvent être déployées. 2. Talend Open Studio for ESB Talend Open Studio for ESB (TOS-ESB) fournit une interface graphique de développement pour implémenter, compiler, tester et publier des services Web Java, des applications REST, des services de données et des routes de messages. Le déploiement d’applications avec TOS-ESB utilise principalement les trois blocs représentés dans cette figure: TP 3 ESERVICES MME. LILIA SFAXI 2
  • 3. • Le bloc bleu représente l’API Talend Studio, où il est possible d’intégrer des données, des services ou des applications • Les blocs rouges représentent un ou plusieurs environnements d’exécution Talend déployés dans votre système d’information. Il vous permet de déployer et d’exécuter les Jobs, les routes et les services créés dans Talend Studio. Il est possible d’avoir plusieurs environnements d’exécution, entre lesquels vous pouvez basculer grâce à Talend Service Locator. • Le bloc orange est une base de données de monitoring, permettant de stocker les informations d’exécution des processus et de l’activité des services. L’interface utilisateur de TOS-ESB se présente comme suit: Le traditionnel Reposoitory contenant vos Jobs, services, fichiers, routes… La fenêtre principale, représentant graphiquement la composition de vos jobs et routes Fenêtre contenant les propriétés, la console d’exécution… La palette des composants à utiliser Onglets pour le choix de la perspective à utiliser ! 1 ! 4 ! 2 ! 5 ! 3 TP 3 ESERVICES MME. LILIA SFAXI 3 1 2 4 3 5
  • 4. Dans TOS-ESB, nous avons principalement deux perspectives: • Intégration: pour la création de Jobs, services… • Médiation: pour la définition des routes. 3. Documents fournis Pour les besoins de notre TP, nous vous fournissons : • le bundle TOS_ESB-V6.0.1.zip : une archive complète contenant à la fois l’environnement d’exécution Talend ESB (dans le sous-répertoire Runtime ESBSE) ainsi que les outils Talend Open Studio for ESB (dans le sous-répertoire Studio) fourni pour plusieurs systèmes d’exploitation et distributions. • TalendOpenStudio_ESB_GettingStarted_6.0.1_EN.pdf : Une documentation détaillée pour utiliser les outils Talend ESB (à partir de laquelle nous nous sommes inspirés pour réaliser ce TP). II. Création de services web SOAP Nous ne pouvons pas configurer un ESB avant de savoir créer, déployer et exécuter des services web avec les outils Talend ESB. Nous allons donc commencer avec le traditionnel Hello World. Pour cela, il faut commencer par créer un projet de votre choix. Dans toute cette partie, nous nous trouverons dans la perspective Integration. 1. Création et exécution du service SOAP HelloWorld Pour créer un nouveau service de type SOAP: • Clic-droit sur Services de votre Repository, et choisir Create Service. Appeler le service HelloWorldService. Cliquer sur Suivant. • On vous propose soit de créer un nouveau WSDL, soit de choisir un WSDL existant. Dans notre cas, nous créons un nouveau WSDL. Cliquer sur Terminer. • Un service simple qui reçoit une chaîne de caractères et en produit une autre est créé. Une vue graphique de son WSDL s’affiche. TP 3 ESERVICES MME. LILIA SFAXI 4 Cette vue est obtenue en passant la souris sur cette flèche Vous trouverez ici l’adresse du service créé
  • 5. Pour pouvoir tester votre service, il faut créer un Job. Mais d’abord: • Importer le WSDL de votre service dans votre repository. Pour cela, clic droit sur HelloWorldService, et choisir Importer les schémas WSDL. Vous retrouverez votre WSDL dans la partie Metadonnées -> Fichier XML. • Créer un nouveau Job pour votre service. Pour cela, clic-droit sur l’opération HelloWorldServiceOperation et choisir Assign Job. • Modifier votre Job pour qu’il ait l’allure suivante (Le tLogRow nous permettra d’afficher le résultat du service exécuté sur la console avant de l’envoyer au consommateur): • Configurer votre tXMLMap pour que le in de la requête soit transmise au out de la réponse, en lui concaténant le célèbre “Hello”. Pour cela: • Double clic sur votre XML Map. • Clic-droit sur payload de l’entrée, et cliquer sur Import from Repository • Choisir HelloWorldServiceOperationRequest correspondant au fichier WSDL que vous avez généré. • Refaire les mêmes étapes pour le payload de la sortie, en choisissant HelloWorldServiceOperationResponse. • Relier le in de la requête avec le out de la réponse • Modifier l’expression du out en ajoutant la chaîne “Hello “ avant la valeur in de l’entrée. (créer l’entrée comme sous-élément de la réponse) • Sauvegarder et quitter. • Lancer votre Job (cela permettra de publier votre service web sur le port 8090). Vérifier que votre fichier WSDL existe bien. 2. Création du consommateur du service Nous allons maintenant créer un consommateur pour notre service. Pour cela: • Créer un nouveau Job, que vous appellerez HelloWorldServiceConsumer. • Concevez votre job de manière à ce qu’il ait l’allure suivante: TP 3 ESERVICES MME. LILIA SFAXI 5
  • 6. Voici le rôle des éléments que vous avez ajouté: • tFixedFlowInput : définir les entrées à envoyer à votre service • tXMLMap : associer les entrées définies aux entrées du service • tESBConsumer : consommateur du service • tLogRow: afficher les réponses et/ou les fautes (s’il y’en a) • Configurer votre composant tFixedFlowInput de manière à ce que son schéma contienne une seule colonne de type chaîne de caractères appelée Nom, et ajouter comme noms à entrer: “Alice”, “Bob” et “Chuck”. • Configurer votre tESBConsumer en lui donnant comme WSDL celui du service que vous avez créé. Vérifiez bien que le Endpoint soit sur le port 8090. • Configurer votre tXMLMap pour que la variable Nom soit associée au in de votre service. • Exécuter le Job, et observez le résultat. III. Configuration et utilisation de l’ESB Talend 1. Lancement de deux instances de l’ESB Talend Pour les besoins de notre TP, nous allons lancer deux instances de l’ESB Talend. Pour cela, l’environnement nous fournit une manière très simple de le faire: • Aller dans le répertoire <rep_install_talend>/Runtime_ESBSE • Copier le répertoire container et le renommer en alternate-container. • Nous allons maintenant configurer la deuxième instance de l’ESB (dans alternate- container) pour qu’elle se lance sur un port différent de la première. Pour cela: • Lancer l’ESB : dans le répertoire alternate-container que vous venez de créer, aller vers bin et exécuter trun.bash (sur windows). Si vous êtes sur Linux ou mac, TP 3 ESERVICES MME. LILIA SFAXI 6
  • 7. placez-vous sous le répertoire alternate-container/bin et lancer dans un terminer la commande ./trun. La fenêtre suivante devrait s’afficher: • Configurer l’ESB: dans l’invite de commande affichée, taper: source scripts/configureC1.sh • Un affichage semblable au suivant va s’afficher : TP 3 ESERVICES MME. LILIA SFAXI 7
  • 8. Vous avez ainsi créé un ESB, que vous avez configuré pour se lancer sur le port 8041, alors que, par défaut, il devrait se lancer sur le port 8040. Si vous voulez créer une troisième instance, vous pouvez la configurer en utilisant le fichier configureC2.sh, de même pour une quatrième instance… Pour revenir à la configuration par défaut, utiliser configureC0.sh. • Arrêtez votre ESB, en cliquant sur ctrl-d, et relancez-le de nouveau. • Lancez dans un autre terminal l’instance de l’ESB se trouvant sous le répertoire d’origine container. Il est inutile de la configurer, elle se lancera par défaut sur le port 8040. 2. Publier votre service dans l’ESB et le tester Pour publier votre service web sur l’ESB, il faut: • Faire un clic-droit sur le service HelloWorldService et choisir Exporter le service • Choisir comme répertoire de destination le dossier deploy se trouvant dans le conteneur où vous désirez déployer le service. Un fichier archive de type kar sera alors créé sous ce répertoire, permettant ainsi son déploiement à chaud (pas besoin de redémarrer l’ESB). • Déployer votre service sur les deux instances d’ESB que vous avez démarré. • Vérifier que vos services sont actifs: • en tapant list dans vos deux instances d’ESB • en affichant les fichiers WSDL du service sur les ports 8040 et 8041 au lieu de 8090. Pour tester votre service web: • Dans le job consommateur de service, dans les propriétés du composant tESBConsumer, modifier le port du endpoint de 8090 à 8040 • Lancer votre job. Vérifier que l’affichage se fait correctement sur la console du TOS- ESB. Vérifier que votre service s’exécute bien sur l’ESB principal, en consultant le terminal où il est démarré. Vous devriez trouver un affichage semblable à celui-ci: TP 3 ESERVICES MME. LILIA SFAXI 8
  • 9. IV. Création de Routes Les routes permettent de définir le comportement que doit prendre le message selon son contenu. Dans notre exemple, nous allons définir deux types de routes: une route permettant de filtrer les messages par contenu, en envoyant les messages contenant le nom “Alice” vers un ESB, et le reste vers l’autre ESB. Une deuxième route permettra de modifier le contenu de certains messages avant de les faire parvenir à leurs destinataires. Dans cette partie, nous devons changer de perspective, pour utiliser la perspective Mediation. 1. Première Route : Filtrage des Messages • Créer une nouvelle route en cliquant-droit sur Routes -> Créer une Route. Nous allons l’appeler FiltrageRoute. • Définir votre route de manière à ce qu’elle ressemble à ce qui suit: • Les composants utilisés sont: • cCXF : fournit l'intégration avec Apache CXF pour la connexion aux services JAX- WS. • MessageRouter : route des messages dans différents canaux selon des conditions spécifiées. • Configurer la condition when, en précisant que c’est une condition de type simple, dont le texte est : "${bodyAs(String)} contains 'Alice'" TP 3 ESERVICES MME. LILIA SFAXI 9
  • 10. Cela veut dire que, si le corps du message contient Alice, la requête sera routée vers le composant cCXF_2. • Configurer le composant cCXF_1: • Adresse: http://localhost:8042/services/HelloWorldService Remarquez que le port ici est 8042, car le nouveau service sera diffusé sur ce port. • WSDL: http://localhost:8040/services/HelloWorldService?WSDL. On utilise ici le WSDL du service initial. • Configurer l’adresse de cCXF_2 sur le port 8040, et celle de cCXF_3 sur le port 8041, tout en gardant le même WSDL pour les trois composants. • Lancer la route pour la tester. La console devra afficher connected. Pour utiliser cette route, vous devez reconfigurer votre consommateur pour qu’il lance sa requête sur le port 8042. Exécutez-le et observez le résultat sur les terminaux des deux instances d’ESB démarrées. Que constatez-vous? 2. Déploiement des Routes sur l’ESB Dans leur état actuel, vos routes doivent être lancées manuellement pour être prises en considération. Pour les déployer sur votre ESB et les garder ainsi toujours actives, suivre les étapes suivantes: • Faites un clic-droit sur votre route et sélectionner: Build Route • Choisir le répertoire deploy du conteneur de votre choix. • Tester votre route en exécutant à nouveau le consommateur (veillez à ce que le job FiltrageRoute soit bien arrêté). 3. Deuxième Route : Filtrage et Modification de Messages Dans cette nouvelle partie, nous allons modifier le corps du message après l’avoir filtré. Pour cela: • Dupliquer votre route FiltrageRoute et la nommer ModificationRoute • Insérer un composant cSetBody (permettant de modifier le corps du message reçu) puis un composant cProcessor (permettant de remanier rapidement du code dans la route) entre le cMessageRouter et le cCXF_3. Le but ici est de modifier le corps des messages reçus, selon leur contenu. • Insérer le code suivant (de type Xpath) dans le cSetBody: "tns:HelloWorldServiceOperationRequest/in" Ceci permet de saisir le contenu de la balise in de la requête SOAP envoyée par le consommateur. Il ne faut pas oublier de définir le Namespace tns (http://www.talend.org/ service/) TP 3 ESERVICES MME. LILIA SFAXI 10
  • 11. • Insérer le code suivant dans le processeur: String name = exchange.getIn().getBody(String.class); String surname; if (name.contains("Bob")){ surname = "Bobby"; }else{ surname = "Chucky"; } exchange.getIn().setBody( “<tns:HelloWorldServiceOperationRequest xmlns:tns= "http://www.talend.org/service/"><in>"+surname+"</in>< / tns:HelloWorldServiceOperationRequest>"); Ce code permet de modifier le corps du message entrant en remplaçant le nom par un surnom. • Sauvegarder et exporter votre route dans l’ESB. Lancer le consommateur de nouveau et observez le résultat. V. Homework En utilisant Talend ESB, créer un service web de votre choix, en utilisant plusieurs routes (modification du Header, du Body, gestion des versions, routage simple….) TP 3 ESERVICES MME. LILIA SFAXI 11