jeudi 10 décembre 2009

Marseille JUG : REST

Ce soir, Stéphane Epardaud nous a présenté un protocole de web service RESTFull et son implémentation RESTEasy.Cette intervention m'a permis de découvrir l'architecture REST et son implémentation.J'ai beaucoup aimé cette intervention car elle était vivante (beaucoup de démo) et enrichissante (je ne connaissais pas).Il faut souligner la qualité des interventions du JUG Marseille ! Je vous encourage à venir nombreux !
A noter : En janvier, il devrait y avoir une intervention sur Groovy et en Février sur les outils Google ....

Voici un résumé rapide sur REST :


Tout d'abord voici la définition de REST :

REST = C'est le modèle qui décrit des fonctionnalités du web.(Comment fonctionne l'interaction entre les proxy, gateway, serveurs, client ? Quel est le protocole utilisé ?)



Voici les avantages de RESTful :



- Utilisation du protocole HTTP :
Au travers d'url, on peut appelé des méthodes.Cela rend les test plus faciles et en plus on bénéficie des avantages du protocole HTTP (produire un résultat en fonction de ce qui est donné JSON,XML...).


- Stateless :
Chaque transaction est traité de manière indépendante.On n'est pas lié au client.


- Interface simple :


"L’interface entre les composants est simple et uniforme. En HTTP, cette interface est implantée par les
verbs GET, PUT, POST, DELETE, ... qui permettent aux composants de manipuler les ressources de manière simple et "intuitive". Lorsqu’un client web récupère un URI, il sait qu’il peut récupérer une représentation de cette ressource en déréférençant l’URI avec la méthode GET."

Inconveignent de RESTFul :


Le fait d'utiliser des URLs complexes pour appeler des méthodes.Il faut donc connaître des URLs spécifiques pour accéder aux méthodes des web services.



Quelques liens :
Comparaison_SOAP_REST
wikipedia_REST

vendredi 4 décembre 2009

GWT [ERROR] No source code is available for ...GWTTestCase

Problème :


Vous rencontrez l'erreur suivante :
[ERROR] Line 11: No source code is available for type com.google.gwt.junit.client.GWTTestCase;
did you forget to inherit a required module?



Solution
:

Dans le fichier de module (*.gwt.xml), il suffit d'ajouter :

"< name="com.google.gwt.junit.JUnit">"

vendredi 27 novembre 2009

Eclipse GWT_EXTERNAL_BROWSER

Problème :


Lorsque l'on compile en mode "hosted", on a l'erreur suivante :
[ERROR] Unable to find a default external web browser

[WARN] Try setting the environment variable GWT_EXTERNAL_BROWSER to your web browser executable before launching the GWT shell



Solution :



Dans Eclipse, il suffit de faire Run -> Run Configurations.Ensuite, on choisit le projet google et on
va à l'onglet Environement.Ensuite, on ajoute notre variable et on l'initialise à
GWT_EXTERNAL_BROWSER avec la valeur firefox.





mardi 24 novembre 2009

Java 7 Closures news

Depuis l'annonce de l'arrivée des closures, c'est l'effervescence !
Il y a beaucoup de propositions et pas encore de résultats.
Voici un lien qui résume les différentes propositions : Résumé des propositions sur les closures

vendredi 20 novembre 2009

GWT Ressources statiques (fichier css, js...) et Répertoire public


Problème


Je commence l'apprentissage de GWT et le premier problème que j'ai rencontré concerne les ressources statiques.Où faut-il les mettre ? Où mettre les css,js ... ? Sur le web, j'ai touvé qu'il fallait les mettre dans le répertoire public. Où mettre le répertoire public ?


Solution


Il faut créer un répertoire qui se nomme public au même niveau que le fichier *.gwt.xml.
Dans mon exemple, c'est dans src/com/google/gwt/sample/stockwatcher que l'on crée le répertoire public (cf image ci-dessous).

Ensuite à l'exécution il sera automatiquement copié dans le war.Il suffira alors de modifier le fichier html pour lui indiquer où sont les ressources :


"<"link type="text/css" href="stockwatcher/css/start/jquery-ui-1.7.2.custom.css rel="Stylesheet"">"
"<"script type="text/javascript" language="javascript" src="stockwatcher/js/jquery-1.3.2.min.js""/" "<"script type="text/javascript" language="javascript" src="stockwatcher/js/jquery-ui-1.7.2.custom.min.js""/>"

Voici un exemple concret (cliquez pour agrandir) :



Google sort son système d'exploitation Chrome OS

Voici une nouvelle toute fraîche : Google vient de sortir en béta son système d'exploitation.
Cette OS est entièrement basé sur Internet et donc sur le navigateur Chrome.


- Chaque application est une application web.

- Démarrage instantanée de l'OS.

- Sécurité : Les données présentes sur le disque seront cryptées.


Le code source est disponible et des instructions permettent de le builder.Il ne reste plus qu'à l'étudier.A noter, c'est un projet open source !

Plus infos sur :
Article Developpez.com
Youtube
Chrome Project

jeudi 19 novembre 2009

Java 7 : les closures seront dans le jdk7 !

Une nouvelle surprenante est tombée à la conférence devoxx. (Alors que quelques temps auparavant, il avait été dit qu'elles n'y seraient pas ...). Les closures seront donc dans le jdk7.
Reste à savoir qu'elle sera la syntaxe de celle-ci.
Plusieurs prototypes existe ( liste ).Apparemment, c'est la proposition de Neal Gafter qui semble avoir le plus de chances ( Proposition de Neal Gafter).