Що таке "веб-сервіс" у звичайній англійській мові?


186

Я читав про "веб-сервіси" тут, у SO, у Вікіпедії, Google тощо, і не зовсім розумію, що вони є. Що таке звичайне англійське визначення / опис?

Якщо я зробити простий веб-сайт за допомогою PHP, який просто, скажімо, друкує випадкове ціле число на сторінку ... це "веб-сервіс"? Якщо ні, то чому б ні?

Відповіді:


286

Просте визначення: Веб-служба - це функція, доступ до якої можуть отримати інші програми через Інтернет (HTTP).

Наприклад, коли ви створюєте веб-сайт у PHP, який виводить HTML, його ціль - браузер, а розширення людиною читає сторінку в браузері. Веб-сервіс орієнтований не на людей, а на інші програми.

Отже, ваш PHP-сайт, який генерує випадкове ціле число, може бути веб-службою, якщо він виводить ціле число у форматі, який може споживати інша програма. Це може бути у форматі XML або іншому форматі, якщо інші програми можуть зрозуміти вихід.

Повне визначення, очевидно, складніше, але ви попросили звичайну англійську.


2
Це пояснення добре, але що порушує можливість споживання випадкового цілого числа іншою програмою з HTML? Існує багато бібліотек для читання HTML, і для мене це те саме, що читати XML, і майже те саме, що читати JSON. Я знаю цей пост дуже старий, хоча прокоментуйте, будь ласка, якщо це можливо.
Павло

7
Це вже питання, а не здатність. Наміром веб-сервісу є використання інших програм. Намір html - видати веб-переглядачу користувачеві.
Вінсент Рамдані

для всіх, хто відчуває, що це звучить дуже схоже на API - дивіться цю чудову статтю про відмінності між веб-сервісом та api
Самі Бірнбаум

60

Спрощене, нетехнічне пояснення: веб-серія дозволяє ПРОГРАММІ спілкуватися з веб-сторінкою, а не використовувати браузер для відкриття веб-сторінки.

Приклад: я можу зайти на maps.google.com та ввести свою домашню адресу та побачити карту, де я живу у своєму браузері.

Але що робити, якщо ви писали комп’ютерну програму, де хотіли взяти адресу і показати гарну карту, як і карти Google?

Ну, ви можете написати абсолютно нову програму картографування з нуля, АБО ви можете зателефонувати в веб-службу, яку надає Google Maps, надіслати їй адресу, і вона поверне графічну карту розташування, яку ви можете відобразити у вашій програмі.

Тут є набагато більше, оскільки входять інші публікації, але підсумок полягає в тому, що вона дозволяє вашій програмі або отримувати інформацію ВІД, або подавати інформацію на якийсь ресурс. Деякі інші приклади:

  1. Ви можете використовувати веб-сервіс для отримання інформації про книги на Amazon.com
  2. Ви можете скористатися подібною веб-службою, щоб подати замовлення на Amazon.com
  3. Ви можете СТВОРИТИ веб-службу, щоб дозволити стороннім додаткам дізнаватися про інформацію про товар у Вашій компанії
  4. ви можете створити веб-службу, яка дозволить стороннім програмам подавати замовлення у вашу компанію.

34

Так, це простий веб-сервіс.

Веб-сервіси насправді є не що інше, як механізм запиту / відповіді, що дозволяє клієнту віддалено отримувати доступ / змінювати дані. Існують офіційні стандарти для веб-служб (SOAP, SOA тощо), але ваша проста сторінка - це також послуга.

Основним недоліком друку його на сторінці є те, що ваша служба поверне HTML. Переважними форматами даних є JSON та XML, оскільки більшість клієнтських фреймворків (і серверних фреймворків) розроблені навколо використання JSON та XML.

Тож якщо ви змінили службу, щоб повернутися:

<RANDOM>some random number</RANDOM>

а не:

<HEAD>...</HEAD>  
<BODY>some random number</BODY>

тоді було б корисніше більшості клієнтів


Я оновив свою відповідь, щоб це відобразити. У вас виникли проблеми з тим, що не відображаються вкладки XML / HTML :)
David Arno

Дякую. Саме про це я думаю. XML дуже схожий на HTML, тому HTML-сторінку, про яку ми говоримо, надає веб-сервіс.
Павло

21

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

Стандартні веб-сервіси використовують протокол SOAP, який визначає зв'язок та структуру повідомлень, а XML - формат даних.

