Les Annotations de Java 5.0 (Tiger)

Parmi toutes les nouveautés de Java 5.0, les Annotations peuvent sembler anecdotiques, alors qu’il s’agit peut-être d’une des nouveautés du langage les plus importantes…

En effet, les Annotations permettent de marquer différents éléments du langage Java. Cela peut permettre de distinguer ces éléments lors de l’exécution afin d’automatiser certaines tâches, et même de contrôler une partie du processus de compilation du code source…

Ce tutoriel présente les possibilités offertes par les Annotations.

Lire le tutoriel…
Rappel : Présentation des nouveautés de Tiger par Lionel Roux.

Le problème nQueens n=25 résolu par ProActive

nQueens

Sur la page officielle de la librairie Proactive développée à l’INRIA et soutenue par ObjectWeb, nous pouvons lire :

nQueens n = 25 solved with
ObjectWeb ProActive
2,207,893,435,808,352 total solutions found
Two Quadrillion

Le problème consiste à placer un maximum de reines sur un échiquier nxn de sorte à ce qu’aucune d’elles ne puisse en attaquer une autre.

En établissant ce record, l’INRIA nous montre une fois de plus que tout est possible avec JAVA et que les grilles de calcul ont un bel avenir.

Un grand « BRAVO » pour l’équipe OASIS.

Ludo

Un coup d’oeil sur les API du projet Jakarta Commons

Je profite de la publication du tutoriel Utilisation de l’API Jakarta Commons Collections (par Sébastien Le Ray) pour mettre un petit coup de projecteur sur le projet Jakarta Commons.

Pour ceux qui ne connaîtraient pas, Jakarta Commons est un des « sous-projets » de Jakarta (BSF, Tomcat, Turbine, Velocity, …) de la fondation Apache.
Ce sous-projet Jakarta est un ensemble d’API tout simplement exceptionnel. Son objectif est de fournir des implémentations complètes de tous les « composants Java réutilisables ».
On peut ainsi y trouver des API orientées JDBC (DBUtils, DBCP, …), XML (Digester, JXPath, …), réseaux (Net, HttpClient, Email,…).

Si vous avez envie de découvrir tout ca plus en détail, voici quelques liens intéressants sur Jakarta Commons :
Utilisation de l’API Jakarta Commons Collections par Sébastien Le Ray
Journalisation avec l’API Jakarta Commons Logging par Sébastien Le Ray
Simplifiez vous JDBC avec Jakarta Commons DbUtils par Christophe Jollivet
Les meilleures API Java (dans le cas ou Jakarta Commons ne réponde pas à tous vos besoins ;))

Bonne lecture :)

Nouveaux tutoriels Java

Voici deux nouveaux tutoriels qui viennent enrichir la page cours de la rubrique Java.

  • Tutoriel : M2VC, un moteur MVC pour les applications Swing par Serge Tahé
    Nous nous proposons ici d’étudier un moteur MVC pour des application GUI Java. Si le modèle MVC (Modèle – Vue – Contrôleur) est désormais bien accepté dans le cadre des applications web, il ne semble pas qu’il ait percé dans le développement d’applications utilisant les fenêtres JFrame ou alors on n’en parle pas. L’idée de ce moteur MVC est venu à l’occasion du portage d’une interface web existante vers une interface à base de formulaires windows. L’interface web ayant une architecture MVC, j’ai souhaité reproduire celle-ci dans l’interface windows. En l’absence d’outils connus, j’ai été amené à développer M2VC-win écrit en VB.NET. M2VC est le portage en Java de M2VC-win.

  • Tutoriel NetBeans : Naviguer parmis les sources et dans les vues par Vincent Brabant
    Lors de cette démonstration, vous allez découvrir les fonctionnalités suivantes :
    – GO TO CLASS : cette fonctionnalité vous permet, à n’importe quel moment, d’accèder au code source de la classe désirée.
    – SELECT DOCUMENT IN : permet de sélectionner le document dans l’une des vues (Projetc, Files, Favorites, …).
    – HYPERLINK : Cette magnifique fonction vous permet de vous balader dans vos sources comme si vous étiez dans un navigateur web. Tout, ou presque, est un hyperlien vers la classe, la méthode, la déclaration de variable, …
    Si vous savez naviguer sur le net, vous saurez naviguer dans vos sources.
    – SELECTIONNER : un onglet rapidement. Très pratique lorsque vous avez ouvert tout un tas de sources.

Bonne lecture :)

Tutoriel : Planification de tâche en JAVA

