Yearly Archives: 2014

Provider pour Exception : ExceptionMapper

Dans le cadre d’un projet scolaire, nous avons mis en place une application Java EE contenant des EJBs et des WebServices REST. Dans nos EJBs, nous avons créé une gestion d’erreurs par exceptions pour avoir des retours notamment en ce qui concerne la base de données. Afin d’obtenir un message claire et orienté utilisateur, nous avons paramétré une classe Provider héritant de ExceptionMapper gérant les Exceptions de manière personnalisée avant de les envoyer aux clients légers. Ainsi, l’utilisateur ne sera pas bloqué sans information, et celles qui lui sont envoyées sont formatées pour avoir un affichage propre.javaProviderException

spacer

Conférence: Apache TomEE

En Java EE, il est commun d’utiliser des serveurs d’applications qui vont réaliser le déploiement de nos applications War et servir de conteneurs à tous les traitements réalisés. Le problèmes posé par ces serveurs est qu’ils sont généralement assez volumineux et qu’ils consomment beaucoup de ressources serveurs. Au Java User Group de Lyon, Jean-Louis Monteiro est venu nous présenter le serveur d’applications Apache TomEE qui allie les capacités du Java EE et la légéreté de Tomcat, le conteneur de servlets de la fondation Apache.apachetomee

spacer

Services RestFul avec RestEasy

Avec le développement des Single Page Application, les développeurs Java EE ont de plus en plus besoin faire des Web services respectant les normes Rest. La spécification JAX-RS définit une norme d’implémentation de ces services en Java. RestEasy est une de ces implémentations tout comme CXF et Jersey. Je vais présenter ici une implémentation simple de ce type de service.

javaresteasy

spacer

Framasoft: Campagne Dégooglisons Internet

Framasoft est une association loi 1901 dite d’intérêt publique. Depuis 2001, ce réseau issu du monde de l’éducation (nationale ou privée) cherche à promouvoir l’utilisation de logiciels libres en collaboration avec les acteurs français de ce domaine tel que l’April. Ils ont notamment mis en place un annuaire de logiciels libres accessibles à tous. Depuis 2011, Framasoft met en place différents services Web pour tous afin de défendre un Internet libre, décentralisé, éthique et solidaire. En octobre 2014, l’association décide de lancer une campagne à plus grande échelle afin d’alerter les utilisateurs sur les dangers d’un Internet centralisé (notamment avec Google, Facebook, Amazon ou Microsoft) et leur fournir des alternatives libres. C’est la campagne Dégooglisons Internet.

banniere_aaronix

spacer

Gestion de la Session avec un Filter

Les applications présentes sur le Web peuvent nécessiter une connexion afin de proposer des services spécifiques. Afin de bloquer les accès sur certaines pages de nos applications, il est nécessaire de filtrer les accès aux différentes URLs de l’application. La session doit ensuite contenir les informations de l’utilisateur et être testée à chaque action. Pour cela, il est possible d’utiliser un Filter dont la méthode principale va être appelée à chaque accès à une Servlet.

javasession

spacer

Les espaces mémoire de la JVM

La machine virtuelle Java dans laquelle s’exécutent tous les programmes écris en Java est un outil très performant. Les développeurs Java n’ont plus besoin de gérer la mémoire comme ils le faisaient en langage C. Cette gestion de la mémoire est effectuée par le Garbage Collector (GC). Cependant, le GC étant un programme lui-même, il consomme CPU et mémoire. Afin de diminuer son impact, les développeurs de chez SunMicrosystems ont créé différents espaces mémoire qui seront traités de manières différentes par le GC.

javaEspaceMémoire

spacer

Atelier Création : Servlet et JSP agrémentée de JSTL

L’API Servlet fait partie du monde du Java Enterprise Edition. Cette API mature a vu le jour afin de répondre aux problématique Internet qui sont omniprésentes aujourd’hui. Elle est la base de nombreux frameworks qui permettent la création de pages HTML dynamiques notamment Struts. Cette API n’est plus souvent très utilisé en l’état, les développeurs vont préférer les frameworks plus complets se basant dessus. Mais je pense qu’il est important de connaître la base de ce que l’on utilise.

Java Servlet et Jsp

spacer

Créer un dossier de partage accessible par FTP sur Debian

Récemment, j’ai voulu partager un fichier contenant des données d’administration avec les autres utilisateurs de notre serveur GNU/Linux Debian. Afin de ne pas avoir à faire plusieurs manipulations à chaque modification, j’ai mis en place un lien symbolique vers leur dossier personnel. La première interrogation est très vite arrivé: comment accéder à ce document via FTP, les liens symboliques n’étant pas visibles sur le logiciel FileZilla. Je me suis d’abord demandé comment faire pour que le logiciel détecte les liens. Mais le problème n’était pas vraiment là. Nous allions avoir sûrement d’autres petits documents à partager, les liens symboliques n’était pas pertinents. Je me suis donc tourné vers une solution plus longue durée, un dossier partagé accessible sans configuration du client FTP. Je vais décrire ici comment le mettre en place.

sharedfolder

spacer

Gestion des objets « embedded » dans MongoDB en Java

Lors d’un petit projet personnel récent, j’ai souhaité utiliser le driver Java de MongoDB. Afin de rendre le traitement plus simple à utiliser, je surcharge les différentes méthodes de la classe DBObject avec mes classes de données afin de leur permettre d’être instanciées très rapidement. Cependant, lors de la réalisation des tests unitaires, je me suis rendu compte que les objets inclus dans les documents de la base n’étaient pas récupérés. Voyons pourquoi.

javamongodb

spacer

Immutable String en Java

Récemment lors d’un entretien pour mon futur stage de cinquième année, j’ai passé une épreuve technique en Java. Une question portait sur un objet String modifié dans une méthode et affiché ensuite. Sans certitude, j’ai répondu que les String n’étaient pas des objets modifiables de cette manière dans une méthode. Ma réponse était la bonne, mais, curieux, j’ai voulu découvrir pourquoi. Les String en Java sont immutables.javaimmutableString

spacer