WSDL : Стенди для мови опису веб-служби
У SOAP (простий протокол доступу до об’єктів), коли ви використовуєте веб-сервіс та додаєте веб-сервіс до свого проекту, ваші клієнтські програми не знають про функції веб-сервісу. Сьогодні це якось старомодно, і для кожного виду різних клієнтів ви повинні реалізувати різні WSDL
файли. Наприклад, ви не можете використовувати один .Net
і той же файл для php
клієнта. У WSDL
файлі є деякі описи функцій веб-сервісу. Тип цього файлу є XML
. SOAP
є альтернативою для REST
.
REST : Підставки для передачі представницької держави
Це ще один вид сервісу API, він дійсно простий у використанні для клієнтів. Їм не потрібно мати спеціальне розширення WSDL
файлів, як файли. Операція CRUD може бути реалізована різними HTTP Verbs
(GET для читання, POST для створення, PUT або PATCH для оновлення та DELETE для видалення потрібного документа), вони засновані на HTTP
протоколі, і більшість випадків відповідь є JSON
або XML
форматом. З іншого боку, клієнтська програма повинна точно викликати пов'язані HTTP Verb
через точні назви параметрів імена та типи. Через відсутність спеціального файлу для визначення, наприклад WSDL
, це робота вручну з використанням кінцевої точки. Але це не велика справа, тому що зараз у нас є багато плагінів для різних IDE, щоб генерувати реалізацію на стороні клієнта.
SOA : Стенди сервісно орієнтованої архітектури
Включає все програмування з концепціями та архітектурою веб-служб. Уявіть, що ви хочете реалізувати масштабну програму. Однією з практик може бути наявність різних служб, які називаються мікропослугами, і весь механізм застосувань викликає необхідний веб-сервіс у потрібний час. Як REST
і SOAP
веб - сервіси є свого роду SOA
.
JSON : Підставки дляjavascript Object Notation
при серіалізації об’єкта для javascript тип формату об'єкта - JSON. уявіть, що у вас є людський клас:
class Human{
string Name;
string Family;
int Age;
}
і у вас є кілька примірників цього класу:
Human h1 = new Human(){
Name='Saman',
Family='Gholami',
Age=26
}
коли ви серіалізуєте h1-об’єкт до JSON, результат:
[h1:{Name:'saman',Family:'Gholami',Age:'26'}, ...]
javascript
може оцінити цей формат за eval()
функцією та зробити асоціативний масив із цього JSON
рядка. Це інше поняття порівняно з іншими поняттями, які я описав раніше.