Voici un tutoriel très intéressant sur la planification des tâches en Java par Grégory Picavet. Que ce soit de manière « simple » avec le JDK ou de façon plus sophistiquée avec l’API Quartz, la gestion de tâches n’aura plus de secret pour vous :

Selon l’importance d’une application, certains utilisateurs expriment le besoin d’extraire régulièrement des données, calculer des statistiques, ou effectuer des opérations de maintenance. Ces tâches peuvent s’avérer coûteuses en ressources système (temps CPU, mémoire, réseau, …) et donc détériorer le temps de réponse de l’application au détriment des autres utilisateurs. Une solution est de programmer l’exécution de ces tâches la nuit, de manière récurrente ou non. Ce tutorial explique comment planifier simplement des tâches en java avec le JDK et de manière plus sophistiquée avec la librairie Quartz.

Bonne lecture :)

Deux failles critiques dans Java

Plusieurs sites web spécialisés dans la sécurité informatique ont relayé l’information : deux failles de sécurité, jugées critiques, ont été découvertes dans la plateforme Java de Sun. La première concerne Sun Java Web Start, elle pourrait permettre à une application d’élever ses privilèges afin de compromettre un sytème à distance. Plus de détail … La deuxième faille concerne le JRE, elle pourrait permettre à une applet d’élever ces privilèges afin de compromettre un sytème à distance. Plus de détail …

Dans les 2 cas, il est fortement recommandé de mettre à jour sa version de java en installant la version 1.5.0 update 2 via ce lien.

Ant Release 1.6.4

La fondation Apache a décidé le 19 mai dernier de mettre à disposition des utilisateurs une nouvelle version de Ant. Cette dernière corrige les bugs suivants :

  1. Sun javah failed with java.lang.NoClassDefFoundError. Bugzilla report 34681
  2. DirectoryScanner.slowScan() was broken. Bugzilla report 34722
  3. DirectoryScanner.scan() could throw a NullPointerException on case-insensitive filesystems
  4. Get w/authentication failed with ArrayOutOfBoundsExceptions. Bugzilla report 34734
  5. Granularity attribute for <sync> task was undocumented. Bugzilla report 34871
  6. <unzip> and <untar> could leave file handles open on invalid archives. Bugzilla report 34893
  7. propertyset threw NPE with nested, mapped propertysets
  8. <ftp> up to date calculations were wrong. Bugzilla report 34941
  9. AntXMLContext.setCurrentTargets() is now public. Bugzilla report 34680

Have Fun ! Ludo

La FAQ Eclipse

Logo FAQ Eclipse Voici la première version de la FAQ Eclipse. Au programme, 47 réponses aux questions les plus fréquentes sur Eclipse Platform, le développement Java, les plugins, la librairie graphique SWT, JFace, etc.
De nombreuses autres Q/R sont déjà en cours de rédaction. D’ailleurs, j’en profite pour remercier lunatix pour tout le travail qu’il a éffectué sur cette FAQ, ainsi que les membres du forum pour leur participation.
En concernant Eclipse, l’équipe Java vous réserve quelques autres surprises d’ici peu ;)

En attendant, vous pouvez toujours nous aider à améliorer la FAQ en participant sur le forum.
A consulter aussi :

Bonne lecture :)

Java et Spring aussi productif qu’un outil RAD L4G

logo spring Ce titre provocateur n’est pas de moi, mais celui du compte-rendu/reflexion de deux consultants (Erwin Bolwidt and Vincent Partington) qui ont participé au 2005 Dutch RAD Race.

Ce concours sur deux jours avait pour but le développement d’une application administrative pour une agence de voyage (écrans de saisie, utilisation et exposition de services web, génération de rapports en formats divers et logique de recherche de planning de vol).
L’équipe de consultants a choisi une solution basée sur Spring, Hibernate, Tomcat, MySQL et des librairies de Tag personnalisés pour leur pages JSP. Pour la plateforme de développement, ils ont choisi Eclipse avec notamment Eclipse Web Tools Plateform et Hibernate Synchronizer.
Ils ont fini 3eme des 9 participants. Même si un seul concours n’est pas révélateur, ce compte-rendu est intéressant car les deux consultants discutent des points forts et points faibles du framework utilisé.
Vous pouvez aussi lire la discussion qui a suivi l’annonce sur le site de TheServerSide.com.
Enfin pour vous familiariser avec Spring vous pouvez lire :

Vous pourrez aussi comparer le framework Spring à Struts et une architecture classique (servlet-controleur et JSP) avec les Variations autour d’une architecture web à trois couches de Serge Tahé.

Enfin pour découvrir Hibernate vous pourrez lire :