logo de Javapolis

1. Introduction

L'édition Javapolis 2005 n'a pas déçue. Son fondateur principal, Stephan Janssens, également fondateur de BEJUG, le Java User Group pour la Belgique, a voulu faire de Javapolis LE salon Java pour le continent européen. Et on peut dire qu'il a réussi puisque des visiteurs de tous les pays d'europe étaient représentés. Seul le Portugal était absent.

Mais, contrairement à JavaOne, Javapolis se veut abordable. En effet, le prix d'entrée pour toute la semaine ne s'élevait qu'à 300€. Et je dois que pour ce prix là, on ne se fait pas voler. La seule ombre au tableau fut la connection Wi-FI, qui rendait quasiment impossible l'accès à internet pour la plupart d'entre nous, sauf alors à des prix exhorbitants. Mais Stephan Janssens a promis de solutionner cela pour les prochaines éditions.

1.1. En a-t-on pour son argent ?

Combien devriez-vous payer pour avoir un cours XML d'une demi journée ?
Et pour un cours d'une journée sur Spring ?
Et une introductions aux EJB ?
Vous avez vite fait de convaincre votre employeur qu'il a tout intérêt à vous inscrire à Javapolis, pour que vous puissiez aller suivre bien plus que cela, pour beaucoup moins cher.
De plus, vous recevez un magnifique t-shirt rouge, au logo de Javapolis,

sac à dos aux couleurs de Javapolis 2005

un magnifique sac à dos, aux couleurs de Javapolis, contenant un bic, un carnet de note, le programme de la semaine et des dépliants de certains partenaires.

boissons à volonté même le café était du Java stand de café Java

Boissons à volonté durant tout le salon. Qu'elles soient froides ou chaudes. Des couques et croissants le matin, un sandwich à midi. (On a même eu droit à un repas chaud un jour (des nouilles)). Sans oublier le film de la semaine (cette année, ce fut King-Kong).

2. Les vedettes du salon

2.1. Au niveau des conférences

