Blog myBlog = BlogFactory.getWordPressBlog();
Article tagué Outils de développement
Premier test d’Eclipse Galileo
5/07/09
La semaine dernière, j’ai enfin pu tester, avec beaucoup d’enthousiasme la dernière version d’Eclipse.
Le but était de vérifier si cette version était utilisable dans un contexte professionnel, afin de mettre en place un environnement de développement type pour les nouveaux projets.
La liste des nouveautés de cette version était très prometteuse. De même, le premier lancement conduit à une page d’accueil sympathique.
Dans un premier temps, tout ce passe bien : cette version est agréable à utiliser, et semble légèrement plus rapide que la précédente.
Après cette première impression, j’ai voulu installer des plugins nécessaires au développement : subclipse, m2clipse, etc. Cette installation s’est passée sans problème, mais il est vrai que je n’utilisais pas de proxy.
Après avoir écrit un peu de code, j’ai utilisé la fonction de formatage automatique. Hors le formateur de cette nouvelle version ne corrige pas automatiquement l’emplacement des tags javadoc. Sur un mauvais code, il manque après formatage l’espace entre l’étoile et le tag :
/** * Commentaire de la méthode. *@param sParam chaîne de caractères. *@return entier. */ public int test(String sParam) { // code... }
Suite à cette constatation, je suis allé lire un forum dédié, pour voir se qui se dit dans la communauté. A la lecture de ces forums, il semble que plusieurs utilisateurs rencontrent de petits dysfonctionnements sur cette nouvelle version :
- problèmes de mises à jours lors de l’utilisation de proxys n’utilisant pas le protocole “socks”
- des raccourcis clavier inactifs
- etc.
Je manque encore de recul… mais vu les premiers retours, il semblerait que cette version ne soit pas suffisamment stable pour une utilisation dans un contexte professionnel. Je continuerai donc d’utiliser Eclipse Ganymede SR2 pour encore quelques temps, tout en poussant mes tests sur Galileo.
Mise à jour du 9 juillet 2009 : J’ai bien fait de ne pas trop me précipiter sur cette nouvelle version. Il semblerait que la fonction d’ajout de serveurs (Glassfish entre autres), ne fonctionne pas sur cette nouvelle version. Pour des développements J2EE, c’est un problème vraiment bloquant !
Nouvelles sorties dans le monde Java
27/06/09
Cette semaine a été très riche en sorties d’outils de développements :
Eclipse Galileo
Mercredi, c’est Eclipse qui a lancé officiellement la nouvelle version de son IDE, baptisé Galileo. Selon la fondation, cette version inclut 33 projets, 24 millions de lignes de code écrites par 380 développeurs de 44 organisations. Le résultat est un grand nombre de nouveautés, dont voici la liste complète.
Je n’ai pas épluché cette liste en détail, mais j’ai déjà téléchargé cette nouvelle version, et je commencerai à la tester dès la semaine prochaine…
J’ai tout de même noté une nouvelle distribution Pulsar for Mobile Java Developers qui embarque tout le nécessaire pour développer des applications mobiles. Les amateurs apprécieront !
Talend
Ce même jour, c’est Talend qui sortait la nouvelle version 3.1.2 de ses différents produits : c’est une version de maintenance, fixant un certain nombre de bugs.
Nouveaux composants pour Talend Open Studio
11/05/09
Avec la version 3.1.0 de Talend Open Studio, le composant “tBufferInput” a fait son apparition.
C’est en étudiant celui-ci (ainsi que le tBufferOutput qui fonctionne avec), que j’ai développé 4 nouveaux composants, qui viennent compléter les composants déjà développés. Voici la liste des nouveaux composants :
- tBufferOutput, une évolution du composant original ;
- tRunJob2 (qui est très rapidement devenu obsolète avec son évolution, le tRunJobRow) ;
- tBufferCopyInput ;
- tRunJobRow ;
Ouverture du support
Cela fait maintenant en tout 11 composants développés pour Talend Open Studio. J’ouvre donc un site de support Mantis, afin de recueillir les avis des utilisateurs de ces composants, et de corriger les bugs rencontrés.
Sortie de la version 3.1.0 de Talend Open Studio
6/05/09
Je viens de me procurer la version 3.1.0 finale de Talend Open Studio qui vient de paraître. Voici mes premières impressions sur celle-ci :
Internationalisation
Un gros effort d’internationalisation a visiblement été fait sur cette version :
- l’interface est maintenant disponible (au moins partiellement) dans plusieurs langues : français, anglais, allemand, espagnol, italien ;
- les composants (et leurs paramètres) ont également été partiellement traduis dans ces mêmes langues
- des fichiers (bien que vides pour l’instant) ont été préparés pour intégrer prochainement le russe et le japonais ;
Certification Talend
3/05/09
En janvier, j’avais suivi avec un collègue d’Alcion Group une formation à l’ETL Talend Open Studio, dont j’avais déjà parlé ici, pour lister les contributions au projet (sous la forme de nouveaux composants).
Suite à cette formation et à ces développements, j’ai passé l’examen de certification. J’ai reçu en début de semaine les résultats de celle-ci. Me voici donc officiellement certifié pour l’utilisation de cet ETL :
Je profite de ce billet pour signaler la sortie de la version 3.1.0 de Talend Open Studio à télécharger ici ! Je reviendrai prochainement sur les nouveautés de cette version…
Mise à jour du 12/05/2009 : Toutes mes félicitation à mon estimé collègue qui a également reçu sa certification Talend !
Bundle Eclipse + Glassfish
2/04/09
J’ai eu cette information sur un post caché au fond du forum Eclipse du site Developpez, qui lui-même renvoyait à l’annonce officielle faite sur le blog d’Alexis Moussine-Pouchkine : Sun a développé un Bundle “Eclipse + Glassfish 2.1 + Glassfish 3” préconfigurés, qui est actuellement en version 0.9.9RC (et bientôt dans une version 1.0).
Ce bundle va certainement faciliter le travail des développeurs sous Eclipse. En effet, il va faciliter l’installation de Glassfish 3 (qui n’est pourtant pas d’une complexité insurmontable), qui est un serveur très efficace pour développer et tester rapidement les applications J2EE. C’est d’ailleurs le serveur que j’utilise en développement lorsque j’ai le choix :
- il est léger, et (re-)démarre très rapidement lorsque nécessaire ;
- en phase de développement, il peut se re-déployer automatiquement à chaque modification de code (sources Java, pages JSP, JSF, etc.), tout en conservant la session. Ainsi, lorsqu’on développe/teste une fonction précise, on n’es pas obligé de recommencer le scénario de test du début (en se ré-identifiant, par exemple) ;
Indépendemment de la sortie de ce pack, Glassfish sera normalement l’implémentation de référence des serveurs J2EE 6, comme cela a été annoncé et présenté lors du tout récent “Aquarium de Printemps” (qui s’est déroulé dans le cadre des journées “Solutions Linux”).
Contribution à l’ETL Open Source Talend Open Studio [Mise à jour]
28/03/09
Il y a maintenant de cela exactement un mois, j’ai suivi une formation sur l’ETL Talend Open Studio, et je dois dire qu’il m’a séduit :
- il est Open Source (dans sa version de base : on peut souscrire à une version professionnelle “Talend Integration Suite” disposant de fonctionnalités supplémentaires) ;
- le code généré peut être exporté sous la forme de batchs autonomes écrits en Java (ou en Perl, mais cette fonctionnalité m’intéresse moins), qui ne nécessitent pas de plateforme spécifique (autre qu’une JVM Sun).
Dans le cadre du projet sur lequel je travaille, les bases de données sont de type Informix. Or, Talend Open Studio disposait de peu de composants pour ce type de bases. En particulier, il était gênant de ne pas pouvoir utiliser ces bases en mode transactionnel.
Le produit étant Open Source, j’ai développé ces fonctionnalités, et avec l’autorisation de ma société, qui a sponsorisé ces développements, je les ai livrés à la communauté Talend.
Vous trouverez donc ces différents composants sur Talend Exchange :
- tInformixConnection, permettant d’initialiser une connexion à une base de données Informix ;
- tInformixCommit, permettant de faire un “commit” des opérations effectuées sur une connexion ;
- tInformixRollback, permettant de faire un “rollback” des opérations effectuées sur une connexion ;
- tInformixInput, évolution du composant original permettant de récupérer des données à partir d’une connexion existante ;
- tInformixOutput, évolution du composant original permettant d’insérer des données dans une table en utilisant une connexion existante ;
- tInformixRow, évolution du composant original permettant d’exécuter une requête SQL quelconque en utilisant une connexion existante ;
Mise à jour du 28/03/2009 : Les composants ci-dessus ont subi une mise à jour (correction de bugs, mise à jour des drivers JDBC d’Informix, etc.). De plus, deux nouveaux composants ont été développés :
- tInformixSP, qui n’est pas encore totalement stable. Ce composant permet d’exécuter des procédures stockées et fonctions d’une base de données Informix ;
- tFileDigester, qui permet d’obtenir le “checksum” d’un fichier par différents algorithmes de hachage (MD2, MD5, SHA-1, SHA-256, SHA-384, SHA-512) ;
Mise à jour du 11/05/2009 : 4 nouveaux composants développés, et ouverture du support dédié aux composants Talend.
Rumeurs de rachat de Sun par IBM
23/03/09
Depuis quelques jours, une rumeur circule sur Internet (ici, par exemple, et à plein d’autres endroits que l’on trouve avec Google).
Suite à cette nouvelle, un sujet-débat intéressant a été ouvert sur developpez.com.
Dans le cas où cette rumeur serait avérée, il se pose évidemment la question de l’avenir des produits développés/supportés par Sun, alors qu’IBM soutient des produits “concurrents” :
- Netbeans, alors qu’IBM soutient Eclipse ;
- MySQL, alors qu’IBM développe les bases de données DB2 (et dans une moindre mesure Informix)
- Glassfish, alors qu’IBM développe Geronimo, et surtout Websphere
Je ne peux pas faire de pronostics sur la décision que prendra (si les rumeurs sont avérées) IBM, mais j’espère que Sun continuera d’effectuer ses développements.
Tout d’abord, même si Sun et IBM font de l’Open Source, ils ne le font pas de la même façon. Les deux façons de faire sont défendables :
- Sun développe ses produits Open Source sous une licence proche de la GNU/GPL, et vend du service autour
- IBM développe ses produits sous une licence proche de celles d’Apache : la base d’Eclipse, par exemple, sera embarquée dans tous les produits de la gamme payante Websphere. Je comparerais ça avec Fedora, qui est la version de test des futures distributions Red Hat.
Ensuite, les différents produits sont complémentaires. La majorité de la communauté Java s’accorde à dire qu’Eclipse et Netbeans ont chacun ses avantages et ses défauts. Même si la fusion de ces deux IDE est faite en intégrant les avantages de chacun, la disparition d’un des deux seuls acteurs libres du marché risque à terme de ralentir les développements.
Mais attendons donc de voir ce qui va arriver…
Mise à jour le 20 avril 2009 : Finalement, c’est Oracle qui rachètera Sun cet été.
Installer un serveur dédié
10/03/09
Le développement, ce n’est pas seulement un travail… c’est aussi une passion : ce sont juste les projets et les technologies qui changent ! Il y a quelques temps, je me suis dit qu’il n’y avait pas de raison pour que mes projets personnels soient moins bien développés que ceux sur lesquels je travaille dans un contexte professionnel. J’ai donc décidé de sécuriser mes développements personnels :
- utilisation d’un gestionnaire de configuration ;
- intégration continue, tests et déploiements automatisés des builds réussis ;
- etc.
Pour cela, il me fallait un serveur, distinct de ma machine de développement.
Sortie de Lyria Leonardi 4.2
19/02/09
Je me permet de reprendre un billet du blog java de developpez.com pour signaler la sortie de la nouvelle version de l’outil Leonardi.
Les principales nouveautés de ce produit sont décrites dans le billet que je site : je ne les recopierai donc pas. En revanche, je ferai une (très) rapide présentation de l’outil (un résumé des informations que l’on peut trouver sur le site de Lyria) ainsi que du paradigme MDA auquel il se rattache, pour ceux qui ne le connaissent pas du tout.
Pour simplifier, Leonardi est un générateur d’IHM, qui se base sur le MCD de l’application : on lui donne en entrée le modèle de données, ainsi qu’un certain nombre de paramètres, et il conçoit l’interface de l’application.
C’est cette idée de générer des IHM (voire de manière plus générale du code) à partir du modèle de données qu’on appelle le “paradigme MDA”, qui a maintenant quelques années.
Des outils pour le mettre en pratique arrivent à maturité : même en omettant les solutions propriétaires, Leonardi n’est pas le seul acteur libre sur ce marché : il en existe au moins deux autres que sont AndroMDA et Appfuse.
Cependant, même si ces produits ont le même but, ils n’ont pas la même approche technique :
- Leonardi génère un code spécifique, le “MMI Model” (sous forme XML). Celui-ci est embarqué dans l’application finale, et est parsé dynamiquement à l’exécution par un MMI Engine, qui générera l’interface. Le “MMI Model” est générique, il existe plusieurs “MMI Engines”, spécifiques à la cible désirée (client riche, PDA, application web…).
- AndroMDA et Appfuse sont tous deux basés sur Maven. Chacun dispose de plusieurs “connecteurs” de sortie (JSF, Struts, SpringMVC), et en fonction de celui qui est choisi, ils génèrent le code correspondant. Aucun moteur spécifique à ces produits n’est nécessaire à l’exécution.
Je ne connais pas suffisamment ces différents produits pour pouvoir rentrer finement dans la présentation de leurs différences fonctionnelles. J’espère avoir l’occasion de les tester et de les comparer, mais au vu de mon emploi du temps, j’ai peur que ce souhait soit utopique…
Note : à côté de ces solutions gratuites, il existe plusieurs autres solutions MDA payantes, telles que Celerio de Jaxio. Il semblerait que cette solution offre beaucoup plus de fonctionnalités qu’un Appfuse (par exemple), mais le prix du “ticket d’entrée” n’est pas du tout le même.
