Я багато чув про веб-сервіси та веб-API, чи є різниця між ними чи вони однакові?
Я багато чув про веб-сервіси та веб-API, чи є різниця між ними чи вони однакові?
Відповіді:
Веб-сервіси - це стандарт, визначений W3C, тому доступ до них можна отримати напівавтоматично або автоматично (WSDL / UDDI). Вся справа заснована на XML, тому кожен може її назвати. І кожен аспект послуги дуже чітко визначений. Там є стандарт опису параметрів, стандарт проходження параметрів, стандарт відповіді, стандарт виявлення тощо. Ви, ймовірно, можете написати 2000 сторінок книги, які описували б стандарт. Існують навіть деякі "додаткові" стандарти для "стандартних" речей, як-от автентифікація.
Незважаючи на те, що автоматичне виклик та виявлення ледве працює, оскільки клієнти досить бідні, і у вас немає реальної гарантії того, що будь-яку послугу можна викликати від будь-якого клієнта.
Веб-API зазвичай робиться як HTTP / REST, нічого не визначено, вихід може бути, наприклад, JSON / XML, вхід може бути XML / JSON / або звичайними даними. Немає стандартів для нічого => немає автоматичного виклику та виявлення. Ви можете надати деякий опис у текстовому файлі чи PDF, ви можете повернути дані в Windows-1250 замість unicode і т. Д. Для опису стандарту це буде брошура на 2 сторінки з простою інформацією, і ви визначите все інше.
Web переходить на Web API / REST. Веб-сервіси насправді не краще, ніж Web API. Дуже складно розвиватись, і вони їдять набагато більше ресурсів (пропускна здатність та оперативна пам’ять) ... і тому, що всі перетворення даних (ЗАПИТАННЯ> XML-> ДАНІ-> ЗАВДАННЯ-> XML-> ОЦІНКАВАННЯ-> КОНВЕРСІЯ>> ДАНІ) дуже повільний.
Напр. У WebAPI ви можете запакувати дані, надіслати їх стиснутими та розтисненими + розпакувати на клієнті. У SOAP ви можете стиснути лише запит HTML.
Веб-сервіс дозволяє машинно здійснювати комунікацію через HTTP. Веб-API - це підмножина веб-служб, які використовують конвенції REST (узагальнення статті у Вікіпедії ). Поняття, безумовно, перетинаються. Я вважаю, що все ще існує посилання у веб-сервісі більшості людей -> SOAP / XML-RPC, що може зайво заплутати справи.
Зрештою, вам доведеться задати кілька питань, щоб уточнити, що означають люди. Не кожен робить відмінність або використовує терміни взаємозамінно.
Веб-сервіси - це визначена архітектура та підхід до проблемної області, як заявлено W3C .
Веб-сервіси надають стандартні засоби взаємодії між різними програмними програмами, що працюють на різних платформах та / або рамках
Веб-API - це концепція, яка резюмує засоби щодо її реалізації.
З точки зору неспеціалістів, веб-API - це мотор, тоді як WS - BMW N53 .