Paul Hudak parle de Haskell à Sadek Drobi

Publié le 18/05/2009, par Eric Le Merdy dans Valtech | Ajouter un commentaire

Sadek Drobi, interviewer at the QCon ConferenceSadek Drobi a interviewé Paul Hudak sur le langage fonctionnel Haskell à l’occasion de la conférence QCon de San Francisco, en novembre 2008. L’interviewé est l’un des pères d’Haskell.Paul Hudak, a main father of Haskell
L’interview fait un point sur le langage et les concepts non-triviaux qu’il met en œuvre (monads, high order programming). Le langage Haskell connait en effet un succès grandissant en passant du statut de “langage de recherche” à celui de langage reconnu en entreprise. Il a aussi une influence non négligeable sur les autres langages (Generics de Java, framework LinQ de .Net). C’est par ailleurs un langage souvent proposé en Coding Dojo.
Je vous conseille de suivre l’interview qui offre une mise en perspective intéressante sur le statut d’Haskell et les langages de programmation actuels.


Aquarium Sun

Publié le 23/12/2008, par Nicolas Chapon dans Formation, Intégration | Ajouter un commentaire

The Aquarium Paris s’est déroulé Vendredi 12 Décembre, cette conférence était consacrée aux solutions Open Source de Sun, du middleware au client riche en passant par les ESB.

Tout d’abord, Sun a présenté sa stratégie commerciale autour de ses solutions Open Source, avec un périmètre élargi depuis le rachat de MySql début 2008.
Ensuite une dizaine de présentations se sont succédées, dont celle de Romain Linsolas de Valtech sur Hudson l’outil d’intégration continue.

JEE6
La présentation JEE6 par Roberto Chinicci (Spec Leader J2EE) est certainement celle qui était la plus attendue.

Avec JEE6 pas de révolution mais quelques nouveautés :
RestWS : support des Services Web en mode REST
EJBLite : déploiement d’un EJB en mode embarqué avec packaging dans un War
WebBeans : unification du modèle de développement JSF et EJB (standardisation du modèle de développement Seam)
ValidationBean : API permettant la validation des beans utilisable dans un contexte JPA et/ou JSF (devrait ressembler à l’API Hibernate Validator)
et la poursuite des simplifications opérées par JEE5 :
• Allègement de l’API, certaines librairies ne seront plus embarquées par défaut mais seront optionnelles (Entity Beans EJB 2, JAX-PRC…)
• Simplification de la configuration des applications web : configuration dynamique du fichier web.xml à partir d’annotations Java 5
• Plus de flexibilité : il sera enfin possible d’utiliser des threads dans JEE6.
• Les profils : un profil regroupera un sous ensemble de l’API JEE, actuellement un seul profil est prévu (Web Profile). Un serveur d’application pourra ainsi limiter son support uniquement à un profil et non plus à toute la plateforme entière. Cela devrait simplifier l’émergence de nouveaux acteurs  JEE (Spring Application Server par exemple).

Dans le détail JEE6 devrait être constitué des APIS suivantes :
EJB 3.1
∘ Plus besoin de déclarer les interfaces locales
@Singleton pour déclarer un EJB Session du type singleton
@Asynchronous pour déclarer une méthode asynchrone sur un EJB Session
∘ Convention de nommage JNDI par défaut : java:global/(app)/(module)/(bean)#interface
Servlet 3.0
∘ Configuration dynamique des Servlets à partir d’annotations Java 5
∘ La configuration et l’intégration des frameworks web Open Source sera simplifiée à partir de point d’extension (web-fragment.xml)
∘ API asynchrone : standardisation des principes du projet Comet (Reverse Ajax) qui permet du faire du push d’information depuis le serveur vers un client
JPA 2.0
JSF 2.0
∘ Mécanisme de template ressemblant à Facelet
∘ Cycle de vie compatible Ajax (?)
JAX-RS 1.1
JAXB 2.2

La version finale de JEE6 est prévue pour début 2009 et l’implémentation de référence devrait suivre avec GlassFishV3 courant 2009.

GlassFish V3
A propos de GlassFish V3, Alexis Moussine Pouchkine au cours de sa présentation a surtout insisté sur la rapidité de démarrage (grâce à OSGI seuls les modules nécessaires sont chargés en mémoire), la légèreté du serveur d’application (26 mégas) et la possibilité d’utiliser GlassFish en mode embarqué (à la mode en ce moment).

Grizzly Comet

J’ai également assisté à la présentation de Grizzly Comet par Jean François Arcand. Grizzly (le moteur HTTP de GlassFish) simplifie l’intégration avec l’API Comet (permet de faire du Reverse Ajax). Grizzly est prévu pour traiter des requêtes HTTP en mode asynchrone : le dialogue entre le client et le serveur n’est plus en mode requête/réponse. Le serveur est capable de pousser des informations vers le client. La requête HTTP n’est donc plus attachée à un seul thread, l’envoi de la réponse a lieu plus tard dans un autre thread, l’API Comet se chargeant de gérer le contexte.

Une application de démonstration du type Twitter a permis de se rendre compte de la simplicité et de l’efficacité de Grizzly Comet, mais ce genre de technologie semble à proscrire lors d’une utilisation derrière des proxys.
A noter que l’API Comet peut également fonctionner sur Tomcat et bientôt Jetty et que les concepts sont repris dans l’API JSF IceFaces.

JavaFX
Java FX était à l’honneur, la solution RIA de Sun. Les deux présentations ont permis à l’auditoire de se faire une idée sur le produit : globalement un concurrent de Flash à partir d’un langage de Script basé sur Java. Une application JavaFX peut se déployer dans un navigateur, en mode standalone ou bien sur un téléphone portable. Visuellement c’était très beau mais je ne pense pas que cette API soit utilisable actuellement pour le développement d’applications de gestion. Wait and See…
En ce qui concerne l’outillage un plugin JavaFX existe pour NetBeans 6.5. (un plugin eclipse existe également).