TIBCO BW6 – Transformer un fichier CSV en XML – ParseData/RenderXML

TIBCO BusinessWorks Parse Data

Lorsque vous manipulez des fichiers en entrée de votre ESB. Vous allez certainement un jour être confronté à la transformation des données CSV. Dans ce tutoriel, je vais vous monter comment transformer les données contenues dans un fichier CSV pour produire un fichier XML.

Prérequis: Connaissances TIBCO BusinessWorks 6

Pour commencer

Les activités TIBCO dont nous aurons sont les suivantes:
TIBCO Parse Data : cette activité va prendre en entrée les données à tranformer.
dataFormatResource: c’est la ressource de configuration sur la quelle l’activité Parse Data va s’appuyer pour effectuer le traitement.
Render Xml: cette activité va prendre en entrée les données XML et produire le texte qui sera écrit dans un fichier XML.
Write File: va nous permettre de créer et écrire notre fichier avec la données de sortie.

Fichier CSV d’exemple

Identifiant | Nom | Prénom | email
dmiaffo;MIAFFO;Dieudonné;miaffo@miaffo.net
dmiaffo1;MIAFFO1;Dieudonné1;miaffo1@miaffo.net
dmiaffo2;MIAFFO2;Dieudonné2;miaffo2@miaffo.net
dmiaffo3;MIAFFO3;Dieudonné3;miaffo3@miaffo.net
dmiaffo4;MIAFFO4;Dieudonné4;miaffo4@miaffo.net

Comme vous pouvez le remarquer, les données du fichier d’entrée sont constituées de plusieurs lignes. Chaque ligne a des éléments séparés par le caractère point virgule « ; ». La compréhension de la structure est très importante pour construire notre parseur.
Ce qui est demandé par notre application réceptrice des données, est de produire un fichier XML avec l’ensemble des données.

Créer un projet TIBCO

Pour commencer, nous allons dans un premier temps créer un module TIBCO Businessworks et y ajouter les activités comme dans l’image suivante.

Configuration des activités

Sur l’activité ReadFile, configurez l’input pour prendre en entrée le fichier à traiter.

L’activité ParseData est celle centrale qui nous intéresse le plus dans ce tutoriel. Cliquez sur ParseData, puis sur General, sélectionnez Data Format pour indiquer la ressource Data Format à utiliser. Comme cette ressource n’existe pas encore, il faut donc la créer. Pour ce faire, il suffit de cliquer « Create Shared Resource » sur la nouvelle fenêtre qui apparaît, puis acceptez les options par défaut proposées.


Il faut ensuite vérifier que votre ressource est bien présente dans votre module.

Dans votre module créé, sélectionnez la ressource pour la configurer comme suit. Ici, plusieurs éléments doivent être configurés. Nous allons commencer par le dernier qui est « Data Format Editor ». Alors, vous pouvez créer directement votre schéma ou alors utiliser un schéma existant comme dans mon cas.

Il est constitué de 2 éléments, un en entrée et un en sortie. Chaque élément a 2 champs comme spécifié dans le CSV en entrée.

Les autres éléments sont simples à configurer. Notre séparateur est le point virgule « ; ».

Sur l’input de l’activité PareData, effectuez la configuration comme suit.
text: c’est le texte qui sera parsé.
startRecord: ligne où commence les données utiles. Remarquez que la première ligne était l’entête qui indiquait la description des données à traiter.
noOfRecords: -1 lorsqu’on ne connaît pas en avance le nombre de ligne à traiter.

Maintenant, cliquez sur l’activité RenderXML

RenderXMl – Input Editor
RenderXMl – input

Finalement, vous pouvez écrire votre fichier XML en sortie.

Je me suis amusé à ajouter une activité log qui écrit le nombre de ligne traitées.

Run COnfigurations

Si vous avez créé l’application à la création du module, alors vous pouvez exécuter le test de votre projet. Sinon il faut créer l’application en faisant click droit, puis « Generate application »
Pour tester votre projet, cliquer sur Run Configuration et ssélectionnez le nom de votre application.
Lorsque vous lancez l’exexécution, vous obtenez ceci:

dmiaffo MIAFFO Dieudonné miaffo@miaffo.net dmiaffo1 MIAFFO1 Dieudonné1 miaffo1@miaffo.net dmiaffo2 MIAFFO2 Dieudonné2 miaffo2@miaffo.net dmiaffo3 MIAFFO3 Dieudonné3 miaffo3@miaffo.net dmiaffo4 MIAFFO4 Dieudonné4 miaffo4@miaffo.net

Ce tutoriel est maintenant terminé, merci de l’avoir suivi, Si vous avez besoin du projet complet, n’hésitez pas à me le demander.

Pour rester toujours informé, abonnez vous à notre newsletter.

Vous êtes Décideur, Dirigeant d’entreprise ou Consultant ?, Bref Vous avez le pouvoir de décision ? Vous êtes dans une démarche de transformation profonde de votre SI, j’ai écrit un livre sur les questions à se poser pour choisir une solution ESB «  » 12 questions pour Choisir un ESB ». Vous pouvez demander votre copie ici.

A propos de moi

@Dieudonné MIAFFO – A la base je suis ingénieur informaticien de formation, avec une solide culture générale de l’informatique et un goût très prononcé pour les évolutions des systèmes d’information.
Je suis passionné par l’évolution technologique et c’est tout naturellement que j’exerce mon métier d’Architecte Expert ESB.
Je suis diplômé de SUPELEC et depuis 2012 j’interviens sur différents projets de transformation digitale. Nous accompagnons les entreprises en les aidant à tirer le meilleur de leur système d’information.

Mes sujets d’intérêt concernent principalement les ESB | API et la cybersécurité.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *