Чим відрізняється веб-служба та API? Чи різниця більше, ніж протокол, який використовується для передачі даних? Дякую.
Чим відрізняється веб-служба та API? Чи різниця більше, ніж протокол, який використовується для передачі даних? Дякую.
Відповіді:
API (Application Programming Interface) - це засіб, за допомогою якого треті сторони можуть записувати код, який взаємодіє з іншим кодом. Веб-сервіс - це тип API, який майже завжди працює через HTTP (хоча деякі, як SOAP, можуть використовувати альтернативні перевезення, як SMTP). В офіційному визначенні W3C зазначається, що веб-сервіси не обов'язково використовують HTTP, але це майже завжди так і зазвичай передбачається, якщо не зазначено інше.
Приклади веб-служб, зокрема, див. SOAP , REST та XML-RPC . Для прикладу іншого типу API, написаного на C для використання на локальній машині, див . API Kernel Linux .
Що стосується протоколу, API веб-сервісу майже завжди використовує HTTP (звідси і веб-частина) і, безумовно, включає зв'язок по мережі. API взагалі можуть використовувати будь-які засоби комунікації, які вони бажають. Наприклад, API ядра Linux використовує Переривання для виклику системних викликів, що містять його API для викликів з простору користувача.
В основному, веб-сервіс - це метод зв'язку між двома машинами, тоді як API - це відкритий рівень, який дозволяє програмувати проти чогось.
Ви можете дуже добре мати API, і основний метод взаємодії з цим API - це через веб-сервіс.
Технічні визначення (надано Вікіпедією):
Інтерфейс програмування прикладних програм (API) - це набір процедур, структур даних, класів об'єктів та / або протоколів, що надаються бібліотеками та / або службами операційної системи з метою підтримки побудови програм.
Веб-сервіс (також Веб-сервіс) визначається W3C як "програмна система, розроблена для підтримки взаємодію машини-машини взаємодією по мережі"
У загальному сенсі Вебсервіс IS API через HTTP. Вони часто використовують JSON або XML, але є й інші підходи.
API - це опублікований інтерфейс, який визначає, як компонент A спілкується з компонентом B.
Наприклад, Doubleclick має опублікований Java API, який дозволяє користувачам допитувати таблиці баз даних, щоб отримати інформацію про свою рекламну кампанію в Інтернеті.
наприклад, дзвоніть GetNumberClicks (ім'я користувача)
Щоб реалізувати API, вам потрібно додати файл Doubleclick .jar до шляху вашого класу. Дзвінок місцевий.
Веб-сервіс - це форма API, де інтерфейс визначається за допомогою WSDL. Це дозволяє віддалений виклик інтерфейсу через HTTP.
Якби Doubleclick реалізував їх інтерфейс як веб-сервіс, вони використовували б щось на зразок Axis2, що працює в Tomcat.
Віддалений користувач закликав би веб-сервіс
наприклад, зателефонуйте GetNumberClicksWebService (ім'я користувача)
і служба GetNumberClicksWebService зателефонувала б на GetNumberClicks локально.
API (Application Programming Interface), сама повна форма підказує, що це інтерфейс, який дозволяє програмувати для вашої програми за допомогою або підтримки якогось іншого інтерфейсу програми, який відкриває певну функціональність, корисну для вашої програми.
Наприклад, що показує оновлені курси валют на вашому веб-сайті, потрібен інтерфейс третьої сторони для програмування, якщо ви не плануєте мати свою власну базу даних із курсами валют і регулярними оновленнями до них. Цей набір функціональних можливостей є, коли вони вже доступні для когось іншого, і коли вони хочуть поділитися ним з іншими, вони повинні мати кінцеву точку для спілкування з іншими, хто зацікавлений у таких взаємодіях, тому вони розгортають його в Інтернеті за допомогою веб- послуги. Ця кінцева точка - це не що інше, як інтерфейс їхнього застосування, який ви можете запрограмувати проти API.
Подумайте про веб-сервіс як веб-інтерфейс. API зараз є таким загальним терміном, тому веб-сервіс - це інтерфейс до функціональних можливостей, як правило, пов'язаних з бізнесом, до яких можна дістатися з мережі через різні протоколи.
Перевірте це http://en.wikipedia.org/wiki/Web_service
Як згадувалося посилання, тоді Web API - це розробка веб-сервісів, яка, швидше за все, стосується Web 2.0, тоді як послуги на основі SOAP замінюються комунікаціями на основі REST. Зауважте, що послуги REST не вимагають визначення API-API XML, SOAP або WSDL, тому це істотно відрізняється від традиційного веб-сервісу.
інший приклад: веб-сервіс api vs api vs google map api, в той час як колишній обслуговує (доставляє) файл JavaScript на сайт (який потім може бути використаний як api для створення нових функцій), пізніший - веб-сервіс "Відпочинок", що надає дані ( у форматі json або xml), який можна обробити (але не використовувати в api-сенсі).