Développeur TIBCO BusinessWorks et EMS, entre run BW5 et passage à BW6

Le développeur TIBCO maintient et fait évoluer des flux BusinessWorks qui échangent des messages sur EMS. Selon la plateforme, il travaille sur BW5, sur BW6 ou sur la migration de l'un vers l'autre.

Recevoir la fiche complète

Mis à jour le Par l'équipe Delectus4 min de lecture

La fiche Développeur TIBCO : technologies, chaîne du poste, une question et la grille d'évaluation

Sur une plateforme TIBCO, le développeur écrit des process BusinessWorks qui lisent des messages EMS, appellent des services SOAP ou REST, interrogent des bases et transforment du XML avec XPath et XSLT. La version change tout l'outillage. BW5 se développe dans TIBCO Designer, se déploie en EAR par TIBCO Administrator et se surveille avec Hawk. BW6 passe par Business Studio, sous Eclipse, avec des AppNodes et des AppSpaces, ou par des conteneurs.

TIBCO appartient depuis 2022 à Cloud Software Group. Les deux branches restent maintenues : la 5.16 et la 6.12 sont des versions LTS, et la Container Edition a été fondue dans BW6. Une bonne partie des offres françaises porte sur le maintien d'un existant BW5, d'autres sur sa migration vers BW6 ou vers une autre plateforme d'intégration.

Un candidat qui n'a fait que du BW5 ne connaît pas forcément le modèle d'applications de BW6, et l'inverse. Faites-lui situer son expérience, puis creusez EMS. Un développeur qui explique les modes d'acquittement, les abonnés durables et le sort d'un message en échec a tenu des flux en production. Les questions sur la configuration par environnement montrent s'il a livré lui-même ou derrière une équipe d'exploitation.

BusinessWorks, EMS et le reste de la pile TIBCO

BusinessWorks 5 (ActiveMatrix BusinessWorks 5.x)

La version historique, encore très présente. Les process se dessinent dans TIBCO Designer, s'empaquettent en EAR et se déploient par TIBCO Administrator ou par le script AppManage. La 5.16 est une version LTS. Beaucoup de postes consistent à maintenir ces flux.

BusinessWorks 6 et Business Studio

La génération actuelle, développée dans Business Studio, un atelier basé sur Eclipse. Le code s'organise en modules, se construit avec Maven et tourne sur des AppNodes regroupés en AppSpaces. La 6.12 est la version LTS commune, Container Edition comprise.

TIBCO EMS

Le serveur de messages JMS de TIBCO, avec files, topics, abonnés durables, routes entre serveurs et paires en tolérance de panne. La plupart des flux BusinessWorks démarrent ou finissent par un message EMS. Les modes d'acquittement et la persistance décident de ce qui se perd en cas de panne.

Mapper, XPath et XSLT

Les données circulent en XML d'une activité à l'autre, décrites par des schémas XSD. Le mapper graphique produit de l'XPath et de l'XSLT. Un développeur à l'aise lit et corrige ce code directement, sans dépendre de l'interface.

Palettes et adapters

Les activités prêtes à l'emploi : JDBC, JMS, HTTP, SOAP, REST, fichiers, FTP, plus des adapters vers SAP ou les bases. Les palettes disponibles diffèrent entre BW5 et BW6, ce qui pèse dans une migration.

TIBCO Hawk et supervision

L'outil de surveillance historique des moteurs BW5 : règles, alertes, actions automatiques. Sur BW6 et en conteneurs, la supervision passe aussi par les outils du système d'information, avec les logs et les métriques des AppNodes.

Conteneurs et TIBCO Platform

BW6 tourne en conteneur sur Kubernetes ou OpenShift. TIBCO Platform ajoute un plan de contrôle pour déployer et suivre les applications, y compris des applications BW5 conteneurisées. Les offres de modernisation citent ces sujets.

Rendezvous, BusinessEvents et Flogo