Si je devais, personnellement, retenir qu'une seule chose de ce salon, c'est la suivante : Java EE 5 fut la vedette incontestée de ce salon. Que ce soit :

  • via EJB3 (qui va simplifier grandement le développement des EJB),
  • via JPA (enfin une API standard pour la persistence),
  • Glassfish (l'implémentation de référence Open Source de Java EE 5),
  • NetBeans EE 5.0 (EDI prêt entre autre pour le développement Java EE 5),
  • Oracle TopLink (qui implémente l'API JPA et qui est intégré dans Glassfish),

Java EE 5 était mentionné tous les jours de cette semaine.

2.2. Au niveau des stands

Au niveau des stands, ce fut SOA qui était la vedette incontestée des stands. La majorité des exposants présentèrent des solutions pour implémenter SOA dans son entreprise.

3. Le tour des stands

Il est toujours agréable d'avoir réuni au même endroit des sociétés exposants leurs produits, leurs solutions, leurs expériences. Cela permet de se créer un réseaux de contacts qui pourront toujours être utiles, mais surtout de découvrir des produits dont on ne soupçonnait peut être même pas l'existence.

3.1. Ceux qui m'ont le plus marqué

Parmis tous les stands, il y en a trois qui ont retenu principalement mon attention.

3.1.1. ILOG

Stand d'ILOG

ILOG est une des rares sociétés françaises bien connues dans le monde Java. Elle s'est fait connaitre grâce à son moteur de Rule Engine, JRules, mais aussi par ses API Java puissantes, JViews, qui vous permet de produire des graphismes et des cartes avec vos données géographiques.

Si vous avez besoin d'un moteur de Rule Engine, je ne peux que vous conseiller celui d'ILOG. Puissant et robuste.
Mais attention à bien écrire vos règles. Sinon, les performances peuvent être catastrophiques.

3.1.2. Sonic Software

Stand de Sonic Software

Celui de Sonic Software.
L'autre société, Sonic Software, m'a frappée par leur approche concernant SOA, qui, personellement, me plait. D'ailleurs, j'ai même invité mes collègues de travail, architectes, d'aller y jeter un oeil, et voir si on ne pourrait envisager d'utiliser leur produit.

Pour l'annecdote, Sonic Software était également le stand qui s'est démarqué des autres en n'offrant non pas le classique t-shirt avec le logo de la société, mais des caleçons. Oui, des caleçons avec le nom de leur société. Evidemment, c'est moins voyant qu'un t-shirt. Mais c'était original.

3.1.3. IBM

Et le troisième stand qui a retenu mon attention fut celui d'IBM qui a brillé par son absence. Tout de même étonnant qu'IBM ne soit pas là (alors qu'il était là les autres années), lui qui vient de resigner pour 10 ans avec Sun.

3.2. Les Autres Stands

Ce n'était bien évidemment pas les seuls stands qui étaient là.
Voici un petit aperçu d'autres stands.

3.2.1. Oracle

Stand de Oracle

Le stand d'Oracle était là, vantant leur base de données supportant Java (grâce aux Java Stored Procedures), mais aussi leur EDI maison qu'est JDevelopper. Un EDI qui monte. D'ailleurs, on a parlé beaucoup d'Oracle et de JDevelopper après avoir noté que les 3 gagnants du Rad Race avaient utilisé des outils de développement Oracle.

3.2.2. Borland

Borland

J'ai été un peu déçu par leur stand, comparé à l'année passée où on pouvait obtenir des CD de démonstrations de leurs produits phares.
Projettaient-ils déjà de revendre leur divisions d'EDI ?
Je ne vois que cette seule explication possible.

3.3.3. Energy

Enerjy

Equipe très souriante, accueillante et chaleureuse.
Cette société vend des produits concernant le Code Review et les Rules Sets, encourageant les bonnes pratiques, les bonnes manières, ...
Ces produits sont des modules qui viennent se greffer sur la plupart des EDI, y compris NetBeans, ce qui est assez rare que pour être souligné. (Ou plutôt devrais je dire était rare, car avec la sortie de NetBeans 5, et son magnifique support pour le développement de modules, je suis persuadé que nous verrons de plus en plus de modules qui viendront se greffer autour de NetBeans.)

3.3.4. Caché

Caché

Toutes les bases de données ne sont pas relationnelles.
C'est le cas de celle vendue par Caché.
Heureusement qu'il existe des sociétés comme Caché qui persistent à continuer à vendre des solutions tout aussi viables et performantes, si pas plus, mais qui se rapprochent plus d'une modélisation OO, éliminant la problématique de mapping Objet-Relationnel.

3.3.5. xplore

Xplorer offrait un jeu original, avec des tasses de café.

Xplore, société de services, proposait un jeu original.

3.3.6. Bea

Le stand de Bea, vantant leurs solutions SOA

Le stand de Bea, transformé en brasserie :-)

3.3.7. Interface21

Stand interface21

Le stand d'Interface 21, tout flushy. Pour info, c'est pour cette société Belge que travaille le principal développeur de Spring.

Stephan Janssens a d'ailleurs annoncé durant son Keynote que BeJug allait organisé en collaboration avec Interface 21 le 1ier rendez-vous européen des développeurs Spring.
Il se tiendra au même endroit que Javapolis, le 15 et 16 Juin prochain.

Plus d'informations

3.3.8. Sun

Stand de Sun

Sur le Stand de Sun, nous pouvions y découvrir les machines de Sun, mais surtout leur gamme d'EDI consacrés à Java que sont NetBeans, Sun Java Studio Enterprise, Sun Java Studio Creator.

Le rack PC Niagara, pour les entreprises.

La station niagara était exposée. Un peu bruyante que pour être mise à la maison chez moi, mais quelle puissance sous le capot.

3.3.9. Microsoft

J'ai toujours pas trop compris ce qu'ils faisaient là.
Car malgré le fait qu'ils ont annoncé la sortie d'un driver JDBC pour leur base de données (Non, pas Acces, l'autre. Celle destinée aux professionnels).
Mais la vraie vedette de leur stand, c'était en fait la XBox.

3.3.10. D'autres stands

Il y avaient encore d'autres stands. Et je m'excuse auprès d'eux de les avoir oublié.

4. Lundi 12 Décembre

Ce fut le jour le plus remplis de la semaine, du moins pour moi.
En effet, vu que c'était le premier jour, et profitant de l'expérience des autres années, j'ai décidé de venir assez tôt, pour pouvoir venir retirer mon badge en évitant la cohue et la file énorme des premières heures. Ce qui fait que j'était déjà devant les portes avant 8 heures ce matin-là. j'ai passé la matinée à suivre la présentation de l'l'EDI NetBeans. l'après-midi fut consacrée à la présentation de la plateforme NetBeans. Je n'ai pas assisté à la présentation de Sun Java Studio Creator 2 car je voulais à tout prix voir la présentation concernant Swing, présentée entre autre par Romain Guy.
Il y avait ensuite le plug-in bazaar où étaient présentés tout un tas de modules pour tous les EDI majeures du monde Java.
Ensuite, nous avons fait une présentation, principalement de Java.developpez.com, montrant les nombreuses ressources qui y sont hébergées et proposées gratuitement à la communauté francophone.
Ce BOF était suivi d'un BOF concernant NetBeans, où nous avons pu discuter avec Alexis et lui présenter en avant-première un module s'intégrant dans NetBeans et permettant d'accéder facilement aux ressources proposées par java.developpez.com. Je ne peux actuellement vous en dire plus.
La soirée s'est prolongée tard dans la nuit, jusqu'au petit matin, avec Ioan.

4.1. Lundi Matin: Présentation EDI NetBeans

Ludovic Champenois, qui nous fait le plaisir de passer quelques fois sur le forum NetBeans, nous a fait une brêve démonstration des nouvelles fonctionnalités incluses dans la version 5.0 de l'EDI NetBeans.

Bien évidemment, tout le monde dans la salle désirait voir Matisse à l'oeuvre, et nous n'avons pas été déçu.

Mais la vraie vedette de la présentation n'était pas Matisse, ni l'EDI NetBeans 5.0, mais la future version, supportant le développement d'applications Java EE 6, avec les annotations EJB 3, la persistance, les web services, et j'en passe.

Et là, Ludovic Champenois nous a montré la toute nouvelle version du Pet Store Project, utilisant JSF, AJAX, les EJB 3, les Web Services, ...

Il a également démontré ô combien il était maintenant simple, gràce à l'API JPA présente dans Java EE 6 de persister vos java beans (!!!! de simples Java Beans, pas des EJB) dans une base de données relationnelle (dans ce cas, Derby). Et tout cela, il nous a fait cela en direct, devant nous, en quelques minutes. Personellement, en voyant cela, on voit vraiment ce qu'on gagne à passer à Java EE 6. Et ô combien la future version de NetBeans va nous simplifier la tâche pour en tirer profit.

Un autre avantage que Ludovic a appuyé durant sa démonstration est le fait que vous ne devez plus vous soucier des fichiers de configuration. Vous créez une servlette, il rajoute ce qu'il faut dans le fichier web.xml.
Vous créez un nouveau EJB, il fait ce qu'il faut pour qu'il soit accessible.
Vous voulez éditer le fichier web.xml ? Vous avez de magnifiques assistants pour cela.
L'accent fut également mis sur le fait que le Refactoring pour les applications EE tient compte des fichiers de configuration des modules WEB ou modules EJB.

La personne qui a suivi Ludovic Champenois nous a montré quelques unes des fonctionnalités du pack de développement Java ME pour NetBeans.
On a pu voir comment développer une "mobilette" accédant à un web service.
Il était également prévu qu'il montre comment, depuis NetBeans, vous pouvez déboguer votre application qui s'exécute sur votre GSM. Le dialogue entre l'EDI NetBeans et la 'mobilette' se faisant via la connection bluethoot. Mais le temps était déjà écoulé, et il n'a pu montrer cela en action. Dommage.

4.2. Lundi Après-Midi

4.2.1. Présentation Plateforme NetBeans

Ce fut Tim Boudreau, co-auteur du livre NetBeans publié chez Oreilly, qui nous a fait découvrir les richesses de la plateforme NetBeans, et les avantages que l'on retirait à baser ses applications sur la plateforme NetBeans. Pour nous illustrer cela, il nous a montré une simple application pour dessiner, avec gestion de calques, applications d'effets, en expliquant à chaque fois où la plateforme NetBeans a permis de gagner du temps en développement en se concentrant principalement sur ce qu'on veut que l'application fasse et non pas en perdant son temps à réimplementer une gestion de menu, de barre d'outils, de fenêtre, de splash screen, etc, etc.

4.2.2. Swing

Romain Guy, et une autre personne de l'équipe Swing de Sun, nous ont dévoilés quelques uns de leurs trucs et astuces pour le développement d'applications Swing.
Les 20 dernières minutes furent consacrées à construire une application Swing à l'aide de NetBeans en utilisant Matisse. Malheureusement, ils ont du redémarrer NetBeans et il y avait un composant qui refusait à se comporter comme espéré.

Sachez que Romain Guy a fait une démonstration tout à fait similaire à Paris le 16 décembre, et que cette fois-là tout s'est bien placé. Il n'a pas fallu redémarrer NetBeans et les composants se sont comportés comme prévus.

Toujours cette loi de Murphy qui joue.

Les vidéos de la présentation à Paris du 16 décembre 2005 sont disponibles sur JAVA TV

5. Mardi 13 décembre

Déjà le deuxième jour des Univeristy Days.

5.1. Mardi Matin: Effective XML

Présenté par le responsable du site café con leché. Il nous a fait un résumé de ce qu'était XML, à quoi cela servait, avec ses bonnes pratiques, … Cela était quelque peu XML pour les nuls, mais rappelait tout de mêmes quelques bonnes pratiques comme l'utilisation d'UTF-8. Ou le fait qu'il vaut mieux ne pas mettre la version de l'élément dans le NameSpace.

Je vous laisse découvrir sa présentation: http://www.cafeconleche.org/slides/javapolis/effectivexml/index.html

5.2. Mardi Après-Midi: Eclipse In Action

Je voulais à tout prix aller à la session de l'après-midi, où ils allaient parler de Eclipse RCP, car je voulais pouvoir comparer les approches de NetBeans et Eclipse pour le développement des modules.
Et on voit vraiment qu'ils ont chacun apporté des solutions assez similaires aux mêmes problèmes. Ainsi, chacun a mis en place un système pour

  • indiquer les dépendances entre modules,
  • n'exposer que certaines classes du module aux autres modules
  • indiquer qu'une chaine de caractères doit être traduite ou pas (//NOI18N chez NetBeans, //$NON-NLS-1$ chez Eclipse)
Image non disponible
Ce que Eclipse demande qu'on mette dans le fichier manifest du plug-in

Il serait bien s'ils pouvaient, dans certains domaines, qu'ils accordent leur violons. Rien de plus frustrant dans une équipe de se retrouver avec quelqu'un qui met //NOI18N parce qu'il travaille avec NetBeans, et l'autre qui met //$NON-NLS-1$, car il travaille avec Eclipse.

6. Mercredi 14 décembre

Premier jour des Conferences Days.

6.1. Keynote de Stephan Janssens

Ce premier jour a débuté, comme il se doit, par le message de bienvenue de Stephan Janssens.
Où il a remercié tous les sponsors et autres, qui se sont associés à cet événement. Merci à lui d'avoir fait apparaitre sur cet écran de cinéma juste derrière lui, le logo du site developpez.com , devant les quelques 2000 personnes présentes ce jour là.

43 pays, plus de 2100 personnes

Il a également indiqué que le DVD de Javapolis 2005 devrait être disponible dans le courant du mois de Mars, et est disponible au prix de 49€, TVA et frais de livraisons compris.
Si vous n'avez pu vous rendre à Javapolis, ne manquez pas d'acheter ce DVD.

Au fait, en discutant avec Stephan Janssens, il m'a révélé que sur les plus de 2000 personnes inscrites à Javapolis 2005, seules 40 personnes venaient de France. Or, avec le TGV, le trajet Paris-Anvers, est vraiment rapide. Même pas la peine de loger à Anvers. Vous pouvez rentrez chez vous tous les soirs (pour ceux qu'habitent Paris).
Ma question, et celle de Stephan Janssens également, est " pourquoi si peu de français présents à Javapolis 2005 "?
Est-ce un problème de langue ?
Je ne peux pas vraiment le croire, car la présentation de Romain Guy qui s'est faites le 16 décembre à Paris et qui s'est tenue en français, n'a accueilli que 100 personnes, alors que l'inscription était gratuite.
Si vous avez une réponse à cela, elle est vraiment la bienvenue.

Durant son Keynote, Stephan Janssens a également annoncé qu'il mettait sur place, cette année 2006, un deuxième événement, en collaboration avec Interface21, consacré à Spring.
Il se tiendra au même endroit que Javapolis (Metropolis, à Anvers), le 15 et 16 Juin prochain.
Réservez déjà cette date dans votre calendrier.

6.2. Keynote de Sun

Un petit show à l'américaine, avec lancement de T-Shirt dans la salle, à l'aide d'une catapulte, à chaque fois que Duke, la mascotte de Java, apparaissait à l'écran.
Malgré cela, il était intéressant de découvrir ce qui allait se passer dans la sphere Java dans les prochains moins.

Résumé en chiffre de Java
Saviez-vous qu'il y avait 4.5 Millions de développeurs Java à travers le monde ?

Il nous as également expliqué le fonctionnement du JCP (Java Community Process), ainsi que du JSR (Java Specification Request)

JCP Timeline
Triangle du JSR

Pour les JSR (Java Specification Request), il a rappelé le fait (cfr graphisme) que cela s'articule autours de 3 grands axes:

  1. La spécification: qui définit comment cela fonctionne. L'API que l'implémentation devra respecter.
  2. L'implémentation de référence: un espèce de POC (Proof Of Concept) démontrant qu'il est possible d'implémenter du code sur base de la spécification.
    Cela permet quelque part de valider en pratique ce qui est définit en théorie dans la spécification.
    Ainsi, Tomcat est l'implémentation de référence pour ce qui est JSP et Servlets. Glassfish est l'implémentation de rélérence pour ce qui est Java EE 5 (intégrant EJB 3)
  3. La Compatibility Test Suite: qui permet d'indiquer qu'une implémentation d'une spécification a bien été validée. Et peut donc être certifiée.
Image non disponible

Le représentant de Sun a également profité de l'occasion pour indiquer qu'il n'avait pris le lead que d'1/3 des JSR actifs, montrant par là que Sun n'est pas la seule entreprise derrière Java, même si elle en possède la marque et le copyright.

JDK Community

La page du JDK Community vous fait découvrir tout ce qui se passe autour du JDK de Java.
On y apprend les grandes lignes directrices,
on y apprends les nouveautés incluses dans Mustang, ..., ...

On a été encouragé à tester les snapshots les plus récentes de Java SE 6 et de remonter tous les problèmes qu'on rencontrait avec nos programmes actuels.

Nous avons ensuite eu droit à une démonstration de Java Studio Creator 2, montrant combien il était simple de développer des applications JSF qui pouvaient être WEB 2 compliant puisqu'utilisant Ajax, les Web Services, ...
Et tout cela en quelques clics de souris.
C'est du moins ce qu'ils auraient voulu démontrer, car ils ont eu un petit problème qui fait que cela n'a pas tourné. Toujours cette foutue loi de Murphy.

6.3. Keynote de BEA

Ce Keynote m'a quelque peu déçu car j'avais l'impression d'avoir une personne de Marketing devant moi qui voulait à tout prix me vendre son produit.
Rien de mal en cela, me direz-vous. Ils sont tous venu pour cela.
En effet, mais celui-ci avait une manière arrogante de vouloir imposer son produit (nous sommes les meilleurs, nos concurrents sont loins derrières, nous avons la JVM la plus rapide du marcher, ..., ...) qui faisait finalement qu'on n'avait vraiment plus envie de l'écouter faire son barratin.

Java is Too Easy

Il a tout d'abord commencé par nous expliquer que le processus de développement a changé à tous les niveaux.
Aussi bien au niveau technologique (magnifique jeu de mot d'ailleurs, parlant de J2EE comme étant J2EZ (prononcez Java Too Easy _ Java trop facile)). qu'au niveau économique, avec la montée en puissance de framework Open Source.
Notez cette phrase

 
Sélectionnez

Open Source is an incubator; signifiant portion of new innovation done here

reconnaissant par là le rôle important joué par la communauté Open Source.
Un simple exemple qui me vient en mémoire, est bien évidemment Linux. Les suivants étant Ant, JUnit, et Matisse, tous les trois étant disponibles sous une licence Open Source.

Succès de Struts et cie

Ce graphisme montre le décollage qu'il y a eu ces deux dernières années, et cela grâce à l'apparition d'Application Frameworks, ayant joué un rôle aussi important que l'EDI.

Voulant expliquer le succès de ces Applications Frameworks, comparé aux solutions lourdes que sont J2EE et EJB (avant sa version 3, du moins), voici quelques clefs:

Pojo sont de la fête

Les Pojo (Plain Old Java Object) reviennent en forces, comparés aux EJB.

Dependency Injection

Dependency Injection. Tous ces petits frameworks qui ont vu le jour et qui permette de simplifier le code, de faciliter les unit tests, ...

Méta-Données

Méta-Données. Que l'on retrouve de plus en plus, sous la forme de fichiers XML externes. Travaille de pairs avec les annotations de code.

AOP

Aspect Oriented Programming. technique permettant d'injecter du code aux endroits voulu. Permet de ne coder que la logique métier dans le code Java. Et tout ce qui est logging, validation et autre peut-être écrit à l'aide d'AOP. L'avantage de cette technique est que le code Java contient vraiment que du code qui fait quelque chose. Il n'est plus noyé dans tout une série de ligne de code utilisé à des fins de logging ou de validation.

Présentation de leurs produits ...
... et les avantages

Et voilà où il voulait en venir, montrant qu'ils avaient également une solution à proposer (Beehive) à tous les niveaux.

ainsi que leur IDE

Mais également leur propre IDE (basé sur Eclipse), nommé BEA Workshop et la présentation de sa gamme.

BEA Workshop Product Familly

Conclusion: BEA a fait une belle publicité des Applications Frameworks provenant du monde Open Source et a convaincu tout le monde qu'il fallait s'y intéresser si on ne l'avait pas encore fait.

6.4. More Java Puzzles

C'est toujours un plaisir de retrouver sur scène Neal Gafter et Joshua Bloch.
Je dis sur scène, car ce ne sont pas des présentateurs, mais des acteurs.
C'est tout un spectacle qu'ils nous font à chaque fois, avec costume de scène (ils étaient habillés avec des salopettes de mécanicien, comme s'ils allaient mettre leur main dans le camboui des entrailles de Java), des répliques qui fusent.
Les Laurel et Hardy de la communauté Java. Un duo agréable à voir et à entendre, mais qui vous torturent les méninges.
Si vous aimez cela, je ne peux que vous conseiller leur livre, Java Puzzle.

6.5. EJB 3 Simplified Component

Il est intéressant de voir ô combien EJB 3 va simplifier la vie des développeurs EJB (mais pas la vie des developpeurs de conteneurs EJB, mais ceux-là sont moins nombreux :-) )

buts de EJB 3.0

En faisant la liste des buts fixés pour EJB 3.0, on retrouve une liste comparable à celle des buts fixés par les solutions fournies par les opposants aux EJB 1.x et 2.x.

Encore une fois, c'est un peut reconnaitre qu'il se sont égaré dans la complexité avec EJB 1.x et EJB 2.x. Et qu'il fallait revenir à quelque chose de plus simple, car cela était quelque peu complexe pour la plupart des développeurs.

Il est toujours intéressant de voir des comparatifs Avant (ici avec EJB 2.1)

exemple EJB 2.1
suite exemple EJB 2.1

et après (ici avec EJB 3.0)

exemple EJB 3.0

Que des promesses en perspective. Est-ce que EJB 3.0 va permettre de reconcilier les développeurs Java avec les EJB ?
La question est posée.

6.6. Wicket

Ah, Wicket !!!
La première fois que j'ai entendu parlé de Wicket, ce fut lors du Javapolis 2004. En effet, Tim Boudreau, NetBeans Evangelist, était venu faire une conférence pour présenter NetBeans 4.0. Je crois qu'il y avait une dizaine de personnes dans la salle.
Le soir, nous avons été mangé ensemble au restaurant, avec d'autres personnes, dont Rick Ross (Javalobby, EclipseZone, JDocs, ...). Et c'est durant cette soirée, où nous avons discuté de tout et de rien, que Tim Boudreau nous a parlé de Wicket.
J'avais été voir à l'époque, mais il n'y avait pas vraiment encore de documentations. C'était vraiment les balbutiemments. Ses premiers pas.

Qu'est-ce que cela a bien changé maintenant.

Personellement, j'aime énormément l'approche de Wicket.
Vous faites vos Mock Screens
Vous codez en java vos pages, comme si vous construisiez des écrans Swing.
On développe vraiment en quelques minutes une application web à la vitesse V, V'.

Si vous ne connaissez pas encore Wicket, jetez un oeil sur les slides, et leurs sites (http://wicket.sourceforge.net).

7. Jeudi 15 Décembre

On allait proclamer les résultats du Rad Race Java.
Qui allait gagner cette compétition ?
Quel EDI en sortirait grandi ?
Le suspense était à son comble.

7.1. Résultat Rad Race

Cette année, Javapolis a organisé pour la première fois un Java Rad Race.

Et le résultat fut assez surprenant (et en même temps non).

Mais avant de parler du résultat, parlons de ce qu'ils devaient réaliser.

Il leur fallait écrire en moins de 24 heures une application web qui allait jongler avec des données stockées dans une DB, données qui leur fallait importer depuis un CD dans la DB. Mais qui devait également offrir des web services.

Il n'est donc pas très étonnant de retrouver parmis les vainqueurs des équipes ayant utilisé la DB Oracle, vu que la DB Oracle offre tout une tas d'outils pour y importer facilement des données.

Par contre, il fut quelque peu plus étonnant de retrouver JDeveloper parmis les vainqueurs.

Je vous conseille donc, à tous, d'aller télécharger JDeveloper sur le site d'Oracle, et de le tester.

Pour moi, le meilleur IDE est celui qui me fait, en tant que developpeur, gagner du temps. Et si JDeveloper peut me faire gagner du temps par rapport à NetBeans, je n'hésiterai pas à l'utiliser si nécessaire, même si JDeveloper n'est pas open-source.

7.2. GlassFish

GlassFish est l'implémentation de reference pour la plateforme Java EE 5 (la prochaine version de la plateforme anciennement nommée J2EE).
La plateforme Java EE 5 inclut les dernières versions des technologies telles que

  • Enterprise JavaBeans (EJB) 3.0,
  • JavaServer Faces (JSF) 1.2,
  • Servlet 2.5,
  • JavaServer Pages (JSP) 2.1,
  • Java API for Web Services (JAX-WS) 2.0,
  • Java Architecture for XML Binding (JAXB) 2.0,
  • Java Persistence 1.0,
  • Common Annotations 1.0,
  • Streaming API for XML (StAX) 1.0,
  • et pleins d'autres technologies encore.

(cfr http://java.sun.com/javaee/5/javatech.html)

L'orateur, dont j'ai oublié le nom, nous a montré combien il était facile de télécharger les sources de Glassfish, de les compiler, et de démarrer le serveur.
Cela ne prend que quelques minutes (sans compter le temps de téléchargement !!!)

Beaucoup de personnes se trompent en associant Java Persistence 1.0 avec EJB 3.0.
Or, en fait, il est tout à fait possible d'accéder à la Persistence Java sans pour autant utiliser des EJB 3.0. Et Ludovic Champenois, Software Engineer chez Sun, nous en a fait la démonstration durant NetBeans in Action du lundi matin.

Aussi, vous trouverez ci-dessous un magnifique petit résumé, reproduit avec l'aimable autorisation de Martin Adamek :

7.3. Maven 2

L'année passée, lors de Javapolis 2004, Vincent Massol m'avait fait découvrir Maven 1.
Cette année, il m'a fait découvrir Maven 2.
Il a également fait une annonce qui fut applaudie: il allait co-écrire un livre sur Maven 2 qui serait disponible gratuitement pour les développeurs Java.
Il va tout de même falloir que j'essaye le module Mevenide pour NetBeans.

Les slides de la présentation de Vincent Massol sont disponibles depuis son blog. http://codehaus.org/~vmassol/blog/javapolis2005-Maven%202.0-massol.ppt

7.4. Dans les stands

Imaginez-vous un mur d'image. Où chaque brique contient une photo d'un gars portant un T-shirt. Chaque brique du mur peut pivoter sur elle-même tandis que le mur d'image pivote également sur lui-même. Et quelque fois, vous avez encore un zoom vers une brique qui se fait, pour ensuite revenir vers le mur d'image.
Voici, en image, ce que cela donne (necessite QuickTime):
http://brabant.ftp-developpez.com/javapolis/PC140272.MOV
http://brabant.ftp-developpez.com/javapolis/PC140273.MOV

Et si je vous disais que c'est Romain Guy qui a écrit cette application en Java et qu'elle tournait non pas sur la station Niagara de Sun, mais sur un simple portable (un portable qui peut faire office de pc de bureau, il est vrai).

8. Conclusion

Si vous avez l'occasion de vous rendre à Javapolis, n'hésitez pas.
Cela en vaut vraiment la peine. Et le prix d'entrée n'est vraiment pas exagéré pour tout ce qu'on en retire.

Si vous avez raté Javapolis, ne ratez pas le DVD de Javapolis 2005.
Il vaut son prix.

En tout cas, je prends déjà rendez-vous avec vous pour Javapolis 2006.
Ne tardez pas à vous inscrire, car les organisateurs ont atteint le maximum de la capacité d'accueil, et il risque de ne pas y avoir de place pour tout le monde. Les premiers inscrits seront donc les premiers servis.