Rechercher

Web Services : Les Six points clés que vous deviez savoir.

En tant que développeur Java d'entreprise, vous passerez plus de temps à intégrer des systèmes via les services Web et la messagerie Java. Les concepts de base des web services Java sont indispensables aux développeurs Java.


#1 : Les différents styles de web services utilisés aujourd’hui pour intégrer les applications sont SOAP Web Service et RESTful Web Service. Les services Web sont très populaires et largement utilisés pour intégrer des systèmes similaires (applications Java) et disparates (applications anciennes et applications écrites en .Net, etc.) car ils sont indépendants du langage.







Lequel à privilégier? En général, un service Web basé sur REST est préféré en raison de sa simplicité, de ses performances, de son évolutivité et de la prise en charge de plusieurs formats de données. SOAP est privilégié lorsque le service nécessite une prise en charge complète de la sécurité et de la fiabilité transactionnelle.

Une bonne architecture SOA concerne davantage RESTFul + JSON, privilégiant les approches plus légères pour la transmission des messages que les ESB lourds utilisant WSDL + XML qui ont donné une mauvaise réputation à SOA.


2 # Différence entre SOA (Service Oriented Architecture) et WOA (Web Oriented Architecture)


WOA étend l'architecture SOA à une architecture légère utilisant des technologies telles que REST et POX (Plain Old XML). POX complimente REST. JSON est une variante pour les données renvoyées par les services Web REST. Il consomme moins de bande passante et est facilement manipulé par les développeurs Web maîtrisant le langage Javascript.




SOA et WOA diffèrent en termes de couches d'abstraction. La SOA est un style architectural au niveau système qui tente d'exposer les fonctionnalités métier de manière à ce qu'elles puissent être utilisées par de nombreuses applications. WOA est un style architectural de niveau interface qui met l'accent sur les moyens par lesquels ces fonctionnalités de service sont exposées aux consommateurs. Vous pouvez commencer avec une WOA puis évoluer vers la SOA.




Selon Nick Gall, «WOA = SOA + REST + WWW». Dans le diagramme ci-dessus du niveau Service Orchestration, responsable du découplage des services,


Pour la SOA =>, vous créerez des services Web de style SOAP dans le «niveau de service».


Pour la WOA =>, vous allez créer des services Web de style REST plus légers dans le «niveau de service».


3 # : Quel style de service Web à utiliser? SOAP WS ou REST ?


En général, un service Web basé sur REST est préféré en raison de sa simplicité, de ses performances, de son évolutivité et de la prise en charge de plusieurs formats de données. SOAP est privilégié lorsque le service nécessite une prise en charge complète de la sécurité et de la fiabilité transactionnelle.

La réponse dépend vraiment des exigences fonctionnelles et non fonctionnelles. Poser les questions énumérées ci-dessous vous aidera à choisir :


1) Le service expose-t-il des données ou une logique métier? (REST est un meilleur choix pour exposer des données, SOAP WS pourrait être un meilleur choix pour la logique).


2) Les consommateurs et les fournisseurs de services ont-ils besoin d'un contrat formel? (SOAP a un contrat formel via WSDL).


3) Devons-nous prendre en charge plusieurs formats de données?


4) Faut-il faire des appels AJAX? (REST peut utiliser XMLHttpRequest).


5) L'appel est-il synchrone ou asynchrone?


6) L’appel a-t-il un état ou est-il stateless ? (REST convient aux opérations CRUD stateless).


7) Quel niveau de sécurité est requis? (SOAP WS supporte mieux la sécurité).


8) Quel niveau de support de transaction est requis? (SOAP WS prend mieux en charge la gestion des transactions).


9) Avons-nous une largeur de bande limitée? (SOAP est plus bavard).


10) Quel est le meilleur choix pour les développeurs qui créer des clients pour le service?

(REST est plus facile à implémenter, à tester et à maintenir).


4# : Quels outils utilisez-vous pour tester vos services Web?


Outil SoapUI pour les tests de services Web SOAP WS & RESTFull et sur le navigateur le plug-in «poster» de Firefox ou l’extension «Postman» de Google Chrome pour les services RESTFull.


5# : Pourquoi ne pas privilégier les middlewares traditionnels tels que RPC, CORBA, RMI et DCOM plutôt que les services Web?


Les middlewares intermédiaires traditionnels créent un couplage fort aux applications. Les applications avec un couplage fort sont difficiles à maintenir et moins réutilisables. Généralement, ne supportent pas l’hétérogénéité, ne fonctionnent pas sur Internet et peut être plus coûteux et difficiles à utiliser.


Les services Web sont moins couplés aux applications. L'interface du service Web fournit une couche d'abstraction entre le client et le serveur. Les applications faiblement couplées réduisent les coûts de maintenance et augmentent la possibilité de réutilisation. Les services Web présentent une nouvelle forme de middleware basée sur XML et le Web. Les services Web sont indépendants du langage et de la plateforme. Vous pouvez développer un service Web en utilisant n’importe quel langage et le déployer sur n’importe quelle plate-forme, du petit appareil au plus grand supercalculateur. Le service Web utilise des protocoles indépendants du langage, tels que HTTP, et permet la communication entre différentes applications en passant des messages XML ou JSON via une API Web. Fonctionnent mieux sur Internet, moins cher et plus facile à utiliser.


6# : Quelle est la différence entre SOA et un service Web?


La SOA est un principe de conception de logiciel et un modèle architectural permettant de mettre en œuvre des services à faible couplage et réutilisables. Vous pouvez implémenter SOA à l'aide de protocoles tels que HTTP, HTTPS, JMS, SMTP, RMI, IIOP (c'est-à-dire que EJB utilise IIOP), RPC, etc. Les messages peuvent être au format XML ou DTO (Data Transfer Objects).


Le service Web est une technologie d'implémentation et l'un des moyens d'implémenter la SOA. Vous pouvez créer des applications SOA sans utiliser de services Web - par exemple, en utilisant d'autres technologies traditionnelles telles que Java RMI, EJB, messagerie basée sur JMS, etc. Mais les services Web sont des services basés sur des normes et indépendants de la plateforme via HTTP, XML, SOAP , WSDL et UDDI, permettant ainsi l’interopérabilité entre des technologies hétérogènes telles que J2EE et .NET.

0 vue

#Suivez-Nous

+213560764957

©2020 by DIGITAL GROWING.