Что такое «веб-сервис» на простом английском языке? - PullRequest
177 голосов
/ 22 октября 2008

Я читал об «веб-сервисах» здесь, в SO, в Википедии, Google и т. Д., И я не совсем понимаю, что это такое. Каково простое английское определение / описание?

Если я создаю простой веб-сайт с использованием PHP, который, например, просто печатает случайное целое число на странице ... это "веб-служба"? Если нет, то почему?

Ответы [ 21 ]

277 голосов
/ 22 октября 2008

Простое определение: веб-сервис - это функция, к которой другие программы могут обращаться через Интернет (HTTP).

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

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

Полное определение, очевидно, более сложное, но вы попросили простой английский.

58 голосов
/ 22 октября 2008

Упрощенное, нетехническое объяснение: Веб-сервис позволяет ПРОГРАММЕ общаться с веб-страницей вместо использования браузера для открытия веб-страницы.

Пример: Я могу зайти на maps.google.com, ввести свой домашний адрес и посмотреть карту своего проживания в своем браузере.

Но что, если вы писали компьютерную программу, в которой вы хотели взять адрес и показать красивую карту, как в Google maps?

Ну, вы могли бы написать совершенно новую картографическую программу с нуля, ИЛИ вы могли бы вызвать веб-сервис, который предоставляет Google maps, отправить ему адрес, и он вернет графическую карту местоположения, которую вы можете отобразить в программа.

Это гораздо больше, чем некоторые другие посты, но в результате это позволяет вашему приложению либо получать информацию ОТ, либо отправлять информацию на некоторый ресурс. Некоторые другие примеры:

  1. Вы можете использовать веб-сервис для получения информации о книгах на Amazon.com
  2. Вы можете использовать аналогичный веб-сервис для отправки заказа на Amazon.com
  3. Вы можете СОЗДАТЬ веб-сервис, который позволит сторонним приложениям узнавать информацию о продукте в вашей компании
  4. Вы можете создать веб-сервис, позволяющий сторонним приложениям отправлять заказы вашей компании.
34 голосов
/ 22 октября 2008

Да, это простой веб-сервис.

Веб-сервисы - это не что иное, как механизм запроса / ответа, который позволяет клиенту удаленно получать доступ / изменять данные. Существуют формальные стандарты для веб-сервисов (SOAP, SOA и т. Д.), Но ваша простая страница тоже является сервисом.

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

Так что, если вы изменили свой сервис для возврата:

<RANDOM>some random number</RANDOM>

вместо:

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

тогда это будет более полезно для большинства клиентов

21 голосов
/ 22 октября 2008

В более упрощенном виде веб-сервис - это то, что предоставляет данные как сервис по протоколу http. Конечно, это не всегда так ... но это близко.

Стандартные веб-службы используют протокол SOAP, который определяет связь и структуру сообщений, а XML - это формат данных.

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

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

Редактировать

Изменена формулировка со ссылкой на SOAP, так как это не всегда SOAP, как я уже упоминал, но хотелось сделать его более понятным. Ключ предоставляет данные как услугу, а не элемент пользовательского интерфейса.

17 голосов
/ 22 октября 2008

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

Веб-сервисы являются ключевым компонентом "гибридных приложений". Mashups - это когда информация со многих веб-сайтов автоматически объединяется в новый и полезный сервис. Например, есть сайты, которые объединяют Карты Google с информацией о полицейских отчетах, чтобы предоставить вам графическое представление преступлений в вашем регионе. Другим типом гибрида может быть получение реальных биржевых данных, предоставленных другим сайтом, и объединение их с фальшивым торговым приложением для создания «игры» на фондовом рынке.

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

Надеюсь, это поможет!

12 голосов
/ 22 октября 2008

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

Теперь представьте, что кто-то еще хочет использовать некоторые из этих данных. Они могли бы загрузить вашу страницу и начать отфильтровывать весь «шум», чтобы получить нужные данные, но большинство веб-сайтов не построены таким образом, чтобы данные на 100% были точно размещены в одном месте для всех элементов, поэтому в дополнение быть громоздким, это также становится ненадежным.

Введите веб-сервисы.