Rendezvous est l'ancien bus de messages de TIBCO, encore présent sur de vieilles plateformes. BusinessEvents traite des événements avec des règles. Flogo sert à des flux légers ou cloud. Ils apparaissent sur les CV sans être le sujet principal du poste.

Les intitulés varient : développeur TIBCO, développeur TIBCO BusinessWorks, consultant intégration TIBCO, développeur ESB TIBCO BW. Les annonces précisent rarement la version, alors qu'elle change le quotidien. Posez la question au manager avant de publier l'offre : maintien d'un existant BW5, nouveaux flux en BW6, migration ou passage en conteneurs. Les offres associent souvent Java, SOAP et REST, Oracle et parfois IBM MQ. Un profil TIBCO a l'habitude des échanges par messages et du XML. Le passage vers une autre plateforme d'intégration se fait bien quand ces bases sont solides.

Les points à vérifier chez un développeur TIBCO

  • Conception de process BusinessWorks
  • Mapping XPath, XSLT et schémas
  • Messagerie TIBCO EMS
  • Gestion des erreurs et reprise
  • Déploiement BW5 et BW6
  • Migration BW5 vers BW6 et conteneurs

Les questions TIBCO à poser, de la file EMS au process BW

Chaque question vient avec ce qu'une bonne réponse contient et le signal qui doit vous alerter. Pas besoin d'être technique pour les poser : écoutez si le candidat raconte du vécu.

  1. Question 1 · confirmé

    Un process BusinessWorks lit une file EMS en acquittement Client. Que se passe-t-il si le job échoue avant l'activité Confirm ?

    Une bonne réponseLe message n'est pas acquitté. Il reste livré mais non confirmé et revient quand la session est récupérée ou au redémarrage du moteur. Avec peu de sessions, le receiver peut se bloquer en attendant des confirmations qui n'arrivent jamais. Le gestionnaire d'erreur doit donc décider : envoyer le message vers une file d'erreurs puis confirmer, ou le laisser revenir. Côté EMS, la propriété maxRedelivery de la file limite les tentatives, et le message peut finir dans la file $sys.undelivered s'il a été marqué pour y être conservé.

    Signal d'alerte« Le message est perdu », ou l'idée que les modes Auto et Client se comportent de la même façon.

  2. Question 2 · confirmé

    Un process qui charge un fichier de 2 Go fait tomber le moteur BusinessWorks en mémoire. Comment le réécrivez-vous ?

    Une bonne réponseLire le fichier par blocs plutôt qu'en une fois : Parse Data dans une boucle avec un nombre d'enregistrements par itération, et un traitement qui n'accumule pas les résultats dans une variable. Il limite le nombre de jobs simultanés sur le process starter (Max Jobs, Flow Limit en BW5, réglages équivalents en BW6) pour qu'un pic de fichiers ne sature pas la JVM. La taille du tas vient en dernier.

    Signal d'alerteAugmenter la mémoire de la JVM comme seule réponse, ou ne pas savoir qu'un job garde toutes ses sorties d'activités en mémoire.

  3. Question 3 · confirmé

    Un appel à un service cible échoue une fois sur cent. Comment gérez-vous la relance dans BusinessWorks ?

    Une bonne réponseIl distingue l'erreur technique (timeout, connexion refusée) de l'erreur métier renvoyée par la cible. Pour la première, une boucle de relance avec compteur et attente (un groupe Repeat on Error, ou une boucle avec Sleep), trois à cinq essais au plus. Après le dernier échec, le message part dans une file d'erreurs EMS avec la cause, et une alerte est levée. Il vérifie que la cible supporte un second appel sans créer de doublon.

    Signal d'alerteUne boucle sans limite, ou un catch qui écrit dans les logs et continue comme si l'appel avait réussi.

  4. Question 4 · confirmé

    Vous devez transformer un XML de commande avec des listes imbriquées vers un autre schéma. Comment construisez-vous le mapping ?

    Une bonne réponseLes deux XSD importés comme ressources, puis le mapper avec des for-each ou des for-each-group pour regrouper les lignes, des prédicats XPath pour filtrer, et des conditions sur les éléments optionnels pour ne pas produire d'éléments vides. Il sait la différence entre un élément absent et un élément nil. Il teste avec de vrais messages, y compris ceux à une seule ligne ou sans ligne.

    Signal d'alerteDe la concaténation de chaînes pour fabriquer du XML, ou une activité Java pour tout le mapping.

  5. Question 5 · junior à confirmé

    Comment faites-vous changer l'URL d'un service cible entre recette et production sans toucher au code ?

    Une bonne réponseEn BW5, une variable globale dont la valeur est surchargée au déploiement dans TIBCO Administrator ou dans le fichier de configuration passé à AppManage. En BW6, une propriété de module ou d'application, avec un profil par environnement (fichiers .substvar) ou une valeur fixée au déploiement. Les mots de passe sont stockés chiffrés et ne figurent pas en clair dans le dépôt.

    Signal d'alerteModifier l'URL dans le process et reconstruire un EAR par environnement.

