AngularJS et Spring Data MongoDB

Si vous vous êtes intéressés par AngularJS et MongoDB, allez faire un tour sur ce repository : https://github.com/rfrancillette/shopping-list. Vous y trouverez une petite démonstration de l’intégration de ces deux technologies pour créer une application de liste de courses.

Coté serveur,  grâce Spring Data, Spring MVC et Jackson, l’application expose des données stockées dans MongoDB sous forme de web services REST. Coté client, il y a peu d’ HTML5, de Bootstrap et AngularJs avec sa gestion des ressources REST.

Bonne lecture

Et pour plus d’infos :

VN:R_U [1.9.22_1171]
Rating: 0 (from 0 votes)
Share
Publié dans Java, Maven, Spring | Laisser un commentaire

Eclipse ResourceBundle Editor Plugin

Il est souvent fastidieux de gérer plusieurs fichiers ResourceBundle pour internationaliser un projet :
- Les clés ne sont pas triées,
- Il est difficile de savoir quel message est présent pour quelle langue, quelles sont les clés manquantes ou en double,
- On doit jongler entre les fichiers à chaque insertion / modification / suppression de clé,
- … Continuer la lecture

VN:R_U [1.9.22_1171]
Rating: +1 (from 1 vote)
Share
Publié dans Non classé | Laisser un commentaire

Smock, ou comment tester un webService

Dans le cadre de ma mission actuelle, je devais réécrire quelques webservices qui utilisaient de vieilles librairies pas forcement adaptées au mapping XML (Castor, en l’occurence…).
Sauf que, bien sûr, je n’avais pas le droit de tout casser (quelle surprise !), et j’ai donc dû m’assurer que le contrat du webservice n’était pas rompu, et en particulier que le mapping XML du webservice mappait toujours les classes de la même façon. Je vais donc vous parler d’une librairie bien utile pour cela : Smock.
Continuer la lecture

VN:R_U [1.9.22_1171]
Rating: 0 (from 0 votes)
Share
Publié dans Java | Marqué avec , , , | Laisser un commentaire

Gatling in the sky with diamonds

Gatling est un projet open-source lancé en 2011 et sponsorisé par eBusiness Information. Il s’agit d’un outil de stress d’application nouvelle génération, visant à être beaucoup plus performant que les standards du marché. Ceci est rendu possible en tirant parti des processeurs multicores et d’I/O non bloquantes, grâce à Akka et AsyncHttpClient/Netty notamment.

Alors quoi de neuf ? Et bien Gridinit a annoncé le 29 novembre dernier le support de Gatling pour ses utilisateurs payants et ses bêta-utilisateurs.

Gridinit est un SaaS (Software as a Service) qui propose une collection d’outils pour réaliser des tests de performances. Cela va du test de charge basique sur une URL à l’exécution d’un plan plus complexe grâce à des simulations JMeter. Les outils sont déployés dans le cloud, principalement sur des instances Amazon Web Services, ce qui permet de réaliser des tests de performances sans avoir à investir dans des machines coûteuses ou de disposer de nœuds à l’extérieur du SI, voire tout autour du globe. On va donc pouvoir dès à présent lancer des tests de charge Gatling dans les nuages.

Gridinit dashboard

Gridinit : tableau de bord

Plutôt une bonne nouvelle quand on sait que Altentee, la société derrière ce SaaS, est relativement active sur JMeter qui représente actuellement son coeur de marché. Pour autant Gridinit semble être à l’affût des avancées dans le monde des tests de performances. En effet quand on facture à ses clients des nœuds/heures, c’est à dire des ressources, on aimerait pouvoir leur offrir le meilleur rapport ressource/performance.

Gridinit tools supported

Gridinit : injecteurs supportés

Or l’arrivée d’outils utilisant des moteurs asynchrones basés sur le modèle des acteurs, comme Gatling, a permis d’obtenir des gains de performance non négligeables par rapport aux solutions précédentes basées sur le principe d’un utilisateur = un thread. Dans cette optique proposer une solution permettant d’utiliser au mieux les ressources mises à disposition fait sens. Gridinit a ainsi publié sur son blog une vidéo démontrant la puissance de Gatling en réalisant un test de charge avec 50k utilisateurs et 5k requêtes/sec en 5 minutes avec seulement 8 nœuds sur les 160 qui sont utilisables.

D’ailleurs Gridinit annonce la possibilité de lancer en moyenne 20 000 utilisateurs sur un noeud avec Gatling, quand JMeter permet seulement 1000 utilisateurs en moyenne. On peut donc espérer diviser par 20 ses coûts dans un tel contexte.

Gridinit : Gatling vs Jmeter

Gridinit : Gatling vs Jmeter

Sources :

VN:R_U [1.9.22_1171]
Rating: 0 (from 0 votes)
Share
Publié dans Outils | Marqué avec , , , , , | Laisser un commentaire

