java
Une étoile s'éteint !
Ca y est, c'est fait ! Oracle rachète officiellement Sun
Evidemment, on peut se demander ce qu'il va advenir de fort beaux produits comme NetBeans, Glassfish, VirtualBox ou OpenOffice, solutions que personnellement j'utilise quasiment quotidiennement...
On peut également s'interroger sur la position du géant de la base de données d'entreprise, face à une solution telle que MySQL qui arrive dans son catalogue produit... C'est d'ailleurs ce point qui avait retardé l'acquisition et provoqué une réaction (légitime) de la Commission Européenne.
L'avenir de Java me semble pour le coup plus assuré. L'utilisation d'une licence GPL en 2006, puis le lancement du projet OpenJDK en 2007 garantit une assez grande indépendance vis-à-vis du nouveau propriétaire de Sun. Par ailleurs, Oracle a tout intérêt à conserver et à encourager le dynamisme de cette plate-forme, sur laquelle beaucoup de ces produits reposent.En savoir plus
Décortiquons l'offre Google App Engine pour Java
Google a annoncé le support de Java pour Google App Engine et la sortie de GWT 1.6 le 7 avril 2009.
Cette annonce a été l'occasion de décortiquer cette nouvelle offre.
La présentation fait le tour des différentes fonctionnalités techniques et tente d'expliquer la vision de Google et les perspectives ouvertes.
Une application de démonstration a été réalisé à l'occasion pour montrer comment tout cela s'ogranise: http://ippongwt.appspot.com/
Les technologies utilisées: Google App Engine 1.2, Google Web Toolkit 1.6 et GXT 2.0.
L'application utilise également la persistance de données JPA pour le stockage des données sur l'infrastructure de Google: BigTable
Analyse dynamique d’une application avec jtracert
Voici un outil qui va vous aider dans la compréhension d'un code et plus particulièrement du comportement dynamique de ce code.
Imaginez une nouvelle application dont vous êtes le nouveau responsable et qui n’est pas ou peu documentée (imaginez très fort ;) ).
Cela peut être aussi une librairie externe dont vous voulez comprendre le fonctionnement ou mieux tracer l'exécution d'un bug.
Le constat est alors le suivant :
- Il est relativement simple d'avoir une analyse statique du code (pour peu que l'on dispose du code source ou d’un bon décompilateur) et donc d'avoir un diagramme de classe d'une application.
- Quid de l'analyse dynamique (diagramme de séquence) ?
Bien sûr on peut toujours lire le code et encore mieux l'executer en mode débug mais c’est extremement chronophage.
L’outil que je vous présente (jtracert http://code.google.com/p/jtracert/ ) va vous permettre de générer un diagramme de séquence à partir de l’exécution d’une application java SE ou EE.
S’il existait déjà quelques outils permettant de générer un diagramme de séquence à partir du code (Netbean UML permet de le faire mais uniquement pour une opération), il manquait l’outil capable de générer un diagramme de séquence (en respectant la notation UML) à partir de l'exécution d'un code.
L’outil est simple d’utilisation, il suffit de rajouter quelques paramètres à la JVM au lancement du serveur d’application
Par ex sous Tomcat, ajouter simplement la ligne suivante au fichier catalina.bat :En savoir plus
Ne le répétez pas : Liferay 5.2 est disponible !
L'information n'est pas encore officiellement publiée sur le site de Liferay, mais le SVN est formel : Liferay 5.2.0 est disponible depuis le 25 janvier dernier ! Le site de Liferay n'est pas encore à jour, sans doute pour garder un peu plus longtemps en première page l'annonce de la sortie de la version Enterprise (5.1.3), il y a moins de 10 jours.
Personnellement, j'attendais avec impatience cette version, depuis la présentation effectuée à Stuttgart lors de l'European Liferay Symposium fin septembre dernier, de la nouvelle interface d'administration, nettement plus conviviale et rassemblant tous les concepts propres à Liferay (communauté, organisation, etc..).
Que retenir d'autres sur les nouveautés de cette version ? Des choses anecdotiques (comme l'héritage de structures en CMS), d'autres qui vont permettre une plus forte adaptativité du portail au contexte de déploiement (comme les attributs supplémentaires dynamiques sur les organisations et les users), et comme toujours dans Liferay, des nouveautés en terme de portlets que je n'ai pas eu le temps de creuser (portlet mail totalement ré-écrite, composant de knowledge management, etc..), le tout avec un soucis permanent de garder des performances optimales (ré-écriture de la gestion des rôles et des permissions).
Ce qui est sûr, c'est que cette version peut être qualifier de majeure, tant elle progresse en terme d'utilisabilité et de couverture fonctionnelle. En savoir plus
OSGi : La norme de gestion de modules dynamiques Java au JUG
Le Paris Java User Group organise le Mardi 14 octobre une présentation OSGi à 19H15 dans les locaux de l'ISEP.
www.parisjug.org/xwiki/bin/view/Blog/PresentationOSGiAuParisJUG
L'occasion de revenir sur cette norme.
OSGi est une norme issue de l'informatique embarquée, qui, à force de faire son chemin arrive dans le monde JEE en permettant de répondre à des problématiques concrètes.
Citons par exemple la possibilité de déployer des versions différentes d'un service sur un même serveur, la découverte à chaud des dépendances et la mise à disposition de services partagés.
Ainsi, beaucoup d'environnements de développement commencent à implémenter cette norme (Eclipse depuis la version 3) pour la gestion de leur plug-in.
SpringSource va encore plus loin dans la démocratisation de cette norme avec son serveur d'application dmServer respectant OSGi et offrant des outils de mise en oeuvre de la norme. En plus de ça, SpringSource propose une liste de bibliothèques standards du monde JEE, re packagées pour respecter la norme OSGi offrant ainsi la possibilité aux nouvelles applications OSGi de les utiliser directement. En savoir plus
Ippon aime le Talend
Au détour d'un projet, on se retrouve souvent confronté à des problématiques liées soit à des migrations de données, soit à un nettoyage de base, soit à de l'intégration par les données entre applications, soit encore à de l'extraction qualitative en vue d'un reporting de synthèse.
L'approche communément utilisée se traduit sous le vocable d'ETL (Extract Transform and Load). Cette approche repose schématiquement sur des connecteurs servant à importer ou exporter les données dans des bases ou des applications et à des transformations ou mapping permettant de les manipuler.
J'ai pu récemment utilisé la solution open source Talend Open Studio. Il s'agit d'un atelier graphique, sur une base Eclipse, permettant la construction de jobs. L'approche est très intuitive et la documentation de qualité. Le schéma ci-dessous illustre un exemple d'utilisation de l'atelier pour une problématique de nettoyage de données :
Très intéressant également, on peut choisir entre Perl et Java pour la génération des jobs, ce qui permet d'insérer des opérations directement dans ces langages dans les processus de transformation.
En bref, un produit à avoir sous le coude en toute circonstance !



