Blog

Accueil   Contacts
Accueil

lundi 26 mars 2007

log4J, un extrait de support de TechCoaching™

log4J est une API de log open source bien connue, d'origine Apache. Son usage est quasi systématique dans les projets : le log est une bonne pratique. Puissante et efficace, cette API n'est pas toujours très facile d'abord. Cet extrait d'un support de TechCoaching™ fait le point sur les concepts de base de log4J.

mercredi 21 mars 2007

Google Guice, un nouveau framework d'injection de dépendance

Google propose un nouveau framework d'injection, baptisé Guice (à prononcer juice), et fondé sur des annotations. Un débat très intéressant, initié suite à un blog de Craig Walls, a lieu entre la communauté Spring (le framework d'injection standard de fait) et les créateurs de Guice.

L'argumentaire de Craig Walls en faveur de Spring est, à mon avis, particulièrement convaincant, et l'essentiel des remarques est tout à fait justifié :

  • Spring est bien moins intrusif. Guice oblige a annoter les classes, Spring non.
  • L’injection de valeurs simples en Spring est beaucoup plus simple qu’avec Guice.
  • Spring peut injecter dans des classes quelconques, pas seulement dans des classes annotées comme Guice. Il est vrai que Guice offre la notion d’adaptateur, mais cela nécessite d’écrire du code.

mardi 20 mars 2007

JSR308, les annotations vont encore plus loin

La JSR 308 : Annotations on Java Types a pour objectif d'étendre le système d'annotation de Java SE 6 pour permettre l'annotation des types en général, et plus seulement des méthodes, champs, et des classes. La spécification en version de travail est déjà dans un état relativement avancé. L'ensemble est cohérent et bien construit. Cependant, on est en droit de se demander si la concurrence accrue entre Java et le futur C# 3.0 n'est pas en train d'engendrer des langages chimériques. C++ ne serait-il pas en train de repasser par la porte de derrière.

iBATIS, au delà de JDBC

JDBC est une API pour le moins rudimentaire. À tel point, qu'il ne serait pas très sage de s'aventurer à développer une application sans avoir quelque peu encapsulé les fonctionnalités de JDBC. Il ne faudrait pas cependant oublier le premier commandement des frameworks : "De framework, tu n'écriras point. Les dieux de l'open source pourvoiront à tes besoins".

Plus sérieusement, iBATIS est un framework JDBC open source d'origine Apache, et qui précisément encapsule JDBC. Alors, sachons profiter de la manne divine, et aussi de cet extrait d'un support de TechCoaching™ Neoxia portant sur le dit iBATIS.

Références

lundi 19 mars 2007

JavaServer Faces, une approche composant pour le Web

Les frameworks Web pullulent dans le monde Java. Point trop n'en faut.

La majorité d'entre eux sont des frameworks Web à actions tels que Struts, WebWork, Struts 2 (en fait WebWork), et toute une palanquée d'autres ... Malgré le chemin parcouru depuis le spartiate Struts, les "frameworks" à actions atteignent leurs limites : dans leur grande majorité, il ne propose pas de modèle de composant graphique.

C'est justement l'objectif des frameworks Web à composants, parmi lesquels on peut citer JavaServer Faces (JSF) et Millstone. Ces frameworks se focalisent essentiellement sur les applications Web (à mettre en contraste avec les sites Web) et permettent de construire visuellement (mais également de coder) des interfaces Web par assemblage de composants graphiques. Le concept n'est pas nouveau, et il a clairement prouvé son efficacité en terme de productivité. Il existe depuis longtemps pour les interfaces graphiques classiques, et ne date pas non plus d'hier pour les interfaces Web (voir WebObjects d'Apple). Cette approche a été popularisée par Microsoft avec ASP.NET, qui a su développer autour de lui un véritable écosystème de fournisseur de composants. L'approche composant permet également d'encapsuler AJAX et donc d'offrir une grande interactivité aux composants sans subir le surcroit de complexité classiquement imputable à AJAX.

JSF s'inspire clairement d'ASP.NET, et on ne songerait à s'en plaindre. Il reste cependant plutôt léger en terme de composants graphiques standard. Mais, force est de constater que sa flexibilité et son extensibilité sont étonnantes, en témoigne l'intégration des frameworks Seam et Shale.

JSF est maintenant intégré à Java EE 5. Après un retard à l'allumage, l'offre de composants graphiques JSF semble bien être en train de décoller. On peut citer, entre autres :

  • RichFaces d'Exadel en open source chez JBoss
  • ADF Faces d'Oracle, récemment passé dans le giron d'Apache

Des outils de développement JSF sont d'ores et déjà disponibles ou en vue tels que :

JSF n'est peut être pas le framework idéal, mais finalement, il faut bien avouer qu'il fait montre de pas mal de qualités. Et puis, il semble bien que JSF soit bien une technologie en cours d'adoption (en tout cas aux États-unis).