vendredi 28 septembre 2007

Tutoriel JAX-WS - Partie I (Projet Eclipse)

Voici le premier article d'une série pour présenter l'utilisation de JAX-WS avec Metro, Tomcat 6, Eclipse 3.3 et le JDK 6.0.

Introduction

Le nombre de frameworks Web Services en Java EE est assez important avec, pour chacun, un historique plus ou moins lourd. On va retrouver des noms comme Axis (1 et 2), XFire, Apache CXF (pour Celtix XFire, considérée comme la V2 de XFire), JBossWS, ... Depuis quelques temps émerge un standard qui simplifie et uniformise le développement des Web Services en Java : JAX-WS.

Dans la suite de ce billet, on va créer un Web Service (Serveur et Client) avec JAX-WS sous Eclipse 3.3 / Tomcat 6.0 avec le JDK 6.0. Je profite de la sortie de la version 1.0 finale de Metro (Framework Sun Open Source incluant JAX-WS RI/ JAXB et Tango) pour ce mini-tutoriel. L'approche utilisée sera celle du "contract-first" (développement à partir du WSDL).

Pré-Requis

Avant de commencer, il vous faut installer tous les outils :

  • Le dernier JDK 6.0 (si vous avez le 5.0, cela fera l'affaire également).
  • Eclipse 3.3 avec WTP et touti quanti.
  • Tomcat 6.0 (la version 5 ou 5.5 devrait également fonctionnée)
  • Metro (qui inclut JAX-WS et JAXB)
On suppose que tout ces outils sont installés correctement et notamment que, dans Eclipse :
  • Tomcat 6 a bien été configuré dans les runtimes de serveurs
  • le JDK 6.0 est également le JDK par défaut.

Création et configuration d'un projet Eclipse

La première étape va être de créer un projet Web dynamique dans Eclipse.


Lors du "wizard" de création de projet, on veillera à choisir le Tomcat 6.0 avec les valeurs par défaut.

Eclipse créé alors le projet Web dans votre Workspace ainsi qu'une instance de configuration de serveur Tomcat 6 qui nous servira pour tester notre Web Service.

Configuration de notre WebApp avec Metro

Maintenant que nous avons notre WebApp, il va falloir qu'on ajoute les librairies de Metro. Pour cela, il suffit de copier les librairies de Metro (fichiers jar présent dans le répertoire lib de la distribution Metro) dans le répertoire du projet Eclipse WebContent/WEB-INF/lib.
Voici ce qu'indique la documentation Metro sur ces librairies :

mardi 25 septembre 2007

Vente liée OS / PC : un pas en avant ?

La vente liée d'OS (Win...) sur les PC rencontrerait-elle de plus en plus de résistance ?

Un recours en justice vient d'aboutir favorablement pour un consommateur ayant acheter un portable. Il lui aura fallu un an de procédure ...

Cela fait l'objet de quelques news sur pas mal de sites. Voici quelques liens :
J'ai personnellement cherché à acheter un portable sans OS pour y mettre Ubuntu. Je dois dire que c'est assez difficile, encore plus si on veut bénéficier des offres d'entrée de gamme. J'ai eu de la chance de tomber sur une offre HP. Celle-ci n'a tenu que 1 mois sur 3 sites internet uniquement ! Le délai de livraison a été de 2 mois tellement l'offre a suscité d'intérêt !

Ce qu'il y a de pire dans tout cela, c'est que l'industrie informatique ne respecte pas la loi dans cette affaire et qu'il faut faire preuve de pugnacité (c'est le moins qu'on puisse dire) pour être dans son droit.
C'est la même industrie qui s'offusque ensuite que des consommateurs ne la respecte pas en piratant ses licences ou ses produits ...

mercredi 12 septembre 2007

OGM : Conférence/Débat à ne pas manquer

Vendredi 21 septembre (semaine prochaine) aura lieu une conférence/débat animée par Christian Vélot, chercheur en génétique moléculaire à l'unsiversité de Paris Orsay.

J'ai eu l'occasion de visionner une de ses interventions (Vidéos sur DailyMotion : 1ère partie, 2ème partie) et mon avis est que la personne vaut le détour. Je le trouve très didactique et la vulgarisation faite permet de comprendre réellement ce qu'est un OGM.

Si vous êtes dans la région rennaise, c'est un rendez-vous à ne pas manquer. Cela se passera à Gahard (petite commune à 20 km au nord de Rennes) :
Vue globale sur Google Maps
Itinéraire pour ceux qui viennent de Rennes

Voici l'affiche :

mardi 11 septembre 2007

Neuf : Soucieux de l'écologie ??

Ce matin, j'ai reçu un email d'un collègue pour me suggérer de mettre en avant une info suite à un mail reçu de son FAI Neuf. En effet, Neuf vient d'envoyer à tous ses clients un mail intitulé : Information importante sur votre Neuf Box



PCInpact relaye également cette news ... mais sous un autre angle en montrant le message sur le site d'assistance de Neuf :



Le message est effectivement un peu moins "vert" ... On voit qu'effectivement le coté environnement n'est qu'une conséquence du changement et non la motivation de celui-ci ...

Quoi, vous pensez que je ne devrais pas douter de la bonne foie de gens du marketing au niveau écologique ???

mercredi 5 septembre 2007

Pb encoding d'une page Web

Je viens d'être confronté à un petit souci d'encoding avec Firefox.
Pour résoudre mon petit souci, j'ai été obligé de "sniffer" le réseau avec wireshark ...

Voici quels étaient les symptômes.Mon application web me fournit une page HTML avec la balise suivante :
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
Jusque là, tout est normal. Ma page comprend la balise qui va bien pour indiquer au navigateur qu'il faut s'attendre à avoir du contenu ISO-8859-1.

Mais voilà, l'algorithme de Firefox trouvait un encodage UTF-8. Tous les accents de la page et autres caractères spéciaux se font la malle :((

Une capture d'une requête HTTP réseau m'a permis de voir que la requête renvoyée par le serveur contenait un en-tête ayant une incidence significative ;-) pour mon problème :
Content-Type: text/html; charset=UTF-8
Effectivement, en vérifiant la configuration de mon serveur HTTP apache, je m'aperçois que l'encoding par défaut a été défini à UTF-8 à l'aide de la directive :
AddDefaultCharset UTF-8
Sur mon serveur Ubuntu, cela se trouve dans le fichier /etc/apache2/conf.d/charset
Pour résoudre mon problème, je n'ai eu qu'à mettre cette balise en commentaire. De cette manière, la gestion de l'encoding est déléguée à l'application.