Vidéo: Coisas que todo programador deveria saber - Web Services 2024
Amazon Web Services (AWS) initialement lancé avec le support SOAP pour les interactions avec son API, mais il a régulièrement déconseillé (réduit son support pour, en d'autres termes) son interface SOAP en faveur de REST. La meilleure recommandation pour toute utilisation de l'API AWS est que vous vous concentriez sur l'utilisation de REST.
De cette façon, vous ne finirez pas avec des programmes qui cessent un jour de fonctionner - longtemps après que vous ayez oublié les détails des mécanismes d'interaction. L'expérience de la tâche désagréable d'avoir à retourner dans un système et à tenter de reconstruire vos actions depuis des mois ou des années plus tôt est un malheureux.
Il n'y a aucun sens à tenter le sort avec AWS - si vous voulez interagir avec l'API AWS, utilisez REST, qui est la direction à long terme d'Amazon.
L'approche la plus ancienne, SOAP (abréviation de Simple Object Access Protocol), bénéficiait d'un large soutien de l'industrie, avec un ensemble complet de normes. Ces normes étaient trop complètes, malheureusement. Les concepteurs de SOAP l'ont configuré pour être extrêmement flexible - il peut communiquer à travers le web, le courrier électronique et les réseaux privés. Pour assurer la sécurité et la facilité de gestion, un certain nombre de normes de support qui intègrent SOAP ont également été définies.
SOAP est basé sur une norme d'encodage de documents connue sous le nom de XML (Extensible Markup Language), et le service SOAP est défini de telle manière que les utilisateurs peuvent tirer parti du XML, peu importe quel est le réseau de communication sous-jacent. Cependant, pour que ce système fonctionne, les données transférées par SOAP (communément appelées la charge utile ) doivent également être au format XML.
Remarquez un motif ici? La volonté d'être complet et flexible (ou, pour être tout pour tout le monde) plus l'exigence de charge utile XML signifiait que SOAP finissait par être assez complexe, ce qui en faisait beaucoup de travail à utiliser correctement. Comme vous pouvez le deviner, de nombreux informaticiens ont trouvé SOAP intimidant et, par conséquent, ont résisté à son utilisation.
Il y a une dizaine d'années, un doctorant a défini une autre approche des services Web dans le cadre de sa thèse: REST ou Representational State Transfer. REST, qui est beaucoup moins complet que SOAP, aspire à résoudre moins de problèmes. Il ne traite pas de certains aspects de SOAP qui semblaient importants mais qui, rétrospectivement, le rendaient plus complexe à utiliser - la sécurité, par exemple.
L'aspect le plus important de REST est qu'il est conçu pour s'intégrer aux protocoles Web standard afin que les services REST puissent être appelés avec des verbes et des URL Web standard. Par exemple, un appel REST valide ressemble à ceci:
// search.Exemple de société com / CompanyDirectory / EmployeeInfo? empname = BernardGolden
C'est tout ce qu'il faut pour faire une requête au service REST de la société examplecompany pour voir les informations personnelles. Le verbe HTTP qui accompagne cette requête est GET, demandant que les informations soient renvoyées. Pour supprimer des informations, vous utilisez le verbe DELETE. Pour insérer des informations, vous utilisez le verbe POST. Pour mettre à jour les informations, vous utilisez le verbe PUT.
Pour les actions POST et PUT, des informations supplémentaires accompagneraient le nom empname et seraient séparées par une esperluette (&) pour indiquer un autre argument à utiliser par le service.
REST n'impose aucune exigence de formatage particulière aux charges utiles de service; à cet égard, il diffère de SOAP, qui nécessite XML. Pour les interactions simples, une chaîne d'octets est tout ce dont vous avez besoin pour la charge utile; pour des interactions plus complexes (par exemple, en plus de renvoyer vos informations d'employé, vous voulez placer une requête pour les informations d'employés de tous les employés dont les noms commencent par G), la convention d'encodage JSON est utilisée. (JSON, si vous êtes curieux, est synonyme de notation d'objet Javascript.)
Comme vous pouvez vous y attendre, le modèle d'utilisation simplifiée de REST, son alignement avec les protocoles et verbes Web standard et sa mise en forme moins contraignante comme une maison en feu.