jeudi 20 mai 2010

Ajax et les webservices

On pourrait croire à un conte mythologique mais pas du tout.

Si vous aimez les webservices et si vous êtes enthousiaste à propos d'Ajax, apprenez à travers cet exemple comment coupler les deux pour créer des applications riches orienté services :)

mercredi 28 avril 2010

Performances comparées Axis2, Metro, CXF

Si vous hésitez entre Axis2, Metro et CXF pour choisir une API d'utilisation de webservices, les performances de chacune des 3 peut être un argument supplémentaire.

mercredi 17 mars 2010

PMD - vérifier si une variable est null

Au cours d'un projet, j'ai eu pour tâche de vérifier le code avec PMD afin de l'améliorer et ainsi de diminuer les bugs (grossiers pour la plupart).

Et là je me suis rendu compte qu'il n'existait aucune règle PMD qui permettait de vérifier si avant d'appeler une méthode d'un objet, un test de nullité de cet objet avait été fait.

En gros est-ce que j'avais des blocs de code comme ca :

Objet obj=getObjectFromAnotherMethod();//potentially null !
obj.doSomething();

Alors qu'il faudrait mieux avoir :

Objet obj=getObjectFromAnotherMethod();//potentially null !
if(obj!=null)
obj.doSomething();

J'ai donc remonté mes manches et suis assez fier de vous présenter la règle PMD XPath qui permet de vérifier cette bonne pratique !


//MethodDeclaration/Block/BlockStatement/Statement//StatementExpression/PrimaryExpression
/PrimaryPrefix/Name
[substring-before(@Image,".")=
./ancestor::Block/BlockStatement/LocalVariableDeclaration//VariableDeclaratorId
[not (../VariableInitializer/Expression/PrimaryExpression/PrimaryPrefix/Literal)
and not(../..//PrimitiveType)
and not (../VariableInitializer/Expression/PrimaryExpression/PrimaryPrefix/AllocationExpression)]
/@Image

and

not( substring-before(@Image,".")=
./ancestor::BlockStatement/Statement/IfStatement/Expression//EqualityExpression
[../../..//NullLiteral]
/PrimaryExpression/PrimaryPrefix/Name/@Image )

]

N'hésitez pas à me faire des commentaires si la règle n'est pas satisfaisante, si vous avez des cas où elle marche pas !

vendredi 12 mars 2010

XPath et JQuery

XPath et JQuery sont 2 "expression language" permettant de manipuler du XML pour par exemple retrouver des éléments selon leur type, leur attribut, etc....

Mais comment choisir entre XPath et JQuery? Cet article peut vous aider.

Plus spécifiquement que JQuery, cet article vous explique comme l'utiliser depuis le navigateur web.

Pour Xpath, voici un explication de l'API et 3 tutoriels d'introduction pour apprendre à la manipuler :

jeudi 11 mars 2010

Les frameworks PHP qui valent le coup

Voici dans cet article une liste de frameworks PHP qui permette de faire du code beau, intelligent (à voir la compatibilité avec l'interface chaise <-> clavier) en un minimum de temps.

C'est beau la technologie.

mercredi 24 février 2010

De Excel au XML, en Java

Voici un exemple d'utilisation de l'API Apache POI pour lire des documents Excel (et autres) depuis du code Java.

Ensuite, l'auteure aborde la transformation Excel <-> XML : utile pour stocker des données et re-générer à la volée des nouveaux fichiers Excel.

mardi 16 février 2010

Introduction à Google SideBricks

Et si créer des applications web dynamiques (j'ai pas dit des applications web RIA hein mais bien dynamique c'est à dire qui se servent de données stockées en base par exemple) devenait simple ?

Google Sidebricks apporte une réponse :
  • expression language simple
  • annotations permettant la mise en place de paramètre dynamique
  • Modèle MVC et principalement les parties View et Controller
A surveiller car pour l'instant toujours en béta.