WSDL : signifie langage de description de service Web
Dans SOAP (Simple Object Access Protocol), lorsque vous utilisez un service Web et ajoutez un service Web à votre projet, vos applications clientes ne connaissent pas les fonctions du service Web. De nos jours, c'est en quelque sorte démodé et pour chaque type de client différent, vous devez implémenter différents WSDLfichiers. Par exemple, vous ne pouvez pas utiliser le même fichier pour .Netet phpclient. Le WSDLfichier contient quelques descriptions sur les fonctions du service Web. Le type de ce fichier est XML. SOAPest une alternative pour REST.
REST : signifie transfert d'état de représentation
C'est un autre type de service API, il est vraiment facile à utiliser pour les clients. Ils n'ont pas besoin d'avoir une extension de fichier spéciale comme les WSDLfichiers. L'opération CRUD peut être implémentée par différents HTTP Verbs(GET pour la lecture, POST pour la création, PUT ou PATCH pour la mise à jour et DELETE pour la suppression du document souhaité), elles sont basées sur le HTTPprotocole et la plupart du temps la réponse est au format JSONou au XMLformat. D'autre part, l'application cliente doit appeler exactement les HTTP Verbnoms et types de paramètres associés . En raison de l'absence de fichier spécial pour la définition, par exemple WSDL, il s'agit d'un travail manuel utilisant le point de terminaison. Mais ce n'est pas un gros problème car nous avons maintenant beaucoup de plugins pour différents IDE pour générer l'implémentation côté client.
SOA : Stands for Service Oriented Architecture
Comprend toute la programmation avec les concepts et l'architecture des services Web. Imaginez que vous souhaitiez implémenter une application à grande échelle. Une pratique peut être d'avoir différents services, appelés micro-services et l'ensemble du mécanisme d'application appellerait le service Web nécessaire au bon moment. Les deux RESTet SOAPles services Web sont en quelque sorte SOA.
JSON : signifiejavascript Object Notation 
lorsque vous sérialisez un objet pour javascript, le type de format d'objet est JSON. imaginez que vous avez la classe humaine:
class Human{
 string Name;
 string Family;
 int Age;
}
et vous avez quelques instances de cette classe:
Human h1 = new Human(){
  Name='Saman',
  Family='Gholami',
  Age=26
}
lorsque vous sérialisez l'objet h1 en JSON, le résultat est:
  [h1:{Name:'saman',Family:'Gholami',Age:'26'}, ...]
javascriptpeut évaluer ce format par eval()fonction et créer un tableau associatif à partir de cette JSONchaîne. Celui-ci est un concept différent par rapport aux autres concepts que j'ai décrits précédemment.