Le support d'outillage et aussi la facilité de développement, a également parcouru un long chemin à partir de 2004. Avec l'accent mis sur les cadres légers (merci en partie au printemps), la mise en œuvre web les services en Java ne pourraient pas être plus faciles. Avant de décider de la mise en œuvre de services Web, vous devez répondre à une question simple. Savon ou REST.Je suggère que vous formez votre propre opinion, mais voici ce que je pouvais penser, sur le dessus de ma tête.
Pour de SOAP:
- support d'outillage excellent.
- Technologie la plus répandue.
- La norme JAX-WS est très mature.
- Facilité de développement. (Support d'annotation pour convertir un POJO en webservice).
- Exemple METRO, Axis ...
inconvénients de SOAP. (Demander à Roy Fielding ..)
- Bloated Protocole.
- La personnalisation du protocole est possible mais compliquée. (utilisant la liaison wsdl, etc.)
- Le client a besoin d'une bibliothèque complexe pour sérialiser et désérialiser les messages de savon.
- Les plateformes comme Android ne supportent pas nativement SOAP.
Après diatribe Roy Fielding sur les protocoles de services Web pléthorique webservices et il mettant en avant l'argument de bon sens pour utiliser l'os arrière internet pour SOA, il y avait un mouvement progressif vers REST. Des entreprises plus agiles comme Google et Amazon ont adopté REST et défendent la cause des services Web basés sur REST.
Pour de REST:
- protocole très léger.
- Principalement Basé sur HTTP et donc la plupart des clients savent comment consommer. (mais REST ne doit pas être HTTP).
- La gestion des erreurs et des idées comme Cache sont basées sur des technologies Internet éprouvées.
- Java possède d'excellentes bibliothèques REST. Le propre Jersey de Sun est une excellente implémentation de référence Jax-RS et il y a Restlet, Jboss Rest Framework et Spring REST (bien que non conforme à JAX-RS).
Moins de repos:
- support d'outillage relativement mauvais.
- Sécurité L'implémentation dans REST est légèrement difficile.
- La conception orientée ressources et la mise en œuvre pourraient être nouvelles pour certains programmeurs et architectes traditionnels.
Ma préférence est REST avec Jersey. C'est un cadre étonnant, un excellent support, une excellente documentation, de bonnes bibliothèques de support pour les tests.
Dans les deux cas, je vais télécharger l'EDI NetBeans et l'utiliser pour développer le code skeletol pour un service Web basé sur REST ou SOAP. Netbeans le rend très facile à démarrer. Une fois que vous êtes à l'aise avec le code, vous pouvez basculer vers votre IDE préféré. (En passant, je n'utilise pas Netbeans pour autre chose que le prototypage, il essaie de faire beaucoup et fait mal la plupart d'entre eux .. mon opinion de toute façon)
Voulez-vous dire les services Web comme dans les services pilotés par WSDL ou REST au sens strict, ou par les sites Web pilotés par Java? – justkt