Construire une Route vers un microservice ESB basé Spring-boot - 7.1

Guide utilisateur de Talend Data Services Platform Studio

author
Talend Documentation Team
EnrichVersion
7.1
EnrichProdName
Talend Data Services Platform
task
Création et développement
EnrichPlatform
Studio Talend

Pourquoi et quand exécuter cette tâche

Pour construire une Route vers un microservice ESB basé Spring-boot, procédez comme suit :

Procédure

  1. Cliquez sur dans la barre d'outils du Studio, ou sélectionnez File > Edit Project Properties dans la barre de menu pour ouvrir la boîte de dialogue Project Settings.
  2. Dans l'arborescence à gauche, sélectionnez Log4j pour afficher la vue correspondante.
  3. Personnalisez la configuration de Log4j selon vos besoins. Les instructions Log4j XML par défaut écrivent uniquement les logs de type WARN dans la console. Pour plus d'informations sur les paramètres log4j, consultez http://wiki.apache.org/logging-log4j/Log4jXmlFormat (en anglais).
    Un exemple de configuration Log4j est présenté ci-dessous et fournit également un fichier tesb.log lorsque le microservice ESB est démarré. Notez que la configuration de Log4j est la même pour le Studio et le microservice ESB. Néanmoins, un fichier log4j.xml peut également être placé dans un dossier de configuration externe du microservice, lors de l'exécution, afin de fournir une configuration Log4j spécifique pour le déploiement en production.
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
        <appender name="stdout" class="org.apache.log4j.ConsoleAppender">
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%d | %-5.5p | %-16.16t | %-32.32C %4L | %m%n"/>
            </layout>
        </appender>
        <appender name="rollingFile" class="org.apache.log4j.RollingFileAppender">
            <param name="file" value="tesb.log"/>
            <param name="MaxFileSize" value="1024KB"/>
            <param name="MaxBackupIndex" value="10"/>
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%d | %-5.5p | %-16.16t | %-32.32C %4L | %m%n"/>
            </layout>
        </appender>
        <root>
            <priority value="info"/>
            <appender-ref ref="stdout"/>
            <appender-ref ref="rollingFile"/>
        </root>
    </log4j:configuration>
  4. Si la Route contient un composant cSOAP ou cREST, vous devez utiliser une URL d'endpoint relative au lieu d'une URL absolue. Lorsque le microservice est en cours d'exécution, un conteneur Tomcat embarqué, avec le port par défaut 8065 est démarré par Spring-boot. Les services REST et SOAP s'exécutent également sur ce port. Si vous souhaitez écraser le port par défaut, utilisez l'option --server.port dans la commande ou configurez-la dans le fichier application.properties du dossier /config, dans le .jar du microservice.
    Si la Route contient un composant cSOAP ou cREST et si un ou plusieurs services d'infrastructure ESB sont utilisés, vous devez effectuer les étapes suivantes pour construire la Route :
    • Si Service Activity Monitoring est activé, modifiez le fichier <Studio_Home>/esb/agent.properties afin de configurer l'agent de Service Activity Monitoring selon vos besoins. Pour plus d'informations concernant les propriétés de agent.properties, consultez la section relative à la configuration de l'agent de Service Activity Monitoring, dans le Guide Talend ESB Infrastructure Services Configuration Guide (en anglais).

    • Si le Service Locator est activé, modifiez le fichier <Studio_Home>/esb/locator.properties pour configurer le Service Locator selon vos besoins. Pour plus d'informations concernant les propriétés de locator.properties, consultez la section relative à la configuration du Service Locator, dans le Guide Talend ESB Infrastructure Services Configuration Guide (en anglais).

    • Si la Route est un fournisseur de service et que l'authentification par jeton utilisateur est activée, modifiez le fichier Studio_Home/esb/microservice/users.properties afin de spécifier les informations d'authentification de l'utilisateur, en suivant le format <USERNAME>=<PASSWORD>. Par exemple, les paramètres suivants définissent deux utilisateurs :

      tadmin=tadmin
      tesb=tesb
    • Si l'authentification par jeton SAML et les autorisations sont activées, ou si le Service Registry est utilisé, vous devez installer les artefacts d'entreprise ESB dans votre référentiel local Maven, à l'aide des commandes suivantes, dans une invite de commande :

      cd <TalendRuntimePath>/add-ons/maven-repo
      mvn clean package -s <Studio_Home>/configuration/maven_user_settings.xml
    Pour plus d'informations concernant les composants cSOAP et cREST, consultez cSOAP et cREST .
  5. Dans la vue Repository, cliquez-droit sur la Route que vous souhaitez créer et sélectionnez Build Route pour ouvrir la boîte de dialogue Build Route.
  6. Dans le champ To archive file, parcourez votre système jusqu'au répertoire dans lequel vous souhaitez sauvegarder votre Route.
  7. Dans la zone Route Version, sélectionnez le numéro de version de la Route, si vous en avez créé plus d'une version.
  8. Dans la zone Build Type, sélectionnez ESB Microservice (Spring Boot).
  9. Dans la zone Options :
    • cochez la case Only export the default context pour exporter uniquement le contexte par défaut utilisé dans la Route ;

    • cochez la case Export as ZIP pour exporter la Route vers un fichier .zip, fournissant un dossier externe de configuration et démarrer les scripts afin de lancer le microservice avec le dossier de configuration externe pour Linux (.sh) et pour Windows (.bat). Si cette option n'est pas cochée, la Route est exportée en tant que fichier .jar par défaut.

  10. Cliquez sur Finish pour valider vos modifications, terminer l'export et fermer la boîte de dialogue. Une fenêtre s'ouvre, vous indiquant que Maven doit être configuré avec une connexion à Internet, pour construire le microservice ESB, car certaines bibliothèques doivent être téléchargées depuis le référentiel Maven distant. Le Studio Talend nécessite une connexion à Internet lorsque vous utilisez la fonctionnalité ESB de microservice. Le Studio Talend ne fournit pas de mode complètement hors connexion pour l'opération de construction d'un microservice ESB. Cliquez sur Yes pour passer Maven en mode avec connexion à Internet.
    Si opération Finish vous conduit à une erreur, vous pouvez trouver plus d'informations relatives à cette erreur dans le fichier de log du Studio <Studio_Home>\workspace\.metadata\.log.

Résultats

Un fichier .jar ou .zip pour la Route est créé à l'emplacement défini. Vous pouvez l'exécuter indépendamment du Studio Talend en mode standalone. Pour plus d'informations concernant l'exécution de microservices, consultez Exécuter une Route de microservice.