J'ai besoin d'apprendre les services Web en Java. Quels sont les différents types-t-il? [fermé]


Fermé. Cette question est basée sur l'opinion . Il n'accepte pas actuellement de réponses.

Vous voulez améliorer cette question? Mettez à jour la question afin qu'elle puisse être répondu avec des faits et des citations par éditer ce post .

Fermé il y a 7 ans.

Améliorer cette question

Récemment, j'ai décidé de commencer à apprendre sur les services Web java et quand j'ai commencé à rechercher un tutoriel pour les services Web java dans Google, j'ai découvert qu'il existe de nombreux types de webservices XML basé, SOAP basé, également RESTful webservices.

En outre, j'ai trouvé qu'il existe une spécification JAX-WS pour les services Web basés sur XML et une spécification JAX-RS pour créer des services Web RESTful.

Q1) Je suis confus, ce serait génial si quelqu'un pouvait m'aider à comprendre la différence entre ces différents types de webservices, afin que je puisse décider lequel apprendre en premier.

T2) Aussi, je veux apprendre en profondeur sur la création de différents types de services web en java. Est-il un tutoriel ou des ressources qui peuvent donner un aperçu de chaque type de service web et une comparaison entre eux.

Q3) en fonction de quels scénarios et conditions dois-je décider de créer un service Web basé sur XML plutôt qu'un service SOAP ou je devrais utiliser un service RESTful.

Author: ROMANIA_engineer, 2012-05-11

4 answers

  1. Les services Web SOAP sont basés sur des normes et pris en charge par presque toutes les plates-formes logicielles: Ils s'appuient fortement sur XML et prennent en charge les transactions, la sécurité, les messages asynchrones et de nombreux autres problèmes. C'est une norme assez grande et compliquée, mais couvre presque toutes les situations de messagerie. De l'autre côté, RESTful services s'appuie sur le protocole HTTP et les verbes (GET, POST, PUT, DELETE) pour échanger des messages dans n'importe quel format, JSON et XML préférables. C'est une jolie approche architecturale simple et élégante.
  2. Comme dans chaque sujet dans le monde Java, il existe plusieurs bibliothèques pour construire/consommer des services Web. Dans le SAVON Côté, vous avez la JAX-WS standard et Apache Axis, et dans le REPOS, vous pouvez utiliser Restlets ou REPOS du Ressort des Installations, parmi d'autres bibliothèques.

Avec la question 3, cet article indique que les services RESTful sont appropriés dans ces scénarios:

  • Si vous avez limité bande passante
  • Si vos opérations sont sans état: Aucune information n'est conservée d'une invocation à la suivante, et chaque requête est traitée indépendamment.
  • Si vos clients ont besoin de la mise en cache.

Alors que le SAVON est la voie à suivre quand:

  • Si vous avez besoin d'un traitement asynchrone
  • Si vous avez besoin d'un contrat/d'interfaces formels
  • Dans vos opérations de service sont avec état: par exemple, vous stockez des informations / données sur une demande et utilisez ces données stockées sur à la prochaine.
 142
Author: Carlos Gavidia-Calderon, 2013-12-20 14:35:20

Q1) Voici quelques choses à lire ou google plus :

Principales différences entre les services web SOAP et RESTful en java http://www.ajaxonomy.com/2008/xml/web-services-part-1-soap-vs-rest

C'est à vous de décider ce que vous voulez apprendre en premier. Je vous recommande de jeter un œil au cadre CXF. Vous pouvez créer les deux services rest/soap.

Q2) Voici quelques bons tutoriels pour soap (je les avais mis en signet) :

Http://united-coders.com/phillip-steffensen/developing-a-simple-soap-webservice-using-spring-301-and-apache-cxf-226

Http://www.benmccann.com/blog/web-services-tutorial-with-apache-cxf/

Http://www.mastertheboss.com/web-interfaces/337-apache-cxf-interceptors.html

La meilleure façon d'apprendre n'est pas seulement de lire des tutoriels. Mais vous devriez d'abord aller à travers des tutoriels pour obtenir une idée de base afin que vous puissiez voir que vous êtes capable de produire quelque chose (ou pas) et qui vous motiverait.