Веб-сервіси розроблені так, щоб програми, побудовані за допомогою різних технологій, без проблем спілкувалися між собою.

Прикладами веб-служб є такі речі, як Weather.com, що надає інформацію про погоду, яку ви можете використовувати на своєму веб-сайті, або UPS, що надає спосіб запиту пропозицій про доставку або відстеження пакетів.

Редагувати

Змінено формулювання стосовно посилання на SOAP, оскільки це не завжди SOAP, як я вже згадував, але хотів зробити це більш зрозумілим. Ключ - надання даних як послуги, а не елемента інтерфейсу користувача.


1
Це не повинно бути SOAP - якщо ви говорите про веб-сервіси (малі), то REST все частіше зустрічається.
Джон Топлі

17

Веб-сервіс відрізняється від веб-сайту тим, що веб-служба надає інформацію, що споживається програмним забезпеченням, а не людьми. Як результат, ми зазвичай говоримо про відкриті послуги JSON , XML або SOAP.

Веб-сервіси є ключовою складовою в «машах». Збірки - це коли інформація з багатьох веб-сайтів автоматично агрегується в нову і корисну послугу. Наприклад, є веб-сайти, які об’єднують Карти Google з інформацією про поліцейські звіти, щоб дати вам графічне зображення злочинів у вашому районі. Іншим типом мешупу було б взяти реальні дані про акції, надані іншим сайтом, і поєднати їх з підробленою торговою програмою для створення фондової "гри".

Веб-сервіси також використовуються для надання новин (див. RSS), останніх елементів, доданих на сайт, інформації про нові продукти, подкастів та інших чудових функцій, які роблять сучасний веб-поворот.

Сподіваюся, це допомагає!


15

Найкраще пояснення англійською мовою - це використання аналогії:

  • Веб-сторінки дозволяють людям спілкуватися та співпрацювати між собою.
  • Веб-сервіси дозволяють програмам спілкуватися та співпрацювати між собою.

Ваш приклад PHP - це веб-сервіс за цим визначенням, оскільки вихід може використовуватися іншою програмою. Але насправді HTML-скреготування екрана - це не надійний чи бездоганний спосіб створення веб-служб.


13

Для більшості сайтів у вас є HTML-сторінки, які ви відвідуєте під час використання свого браузера. Це читабельні людиною сторінки (колись вони відображаються у вашому браузері), де багато даних може бути забито разом, оскільки це має сенс для людей.

А тепер уявіть, що хтось ще хоче використати деякі з цих даних. Вони можуть завантажити вашу сторінку і почати фільтрувати весь «шум», щоб отримати потрібні дані, але більшість веб-сайтів не побудовані таким чином, щоб дані на 100% були впевнені, щоб їх розміщували в одному місці для всіх елементів, тому на додачу бути громіздким він також стає ненадійним.

Введіть веб-сервіси.

Веб-сервіс - це те, що веб-сайт вирішує запропонувати тим, хто бажає читати, оновлювати та / або видаляти дані з вашого веб-сайту. Ви можете назвати це "заднім кутом" для ваших даних. Замість того, щоб представляти дані як частину веб-сторінки, вони надаються заздалегідь визначеним способом, де однією з найбільш популярних є XML та JSON. Існує кілька способів спілкування з веб-сервісом, деякі використовують SOAP, а інші мають REST'ful веб-сервіси тощо.

Спільним для всіх веб-сервісів є те, що вони є машиночитаним еквівалентом веб-сторінок, які веб-сайт пропонує інакше. Це означає, що інші, хто бажає використовувати ці дані, можуть надіслати запит на повернення певних даних, які легко проаналізувати та використовувати. Деякі сайти можуть вимагати, щоб ви вказали ім’я користувача / пароль у запиті для конфіденційних даних, тоді як інші сайти дозволяють будь-кому витягти будь-які дані, які вони можуть знадобитися.


12

Веб-сервіс - це сукупність відкритих протоколів та стандартів, що використовуються для обміну даними між додатками чи системами. Програмні програми, написані на різних мовах програмування та працюють на різних платформах, можуть використовувати веб-сервіси для обміну даними через комп'ютерні мережі, як-от Інтернет, таким чином, як міжпроцесорне спілкування на одному комп’ютері. Ця сумісність (наприклад, між Java та Python або програмами Windows та Linux) обумовлена ​​використанням відкритих стандартів (XML, SOAP, HTTP).

