Blog myBlog = BlogFactory.getWordPressBlog();
IDEA pour le développement de composants Talend
J’ai récemment été impressionné par la version « Community« d’IntelliJ IDEA pour le développement Java.
Même si j’ai depuis rencontré quelques problèmes avec cet IDE (au niveau de la gestion de configuration et de l’encodage des fichiers principalement), j’en suis très satisfait. J’ai donc testé la version « Ultimate« , qui m’a tout autant impressionné, et l’offre de mise à jour gratuite vers la version 10 a achevé de me convaincre : je me suis donc offert une licence de cette version.
Outre le développement Java-J2EE, j’ai voulu tester cet IDE pour le développement de composants Talend. Après quelques manipulations, il s’est avéré qu’il était beaucoup plus agréable à utiliser et puissant que le « Component Designer » fourni avec la suite Talend. Voici donc comment procéder pour avoir un très bon environnement de développement de composants :
Créer le projet
C’est une étape très simple. Elle consiste à créer dans IntelliJ IDEA un nouveau projet Java, composé d’un unique module correspondant au répertoire qui contient les sources des composants (le même répertoire que celui configuré dans TOS pour le « Component Designer » : cela permettra de travailler indifféremment depuis l’un ou l’autre des environnements de développement sur ces composants.
Il n’est pas nécessaire de prévoir un répertoire de sources (les composants Talend n’ayant pas de « sources Java » à proprement parler).
Configurer le projet
Configuration générale
Il convient maintenant de configurer le projet, comme on le ferait avec un autre IDE (Eclipse par exemple) :
- Encodage des fichiers (message subliminal : UTF-8)
- Gestionnaire de configuration (autre message subliminal : Git)
- etc.
Dépendances de développement
Mais surtout, il faut ajouter au projet des librairies de Talend, contenant classes utilisées pour le développement de composants (« CodeGeneratorArgument« , « INode« , « JavaType« , etc.) pour pouvoir bénéficier de l’auto-complétion de code dans l’IDE. Ces classes utiles se trouvent dans deux librairies et un répertoire du dossier « plugins » de TOS :
- librairie « org.talend.core.runtime_$VERSION_$REVISION.jar«
- librairie « org.talend.core_$VERSION_$REVISION.jar«
- répertoire « org.talend.designer.codegen_$VERSION_$REVISION«
Dans les propriétés de structure du projet, nous créons donc une dépendance « Talend« , englobant ces trois emplacements :
Association de fichiers
IDEA ne connaît pas les fichier « JavaJet » de Talend, ni les fichiers JET d’Eclipse, leur « parent ». Mais par chance, la syntaxe de ces fichiers est très proche de la syntaxe des pages JSP. Nous allons donc configurer IDEA pour ouvrir les fichiers « JavaJet » avec l’éditeur des pages JSP. C’est cette étape surtout qui va grandement nous simplifier notre travail de développement par la suite.
Commençons à développer
La configuration étant en place, nous pouvons maintenant développer ! Je ne présente pas l’édition des fichiers XML qui est très classique et ne diffère pas de celle des autres environnements de développement.
Les fichiers « properties »
La gestion native des fichiers « properties » de traduction est très agréable dans IntelliJ : ces fichiers sont regroupés et une vision d’ensemble permet de voir quelle traduction est manquante dans une des langues.
Les templates JavaJet
C’est la partie principale des composants, qui va déterminer la génération du code Java qui sera inclus dans le traitement final. C’est sur cette partie que la différence est la plus marquante par rapport au « Component Designer » :
Comme on peut le voir sur cette capture, nous avons :
- un fond coloré (vert, beige et blanc) qui nous permet de distinguer très rapidement les différentes parties du template (respectivement les imports, le code technique, et le code qui sera généré).
- après avoir importé les classes, on dispose d’une auto-complétion dans la partie « technique » du template.
Le seul inconvénient (car il y en a un), c’est l’obligation pour disposer de l’auto-complétion d’avoir des imports de type « JSP » en tête du fichier, car IDEA ne comprend pas les imports au format JET situés immédiatement en dessous. Avant le commit des fichiers, il faut donc veiller à supprimer ces imports redondants, mais cet inconvénient est mineur par rapport au gain de productivité qu’offre cette auto-complétion.
Il n’y a plus qu’à…
Maintenant que nous avons un environnement de développement aux petits oignons, il ne reste plus qu’à développer !
Actuellement, je travaille donc (quand j’ai le temps) sur deux sujets :
- Un composant « bcFileOutputSQL » permettant de générer un fichier scripts SQL (contenant les ordres « INSERT » ou « DELETE » correspondant aux données d’entrée du composant)
- Une série de composant « bcDataSource… » permettant de se connecter à une base de données présentée comme une « DataSource » (par un serveur d’applications, par exemple).
Pour suivre l’avancement de ces développement (voire, soyons fous, m’aider dans ces développements), le projet est disponible sur son hébergement GitHub.
| Imprimer l'article | Cette entrée a été posté par Benoît Courtine le 8 novembre 2010 à 16 h 48 min, et placée dans Talend. Vous pouvez suivre les réponses à cette entrée via RSS 2.0. Vous pouvez laisser une réponse, ou bien un trackback depuis votre site. |







about 9 months ago
Dommage que la version CE ne donne pas la colorisation des jsp….
about 9 months ago
Effectivement. Mais dès lors qu’on fait du Java à côté, l’investissement dans une licence IntelliJ IDEA est vite rentabilisé.