1

Salut,
Je dois coder des web-services en JAVA.
Or je n'ai pas trop d'expérience dans le domaine... Pour commencer, quel serveur – gratuit – conseillez-vous ? (je travaille sous Eclipse, s'il y a un plugin d'intégration c'est pas plus mal cheeky)
Merci d'avance ^^

2

Si tu utilises Java 5, il y a un framework sympa qui permet de créer "facilement" un webservice. Ca s'appelle apache CXF, et on trouve quelques tutos sympas sur le net. L'avantage, c'est que ça te permet de ne pas avoir de WSDL, donc pas de fichiers générés, du coup, tu peux les modifier comme tu veux...

Mais vu que ce n'est pas (encore ?) la question... Tomcat a ce qu'il faut pour lancer des webservices. En ce qui me concerne, je suis plutot pour les serveur JBoss, mais ce n'est pas une opinion "objective", vu que je ne travaille qu'avec eux...
Rest... In... Peace

3

Ne pas avoir de WSDL ? et pour l'interopérabilité ça se passe comment ? (mon web service doit pouvoir être appelé depuis n'importe quelle technologie langage)

Et GlassFish/Metro tu en penses quoi ? As-tu un avis ? J'ai effectué quelques tests mais rien de bien concluant pour l'instant (en fait j'ai pas réussi à aller jusqu'au bout triso)

Est-ce qu'un serveur semble avoir plus d'avenir que les autres ?

4

Bah en fait, il y a un WSDL, mais il est généré à la volée. Du coup, au lieu de générer tes beans, interfaces, etc à partir du WSDL, tu te retrouves avec l'inverse... ce sont tes interfaces et objets qui vont créer le WSDL ^^. Du coup, coté interopérabilité toussah, il n'y a pas de soucis smile

GlassFish, j'avais participé à une présentation, ça avait l'air génial, mais lorsque je l'ai installé chez moi, c'était purement incompréhensible... Du coup, je l'ai désinstallé et je suis repassé sous JBoss ^^

Un serveur qui aura plus d'avenir que les autres... Je ne pense pas, j'ai l'impression que tous les serveurs se valent, mais ils ont tous les points forts et leurs points faibles... Personnellement, je suis plutot JBoss car il est simple à installer, simple à lancer et surtout, vu que je suis un grand fan du framework JBoss Seam, je me dis qu'ils ont dû l'optimiser pour JBoss, ce qui serait "normal" ^^
Mais peut-être qu'un jour, je me mettrais plus sérieusement à GlassFish (qui a comme gros avantage de démarrer en 14s chrono et de supporter Jboss Seam) et je le trouverais sans doute meilleure que JBoss ^^
Rest... In... Peace

5

Pour un de nos projet on a commencé à utiliser ca : http://ws.apache.org/axis2/
Et on utilisait la technique décrite par CoppeR: à partir de beans java ca génère le wsdl.
Jusqu'au jour où on a trouvé un bug dans Axis, corrigé dans une version supérieure, on upgrade Axis, et patatra le nouveau wsdl généré est pas backward compatible avec l'ancien...
Puis on a découvert ca : http://static.springsource.org/spring-ws/sites/1.5/
Et surtout cette page : http://static.springsource.org/spring-ws/sites/1.5/reference/html/why-contract-first.html A LIRE !
Du coup on utilise maintenant spring-ws et c'est beaucoup plus facile à gérer:
* on écrit les xsd qui décrivent les xml des requêtes et réponse soap => on controle de A à Z l'API
* on fait générer des bean java à partir de ces xsd : on a choisi la techno jaxb mais y'en a aussi plein d'autre (xmlbeans, castor, etc...)
* on fait générer le wsdl par spring-ws à partir de ces xsd : spring nous ajoute toute la glue SOAP autour de nos xsd
* on code les parties métier dans des beans "endpoint" où y'a juste à implémenter la fonction invokeInternal :
protected Object invokeInternal(Object request) throws Exception {
        MyXMLRequest request = (MyXMLRequest) request; // bean java généré à partir de la xsd de la requête
        .....
        MyXMLRsponse response = ..... // bean java généré à partir de la xsd de la réponse
        return response;
    }


Et aussi nous on n'aime pas trop toutes les extensions J2EE qui font que ce que tu développes ne tourne que dans un certain type de server J2EE (même si c'est pas vrai en théorie, en pratique si...). Donc on aime bien Spring qui n'a besoin que de l'API servlet et qui est donc déployable dans n'importe quel container.
Et comme on utilise très peu de J2EE, on utilise le server qui en a le moins par default : jetty. Et il démarre en 2/3 secondes.

6

Merci, je regarderai tout ça lundi ^^

Perso je viens de trouver et tester avec succès ce screencast pour glassfish v2.1/eclipse 3.5 (j'avais déjà plus ou moins essayé un truc dans le même genre avec glassfish v3/metro et ça ne fonctionnait pas :/)

7

Coder un webservice java a l'air d'une simplicité époustouflante cheeky
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

8

Oui et non, le problème est toujours le même quand on en est au choix des outils tongue
Si tu regardes le screencast de ./6, c'est en fait très facile hehe