Всі стандартні веб-сервіси працюють з використанням наступних компонентів:

  • SOAP (Простий протокол доступу до об’єктів)
  • UDDI (Універсальний опис, відкриття та інтеграція)
  • WSDL (Мова опису веб-служб)

Це працює приблизно так:

  • Клієнтська програма поєднує інформацію про реєстрацію облікового запису в SOAP-повідомлення.
  • Це повідомлення SOAP надсилається Веб-службі як тіло запиту HTTP POST.
  • Веб-служба розпаковує запит SOAP і перетворює його в команду, яку програма може зрозуміти.
  • Додаток обробляє інформацію за потребою та відповідає новим унікальним номером рахунку для цього замовника.
  • Далі Веб-служба пакує відповідь у інше повідомлення SOAP, яке воно надсилає назад клієнтській програмі у відповідь на його HTTP-запит.
  • Клієнтська програма розпаковує повідомлення SOAP, щоб отримати результати процесу реєстрації облікового запису.

1
" Всі стандартні веб-сервіси працюють з використанням наступних компонентів: " ... проблема з цією відповіддю полягає в тому, що це дозволяє припустити, що веб-служби роблять або повинні працювати в механізмі SOAP / WSDL. Це неточно. Представницький державний трансфер (REST) ​​- ще одна дуже популярна парадигма впровадження веб-служб. Деякі основні веб-сайти втратили свої послуги SOAP на користь веб-сервісів REST.
scottb

@scottb Я повністю згоден. Дякуємо за оновлення. Крім того, на мій захист мої знання про веб-сервіси тоді були дуже обмеженими!
vanguard69

7

Simple way to explain web service is ::

  • Веб-сервіс - це метод зв'язку між двома електронними пристроями через всесвітню павутину.
  • Це можна назвати процесом, який програміст використовує для спілкування з сервером
  • Для виклику цього процесу програміст може використовувати SOAP тощо
  • Веб-сервіси побудовані на основі відкритих стандартів, таких як TCP / IP, HTTP

Перевагою веб-сервісу є, скажімо, ви розробляєте один фрагмент коду в .net, і ви хочете використовувати JAVA для споживання цього коду. Ви можете безпосередньо взаємодіяти з абстрагованим шаром і не знаєте, яку технологію використовували для розробки коду.


Зображення


7

Веб-сервіс - це технологія, за допомогою якої два чи більше віддалених веб-додатків взаємодіють між собою через мережу / Інтернет. Він може бути реалізований за допомогою Java, .net, PHP тощо.

Особливості веб-сервісу: -

  1. За допомогою веб-служб дві або більше системи обмінюються даними по мережі. Дані обмінюються або за допомогою XML або JSON.
  2. Будь-яка веб-служба має дві частини серверного кінця, де служба розгорнута, і клієнтську частину, до якої до неї звертаються клієнти. Будь-яка веб-служба може мати декількох клієнтів. Коли туристичний портал продає квитки авіакомпанії. Портал - клієнт, а авіакомпанія - сервер, коли продає свою послугу.
  3. Веб-сервіси можуть бути синхронними або також асинхронними. Веб-додаток може взаємодіяти з багатьма веб-сервісами але ці веб-служби слабко поєднуються з веб-додатками їх клієнтів. Це означає, що будь-які зміни в батьківській програмі мало або взагалі не впливають на веб-сервіси або навпаки.
  4. Веб-сервіси можуть містити вкладений документ також, як PDF, Word і т.д. Java надає окремий API для цього типу веб-сервісів.
  5. Веб-сервіс завжди приховує внутрішню складність послуги перед своїми клієнтами. Наприклад, авіалайнер, який продає квитки через сторонній портал, збирає інформацію лише для кінцевих користувачів через веб-сервіс, а натомість надає квиток. Портал, який продає квитки, не повинен турбуватися про внутрішню складність систем бронювання авіаквитків.
  6. Веб-сервіс може бути відкритим та забутим, або він може щось повернути. Припустимо, веб-додаток просто хоче надіслати деяку інформацію сторонній програмі. Відправник не потребує підтвердження від одержувача. У такому типі сценаріїв нам потрібен тип пожежної та забутої веб-служби.

5

Веб-сервіс, як використовується розробниками програмного забезпечення, як правило, відноситься до операції, яка виконується на віддаленому сервері і викликається за допомогою специфікації XML / SOAP. Як і у всіх визначеннях, в цьому є нюанси, але це найпоширеніше використання терміна.


