Різниця між веб-API та веб-сервісом?


Відповіді:


86

Веб-сервіси - це стандарт, визначений 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.


1
дякую @Slawek, ти пояснив це краще ... і спасибі також за приклад ...
Harish Kurup

2
Насправді я чую, як люди називають SOAP та REST як "веб-сервіси". Веб-API, як правило, REST.
Бен Терлі

@Slawek, те, як ви сказали, що це 2000 сторінок проти декількох сторінок, саме по собі пояснює, що складність зменшена. Хороший спосіб сказати це просто ..
Jaqen H'ghar

20

Веб-сервіс дозволяє машинно здійснювати комунікацію через HTTP. Веб-API - це підмножина веб-служб, які використовують конвенції REST (узагальнення статті у Вікіпедії ). Поняття, безумовно, перетинаються. Я вважаю, що все ще існує посилання у веб-сервісі більшості людей -> SOAP / XML-RPC, що може зайво заплутати справи.

Зрештою, вам доведеться задати кілька питань, щоб уточнити, що означають люди. Не кожен робить відмінність або використовує терміни взаємозамінно.


Дякую u @Berin Loritsch, так, це правильно, це спричиняє плутанину між API та WS ..
Harish Kurup

6

Веб-сервіси - це визначена архітектура та підхід до проблемної області, як заявлено W3C .

Веб-сервіси надають стандартні засоби взаємодії між різними програмними програмами, що працюють на різних платформах та / або рамках

Веб-API - це концепція, яка резюмує засоби щодо її реалізації.

З точки зору неспеціалістів, веб-API - це мотор, тоді як WS - BMW N53 .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.