dimanche 4 janvier 2009

Utilisation du format : MFL avec format builder

Cet article trés simplement comment utiliser l'outil Format Builder qui permet de définir la structure de lecture d'un fichier. MFL signifie Message Format Language, ce format existe depuis de nombreuses années dans les produits BEA notamment le plus historique WLI.

Aujourd'hui on retrouve ce format dans OSB (Oracle Service Bus). Il permet de définir un proxy service (interface de consommation) ou un business service (interface de production de service) qui traite un fihcier (lecture ou ecriture).

Le MFL permet donc de définir la structure du fichier et de le rendre lisible pour OSB, WLI ...

Il devient alors par ce biais une simple requête XML.

L'exemple suivant explique comment utiliser MFL format Builder accèssible depuis l'environnement WorkShop Eclipse.




Voici mon fichier type CSV à traiter avec Format Builder

1;test1;test1;test1;test1

2;test2;test2;test2;test2

3;test3;test3;test3;test3

4;test4;test4;test4;test4

Pour cela nous devons avant tout créer dans Format Builder un namespace qui sera interprété par OSB:



Ensuite pour traiter l'ensemble des lignes de ce fichier Csv, nous utiliserons un Group n'ayant pas de limite de parsing:




Ensuite pour chacunes des champs du fichier csv on doit définir un nom de champ et spécifier le séparateur, voir certaines informations supplémentaires comme des valeurs par défaut.





Ainsi de suite sur l'ensemble des champs. Le dernier champ est différent car il doit tenir compte du retour chariot et de passer à la ligne suivante (;\n\r\n\r):







Ensuite votre MFL peut être testé avec le débugger intégré:


Attention dans le testeur n'oubliez pas de faire un retour chariot à la fin de la dernière ligne, sinon une erreur de parsing apparait ....

1 commentaire:

Unknown a dit…

Bonjour,

J'ai une question à propos de la transformation grâce à MFL.
Si j'ai bien compris, pour chaque fichier (Différent) formaté (Csv ou autre) il faut un fichier MFL?

Merci pour l'article.