1
Вибачте, Єзелль, що довелося кинути протиріччя. Це не те, що я вважав би "простою англійською" :( у мене немає проблеми з наміром вашого визначення, але використання таких слів, як "операція", "віддалений сервер", "викликаний" та "специфікація", робить це важким для початківців зрозуміти. Дивіться відповіді продавців Mitchel як приклад "простої англійської мови"
Dhaust

5

Операційна система забезпечує графічний інтерфейс (та CLI), з яким ви можете взаємодіяти. Він також пропонує API, з яким можна взаємодіяти програмно.

Так само веб-сайт надає HTML-сторінки, з якими можна взаємодіяти, а також може надавати API, який пропонує ту саму інформацію та операції програмно. Або ці сервіси можуть бути доступні лише через API без асоційованого інтерфейсу користувача.


4

Ну,

Як сказав @Vincent Ramdhanie, веб-сервіс призначений не для того, щоб його бачив / споживав кінцевий користувач, а інша програма. Тож технічно логіка у вашій програмі буде такою:

У разі виступу як нормальної програми

user on website -> HTML/JS/JQuery etc -> give me a random number ->ur program

Тепер

ur program -> generate random number -> generate HTML and encapsulate o/p -> go back to user

але у випадку веб-сервісу потік трохи змінюється:

user -> my application -> XML/JSON/some other format -> give me a random number ->ur program Тепер

ur program -> generate random number -> generate XML/JSON/some other format -> my application -> generate HTML and encapsulate o/p -> go back to user

Сподіваюся, це допомагає :)


3

Просте визначення буде запитом HTTP, який діє як звичайний виклик методу; тобто він приймає параметри і повертає структурований результат, як правило, XML, який можна десеріалізувати в об'єкт (и).


3

Веб-сервіси майже як звичайна веб-сторінка. Різниця полягає в тому, що вони відформатовані, щоб програмі було дуже легко витягувати дані зі сторінки, до того, що, ймовірно, не використовується жоден HTML. Вони, як правило, є більш надійними щодо узгодженості формату, можуть використовувати інший формальний процес для визначення вмісту такого мила або сировини xml, і часто існує також документ-дескриптор, який формально визначає структуру даних.


3

Спосіб відправлення повідомлення для виклику операції на іншому комп’ютері. Різниця між веб-сервісами та попередніми методами полягає в тому, що надсилання через провід стандартизовано на більш високому рівні.

Старий спосіб: опишіть ендіанців, кодування, номери портів тощо. Веб-сервіс: URL, XML


3

Веб-сервіс - це наче середовище зв'язку між двома незв'язаними програмами. Програми використовують зазначений протокол (як правило, Простий протокол доступу до об’єктів (SOAP) ) як носій, щоб зрозуміти, який ЗАПИТАННЯ / ВІДПОВІДЬ вони обробляють / виконують на відповідному кінці.


2

Веб-служба визначає договір дій, який виконує сервер для вас. Формат і протокол насправді не мають значення, але ви повинні мати певне визначення того, як відбувається спілкування.

У вашому прикладі це залежить, якщо це буде використано в іншій програмі, яка читає це число, так, це сервіс, інакше це просто веб-сторінка з номером.


1

Простими словами, Веб-сервіс може бути будь-якою простою програмою, наприклад: додайте два числа, які повинні бути опубліковані через UDDI і які можуть бути використані іншою програмою.


0

"Веб-сервіс" складається з двох слів: "Веб" та "Сервіс".
Що таке "Інтернет"? "Web" означає "World Wide Web".
"Служба" для чого? Якщо не так, це "Веб-сторінка", наприклад текст, зображення, відео тощо
. Програми можуть спілкуватися через Інтернет за тією ж технологією, що і "Веб", наприклад, TCP, HTTP тощо.
"Сервіс" також означає, що вона надає деякі функції, наприклад, "Layer Service" в CRUD. В основному це два типи:
1. SOAP (Простий протокол доступу до об'єктів)
2. RESTful (Передача стану передачі)


0

Без шкоди для інших визначень я б сказав, що веб-служба - це програмне забезпечення, яке дозволяє взаємодіяти машина-машина / додаток-додаток через мережу. Це загальне визначення також допоможе розглядати архітектури REST як веб-сервіс, оскільки вони надають подібну функціональність, хоч і є архітектурним стилем на відміну від SOAP, який є повністю визначеним протоколом.

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