Веб-сервис - это то, что веб-сайт выбирает для тех, кто хочет читать, обновлять и / или удалять данные с вашего веб-сайта. Вы можете назвать это «бэкдором» для ваших данных. Вместо того, чтобы представлять данные как часть веб-страницы, они предоставляются заранее определенным способом, где некоторые из наиболее популярных - это XML и JSON. Существует несколько способов связи с веб-сервисом, некоторые используют SOAP, другие имеют веб-сервисы REST и т. Д.

Что характерно для всех веб-служб, так это то, что они являются машиночитаемым эквивалентом веб-страниц, предлагаемых сайтом. Это означает, что другие, которые хотят использовать данные, могут отправить запрос на получение определенных данных, которые легко анализировать и использовать. Некоторые сайты могут требовать, чтобы вы указали имя пользователя / пароль в запросе для конфиденциальных данных, в то время как другие сайты позволяют кому-либо извлекать любые данные, которые им могут понадобиться.

12 голосов
/ 24 октября 2008

Лучшее простое английское объяснение исходит из использования аналогии:

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

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

11 голосов
/ 18 января 2015

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

Все стандартные веб-службы работают с использованием следующих компонентов:

  • SOAP (простой протокол доступа к объектам)
  • UDDI (универсальное описание, обнаружение и интеграция)
  • WSDL (язык описания веб-сервисов)

Это работает примерно так:

  • Клиентская программа объединяет информацию о регистрации учетной записи в сообщение SOAP.
  • Это SOAP-сообщение отправляется веб-службе как тело HTTP-запроса POST.
  • Веб-служба распаковывает запрос SOAP и преобразует его в команду, понятную приложению.
  • Приложение обрабатывает информацию по мере необходимости и отвечает новым уникальным номером счета для этого клиента.
  • Затем веб-служба упаковывает ответ в другое сообщение SOAP, которое оно отправляет обратно клиентской программе в ответ на свой HTTP-запрос.
  • Клиентская программа распаковывает сообщение SOAP для получения результатов процесса регистрации учетной записи.
7 голосов
/ 27 августа 2015

Веб-сервис - это технология, с помощью которой два или более удаленных веб-приложения взаимодействуют друг с другом через сеть / Интернет. Это может быть реализовано с использованием Java, .net, PHP и т. Д.

Особенности веб-сервиса: -

  1. Используя веб-сервисы, две или более систем обмениваются данными по сети. Обмен данными осуществляется с использованием XML или JSON.
  2. Любой веб-сервис состоит из двух частей: серверная часть, на которой развернут сервис, и клиентская часть, где сервис доступен для клиентов. Любой веб-сервис может иметь несколько клиентов. Когда туристический портал продает билеты на авиалайнер. Портал является клиентом, а авиакомпания - сервером, который продает свои услуги.
  3. Веб-службы могут быть синхронными или асинхронными. Веб-приложение может взаимодействовать со многими веб-службами , но эти веб-службы слабо связаны со своими клиентскими веб-приложениями. Это означает, что любое изменение в родительском приложении практически не влияет на веб-службы или наоборот.
  4. Веб-сервисы могут переносить вложенные документы, такие как PDF, Word и т. Д., С их полезной нагрузкой XML. Java предоставляет отдельный API для этого типа веб-сервисов.
  5. Веб-сервис всегда скрывает внутреннюю сложность сервиса для своих клиентов. Например, авиалайнер, который продает билеты через сторонний портал, только собирает информацию о конечном пользователе через веб-сервис, а взамен предоставляет билет. Портал, продающий билеты, не должен беспокоиться о внутренней сложности систем бронирования авиабилетов.
  6. Веб-служба может быть запущена и забыть тип, или она может что-то вернуть. Предположим, веб-приложение просто хочет отправить некоторую информацию стороннему приложению. Отправителю не требуется подтверждение от получателя. В этом типе сценария нам нужен веб-сервис типа «забей и забудь».
6 голосов
/ 10 июля 2013

Simple way to explain web service is ::

  • Веб-сервис - это метод связи между двумя электронными устройствами по всемирной паутине.
  • Это можно назвать процессом, который программист использует для связи с сервером
  • Для вызова этого процесса программист может использовать SOAP и т. Д.
  • Веб-сервисы построены на основе открытых стандартов, таких как TCP / IP, HTTP

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


image

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...