C'est donc un excellent moyen d'apprendre une technologie particulière (ou plus), les gens posent beaucoup de questions bizarres, et il y a toujours des réponses plus étranges. Mais dans l'ensemble, vous apprendrez comment résoudre les problèmes autrement. Peut-être que vous ne saviez pas de cette façon, peut-être que vous ne pouviez pas pensé par vous-même.

Abonnez-vous à quelques balises qui vous intéressent et soyez persistant, posez de bonnes questions et essayez de donner de bonnes réponses et je vous garantis que vous apprendrez ce que le temps passe (si vous êtes persistant qui est).

Q3) Vous devrez répondre à celui-ci vous-même. D'abord en décidant ce que vous allez construire, après tout, vous devrez penser à un mini-projet ou quelque chose et le prendre à partir de là.

Si vous décidez d'utiliser CXF comme cadre pour créer des services REST/SOAP, je vous recommande de consulter ce livre Apache CXF Web Service Development. C'est fantastique, pas difficile à lire et pas trop grand non plus (gagnant gagnant).

 13
Author: ant, 2017-05-23 12:10:35

Le SOAP WS prend en charge à la fois les appels de procédure distants (c'est-à-dire RPC) et les styles d'intégration de middle-ware orientés message (MOM). Le service Web Restful ne prend en charge que le style d'intégration RPC.

Le SOAP WS est neutre pour le protocole de transport. Prend en charge plusieurs protocoles tels que HTTP(S), Messagerie, TCP, UDP SMTP, etc. Le RESTE est spécifique au protocole de transport. Prend en charge uniquement les protocoles HTTP ou HTTPS.

Le SOAP WS autorise uniquement le format de données XML.Vous définissez les opérations, qui traversent le tunnel POST. L'accent est mis sur l'accès aux opérations nommées et l'exposition de la logique d'application en tant que service. Le RESTE permet plusieurs formats de données comme XML, données JSON, texte, HTML, etc. N'importe quel navigateur peut être utilisé car l'approche REST utilise les opérations Web standard GET, PUT, POST et DELETE. L'accent est mis sur l'accès aux ressources nommées et l'exposition des données en tant que service. REST a le support AJAX. Il peut utiliser l'objet XMLHttpRequest. Bon pour CRUD sans état (Créer, Lire, Mettre à jour et Supprimer) opérations. OBTENIR-représenter() POST-acceptereprésentation() METTRE-Stockerepresention() SUPPRIMER-removeRepresention ()

Les lectures basées sur SOAP ne peuvent pas être mises en cache. Les lectures basées sur REST peuvent être mises en cache. Effectue et échelles de mieux. SOAP WS prend en charge à la fois la sécurité SSL et WS-security, ce qui ajoute certaines fonctionnalités de sécurité d'entreprise, telles que le maintien de la sécurité jusqu'au point où elle est nécessaire, le maintien des identités via des intermédiaires et pas seulement point à point SSL uniquement, sécurisant différentes parties du message avec différents algorithmes de sécurité, etc. Le RESTE ne prend en charge que la sécurité SSL point à point. Le SSL crypte l'ensemble du message, qu'il soit sensible ou non. Le SOAP prend en charge à la fois la gestion des transactions basée sur ACID pour les transactions de courte durée et la gestion des transactions basée sur la rémunération pour les transactions de longue durée. Il prend également en charge la validation en deux phases sur les ressources distribuées. Le RESTE prend en charge transactions, mais il n'est pas conforme à ACID et ne peut pas fournir de validation en deux phases sur les ressources transactionnelles distribuées car il est limité par son protocole HTTP.

Le SOAP a une logique de réussite ou de nouvelle tentative intégrée et fournit une fiabilité de bout en bout, même par le biais d'intermédiaires SOAP. REST n'a pas de système de messagerie standard et s'attend à ce que les clients invoquant le service traitent les échecs de communication en réessayant.

Source http://java-success.blogspot.in/2012/02/java-web-services-interview-questions.html

 7
Author: murali, 2012-12-18 06:05:28

Si votre application utilise souvent le protocole http, REST est le meilleur en raison de son poids léger, et sachant que votre application utilise uniquement le protocole http en choisissant SOAP n'est pas si bon car il est lourd,Mieux vaut prendre une décision sur la sélection du service Web en fonction des protocoles que nous utilisons dans nos applications.

 0
Author: feel good and programming, 2013-03-25 17:49:13