Un simple POJO !

Chez le client, j’interviens depuis peu sur un autre projet.
Pour ne pas rentrer dans les détails, je me retrouve à créer des vues de paramétrage pour certaines tables qui étaient jusqu’ici alimentées à la main par requêtes SQL :)

Je me lance sur un petit test (juste de l’affichage !) sur une seule entité (et j’ai choisi la bonne :D ).
Continuer la lecture

VN:R_U [1.9.22_1171]
Rating: 0 (from 0 votes)
Share
Publié dans Java | Laisser un commentaire

Angular.js et Spring Security

Il y a déjà quelques temps, Olivier Croisier nous initiait à Angular.js via une application Spring MVC. Question dans les commentaires : comment sécuriser ce type d’application ?

Continuer la lecture

VN:R_U [1.9.22_1171]
Rating: 0 (from 0 votes)
Share
Publié dans Non classé | Laisser un commentaire

Liferay 6.0 – Corriger la recherche de contenu Web par type

Liferay est un portail d’entreprise open-source conçu en Java. Il comporte un grand nombre de fonctionnalités de publication, de gestion de contenu, de documents ainsi que divers composants collaboratifs. Liferay propose également de créer ses propres composants et de redéfinir le comportement et la structure du portail et de ses composants.

En tant que gestionnaire de contenu Web, Liferay offre la possibilité de créer et de rechercher du contenu au sein du portail tout en filtrant les différents contenus en fonction de leur type, que ce soit une page wiki, de blog, une actualité …

La procédure à suivre pour cela est très simple : il suffit de préciser le type d’un contenu créé comme présenté ci-dessous en utilisant la portlet “Web Content Display” :

La portlet de recherche doit ensuite être configurée de la manière suivante afin de pouvoir rechercher du contenu à partir du type de contenu souhaité :

Cependant, je me suis aperçu lors d’une mission qu’une erreur s’était glissée dans la portlet de recherche. En effet, non seulement la recherche retourne les documents de la catégorie attendue mais aussi tous les autres documents du portail. Cette fonctionnalité n’a donc aucunement le comportement attendu.

Continuer la lecture

VN:R_U [1.9.22_1171]
Rating: 0 (from 0 votes)
Share
Publié dans Java, Outils, Trucs & astuces | Marqué avec | Laisser un commentaire

Foundation 3 et Twitter Bootstrap 2

Introduction

Si vous êtes ici, c’est que le web, vous connaissez. Vous faites du développement web toute la journée, mais le jour où vous voulez créer votre propre site, un gros problème se pose. Le site fonctionne parfaitement bien, mais il est moche. En plus, vous avez passé des journées à en arriver là. La frustration vous guette. Et pourtant, il va falloir vous y faire, vous n’êtes pas graphiste et vos goûts personnels sont plutôt discutables.

Pas de panique ! Comme toujours (ou presque), des outils sont là pour vous aider. Mais parmi eux, lequel choisir ? Je vais vous parler ici de deux d’entre eux, Foundation et le désormais fameux Twitter Bootstrap.

Continuer la lecture

VN:R_U [1.9.22_1171]
Rating: 0 (from 0 votes)
Share
Publié dans Non classé | Un commentaire

Guide pratique sur l’encodage à l’usage des développeurs JavaEE

Au cours de mes différentes missions, j’ai pu être confronté plusieurs fois à des problèmes d’encodage. À chaque fois (ou presque), le problème était situé entre la chaise et le clavier. Et une fois, il s’agissait d’IE7. Cette fois exceptée, des règles simples permettent de les éviter. Et en comprenant les erreurs fréquentes, on trouve plus facilement la solution. Ces erreurs trouvent leurs origines dans la manière dont sont encodés les caractères.

Continuer la lecture

VN:F [1.9.22_1171]
Rating: +5 (from 5 votes)
Share
Publié dans Java, Trucs & astuces | Marqué avec , , , , | Un commentaire

Meilleure gestion de logs sur Android

Mise en situation

Android dispose d’une gestion de logs assez intéressante. On y retrouve la notion de niveau de logs, et la possibilité de poser un tag sur chaque ligne. Pour les visualiser, on passe par le plugin ADT et sa vue LogCat.

Tout cela c’est bien beau… Mais ce système impose d’avoir accès au smartphone (ou à la tablette) pour consulter les logs. Or, dans ma mission actuelle, le projet est envoyé en pilote à différents endroits en France. Il n’est donc pas pensable de se déplacer pour consulter ces informations, et le personnel présent a autre chose à faire que de taper des lignes de commandes ou de lancer Eclipse. :)

Continuer la lecture

VN:R_U [1.9.22_1171]
Rating: 0 (from 0 votes)
Share
Publié dans Android, Java, Non classé | Marqué avec , , , , , , , | 3 commentaires