Les articles Java

Intégrer CDI, EJBs et WEBSOCKET dans un projet

19 août 2015

illuIntegrationCDI_EJB

L’arrivée de Java EE 7 a permis l’introduction native des WebSocket dans nos applications Web. Ces WebSocket, côté serveur, viennent répondre aux nouveautés apportées notamment par HTML5. Cependant, un problème se pose en voulant y intégrer d’autres mécanismes JEE7.

C’est le cas notamment des EJB3 qui ne peuvent pour l’instant pas être injectés directement (constaté sur le serveur Wildfly 8.1.0 de Jboss). Ceci pose évidemment un problème si l’on souhaite pouvoir accéder à un ou plusieurs services applicatifs à partir d’une classe WebSocket.

Benchmark java : JMH et l’injection de données

05 août 2015
Par  dans Java

JMH dukePour faire suite à mes précédents posts consacrés à JMH, le framework de benchmarking de l’OpenJDK, voici la dernière partie, dans laquelle je m’intéresserai non pas au traitement benchmarké proprement dit, mais à la donnée sur laquelle il s’exécute. Quelle importance cette donnée peut-elle avoir ? En matière de performance, nous allons voir qu’étudier la vitesse d’un programme n’a de sens que dans un contexte précis d’exécution : pour faire un parallèle avec la course à pied, diriez-vous qu’un chrono de 2h02 est une belle performance ? Tout dépend s’il s’agit d’un marathon ou d’un 100m…

Benchmark java : JMH, fine tuning !

22 juillet 2015
Par  dans Java

JMH dukeDans le projet de l’OpenJDK, il y a l’implémentation de référence du JDK bien sûr ; mais c’est également une grosse boîte à outils pour le développeur ! On y trouvera notamment, JMH, un framework de benchmarking java. Dans un précédent article, nous avons vu comment l’utiliser pour écrire un benchmark d’un programme java, mesurer des temps d’exécution et un throuhput moyen (opérations par seconde). Mais comment JMH réalise-t-il ses calculs ? Sur quel ensemble de données peut-il se baser ? Peut-on tweaker JMH pour affiner le résultat ? Comment l’interpréter ? C’est ce que nous allons voir à présent…

Benchmark java : introduction à JMH

10 juillet 2015
Par  dans Java

JMH duke“À votre avis : c’est qui le plus fort, l’hippopotame ou l’éléphant ?” Voilà une question à laquelle il sera difficile de répondre, même avec un outil tel que JMH de l’OpenJDK ! Néanmoins, il pourra vous être très utile pour mesurer les performances d’un code java, comparer 2 implémentations différentes d’un algorithme, ou encore estimer les gains de performance apportés par la dernière JVM…  Je vous propose de découvrir cet outil et d’écrire votre premier benchmark JMH en 10 minutes chono !

RxJava : Écriture de code asynchrone

09 juin 2015

RxJava LogoLes applications sont de plus en plus interconnectées. Une architecture type WOA (Web Oriented Architecture) et l’utilisation des micros-services nécessitent de faire de plus en plus d’appels à différents services web. Comment composer un résultat à partir de ces différents services dans un contexte asynchrone ?

RxJava offre une manière élégante de faire de l’asynchrone et de la composition au sein de son application. Regardons, à travers différents patterns d’utilisation, comment RxJava peut remplacer votre code asynchrone à base de Callback et autre CompletableFuture.

[DevoxxFR 2015] Refactoring to Functional

20 mai 2015

devoxx fr 2015Les conférences d’Hadi Hariri, développeur et évangéliste technologique chez JetBrains, sont pour moi des conférences à ne pas manquer à Devoxx France, non seulement du fait de ses qualités indéniables d’orateur, mais aussi de la diversité et de la pertinence des sujets traités.

Cette année, Hadi Hariri a décidé de s’attaquer à la programmation fonctionnelle au travers d’une conférence intitulée “Refactoring to Functional” au cours de laquelle il est revenu sur les avantages de ce paradigme de programmation en s’appuyant sur différents exemples concrets.

Comprendre mapReduce

19 mai 2015

d67

Depuis plusieurs années, nous entendons les termes BigData, noSql et mapReduce. L’évolution considérable du volume de données disponibles a changé notre façon de les stocker et de les traiter. Nous en avons de plus en plus et voulons les traiter de plus en plus vite. Mais comment traiter ces données rapidement et surtout avant qu’elles ne deviennent obsolètes ?

 

Devoxx : 2020, 2035 et au delà : les robots de demain

18 mai 2015

devoxxLe Devoxx 2015 était, comme à son habitude, le lieu de rencontre des “geeks” java. Mais cette année, il était placé sous le signe des possibilités infinies, avec en particulier un thème repris sur les keynotes du jeudi et du vendredi : « FUTURE <DEVOXX> ».

Après avoir envahi nos chaînes de production industrielles, on peut voir des robots de plus en plus sophistiqués prendre place dans nos maisons. Aujourd’hui, des sociétés voudraient franchir une nouvelle étape, en proposant des robots capables d’apprentissage. Ils deviendront nos compagnons et réaliseront de plus en plus de tâches quotidiennes fastidieuses.

Files MQ : Notions et Outils

12 mai 2015

queueActuellement, les systèmes d’information doivent répondre à plusieurs problématiques dont l’une des plus importantes est d’être accessible par le plus grand nombre de vecteurs possibles. Certains de ces systèmes sont parfois anciens et se voient donc attribué une surcharge logicielle plus moderne. La question de la communication entre ces applications est au centre des préoccupations. Les files de messages, bien qu’étant un composant de base, restent tout à fait viables pour répondre à ce besoin. Nous allons explorer ensemble leur fonctionnement et les différentes solutions proposées.

Devoxx France 2015 : OptaPlanner ou comment optimiser les itinéraires, les plannings et bien plus encore

15 avril 2015

 

devoxx fr 2015Vous souvenez-vous, durant vos folles années d’étudiant, avoir été confrontés, lors d’un cours d’algorithme, au problème du voyageur de commerce ? (Rappelez-vous, Il s’agit pour un voyageur de commerce, de trouver le plus court chemin passant par un ensemble de villes à visiter). C’est un problème NP-complet, pour lequel on n’a, jusqu’à aujourd’hui, pas de solution exacte tournant dans un temps “acceptable”… Il existe néanmoins, des solutions “approchantes” raisonnables : OptaPlanner en est une ! Voici un petit compte rendu de la présentation qui en a été faite par Geoffrey De Smet, leader technique et fondateur d’OptaPlanner et Frederic Hornain, Solution Architect chez Redhat, lors de la session 2015 de Devoxx France.