Recevez la fiche d'entretien complète en PDF

La fiche pour mener l'entretien de bout en bout, prête à imprimer ou à partager avec le manager.

  • 30 questions sur 6 axes, avec la bonne réponse, le signal d'alerte et la relance
  • Le niveau visé pour chaque question
  • Une mise en situation de 20 minutes et ce qu'on attend du candidat
  • La grille d'évaluation de 1 à 4, axe par axe

Questions de recruteurs sur les profils TIBCO

BW5 ou BW6 sur le CV : quelle expérience demander ?

Celle de la plateforme du poste, et si possible les deux. Un profil BW5 connaît Designer, les EAR et TIBCO Administrator. Un profil BW6 connaît Business Studio, les modules, Maven et les AppNodes. Pour un projet de migration, cherchez quelqu'un qui a déjà fait passer des process de l'un à l'autre et peut citer ce que l'outil de migration ne reprend pas. Faites préciser les années et les versions, car les CV restent souvent vagues.

Un développeur TIBCO doit-il connaître Java ?

Il doit savoir le lire et en écrire un peu. Les process BusinessWorks contiennent souvent des activités Java pour des calculs ou des bibliothèques, et les problèmes de mémoire se lisent avec les outils de la JVM. Un bon niveau Java devient utile sur les postes qui mêlent TIBCO et Spring Boot, fréquents dans les annonces. Pour un poste de pur maintien BW5, XPath, EMS et la connaissance des palettes comptent davantage.

Comment vérifier les connaissances EMS sans long test technique ?

Trois questions suffisent souvent. Demandez ce qui arrive à un message en acquittement Client quand le job échoue, à quoi sert un abonné durable et ce qui se passe quand une file grossit sans consommateur. Un profil qui a tenu une plateforme répond avec des noms de propriétés et des incidents vécus. Un profil qui a seulement utilisé les activités JMS reste sur les définitions.

Que vaut un profil TIBCO pour un projet de migration vers une autre plateforme ?

Beaucoup, s'il connaît bien l'existant. La migration commence par l'inventaire des process, des XSLT, du code Java et des dépendances EMS, et seul quelqu'un qui lit BusinessWorks peut le faire vite. Vérifiez qu'il raisonne en flux, en messages et en contrats, pas seulement en activités TIBCO. Les patterns d'intégration se transposent, l'outillage s'apprend.

Pour structurer vos autres entretiens, consultez aussi nos pages sur les questions d'entretien de recrutement, la méthode de l'entretien structuré et la grille d'évaluation d'entretien.

Les fiches voisines

Toutes les fiches →

Voyez Delectus sur vos propres offres.

Commencez gratuitement. Passez à l'échelle quand vous êtes prêt.

Demander une démo

Votre ATS, connecté à Delectus

  • Workable
  • Teamtailor
  • iCIMS
  • Lever
  • SmartRecruiters
  • Jobvite
  • Greenhouse
  • Pinpoint