Веб-сервис

редактировать
Услуга, предлагаемая одним электронным устройством другому электронному устройству, взаимодействуя друг с другом через Интернет

Термин веб-служба (WS) может быть либо:

  • услуга, предлагаемая одним электронным устройством другому электронному устройству, обменивающаяся данными друг с другом через World Wide Web или
  • сервер, работающий на компьютерном устройстве, прислушивающийся к запросам на определенном порту по сети, обслуживая веб-документы (HTML, JSON, XML, изображения), nd создание служб веб-приложений, которые служат для решения конкретных проблем домена через Интернет (WWW, Интернет, HTTP)

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

На практике веб-служба обычно предоставляет объектно-ориентированный веб-интерфейс для сервера базы данных, используемый, например, другим Веб-сервер или мобильное приложение , которое предоставляет конечному пользователю пользовательский интерфейс. Многие организации, которые предоставляют данные в форматированных HTML-страницах, также предоставляют эти данные на свой сервер в формате XML или JSON, часто через веб-службу, чтобы разрешить распространение, например, из Википедии. Другое приложение, предлагаемое конечному пользователю, может быть mashup, где веб-сервер использует несколько веб-служб на разных машинах и компилирует контент в один пользовательский интерфейс.

Содержание
  • 1 Веб-сервисы (общие)
    • 1.1 Асинхронный JavaScript и XML
    • 1.2 REST
    • 1.3 Веб-сервисы, использующие языки разметки
    • 1.4 Веб-API
  • 2 Веб-сервисы W3C
    • 2.1 Объяснение
    • 2.2 Методы автоматизированного проектирования
    • 2.3 Критика
    • 2.4 Регрессионное тестирование веб-служб
    • 2.5 Управление изменениями веб-служб
  • 3 См. Также
  • 4 Примечания
  • 5 Ссылки
  • 6 Внешние ссылки
Веб-сервисы (общие)

Асинхронный JavaScript и XML

Асинхронный JavaScript и XML (AJAX) - доминирующая технология для веб-сервисов. Разработанный на основе комбинации HTTP-серверов, клиентов JavaScript и Plain Old XML (в отличие от веб-служб SOAP и W3C), теперь он часто используется с JSON, а также или вместо из, XML.

REST

Передача репрезентативного состояния (REST) ​​- это архитектура для хорошо функционирующих веб-служб, которые могут работать в масштабе Интернета.

В документе 2004 года W3C устанавливает следующий REST в качестве ключевой отличительной черты веб-сервисов:

Мы можем выделить два основных класса веб-сервисов:

  • REST -совместимые веб-сервисы, в котором основной целью службы является манипулирование XML-представлениями веб-ресурсов с использованием унифицированного набора операций без сохранения состояния ; и
  • произвольные веб-службы, в которых служба может предоставлять произвольный набор операций. - W3C, Архитектура веб-служб

Веб-службы, использующие языки разметки

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

Web API

A Веб-API - это разработка веб-служб, в которой упор был перенесен на более простую связь на основе репрезентативной передачи состояния (REST). Restful API не требуют протоколов веб-служб на основе XML (SOAP и WSDL) для поддержки своих интерфейсов.

Веб-сервисы W3C

В отношении веб-сервисов W3C W3C определил веб-сервис как:

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

— W3C, Глоссарий веб-служб

Веб-службы W3C могут использовать SOAP по протоколу HTTP, что позволяет менее затратное (более эффективное) взаимодействие через Интернет, чем через собственные решения, такие как EDI / B2B. Помимо SOAP через HTTP, веб-службы также могут быть реализованы на других надежных транспортных механизмах, таких как FTP. В документе 2002 года Рабочая группа по архитектуре веб-служб определила архитектуру веб-служб, требующую стандартизованной реализации «веб-службы».

Пояснение

Архитектура веб-сервисов: поставщик услуг отправляет файл WSDL в UDDI. Запрашивающая служба связывается с UDDI, чтобы узнать, кто является поставщиком необходимых данных, а затем связывается с поставщиком услуг с использованием протокола SOAP. Поставщик услуг проверяет запрос на обслуживание и отправляет структурированные данные в файле XML, используя протокол SOAP. Этот XML-файл будет снова проверен инициатором запроса службы с помощью файла XSD.

Термин «веб-служба» описывает стандартизованный способ интеграции веб-приложений с использованием XML, SOAP, WSDL и UDDI. открытые стандарты на основе Интернет-протокола. XML - это формат данных, используемый для хранения данных и предоставления метаданных вокруг них, SOAP используется для передачи данных, WSDL используется для описания доступных сервисов, а UDDI перечисляет, какие сервисы доступны.

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

Многие организации используют несколько программных систем для управления. Разным программным системам часто требуется обмениваться данными друг с другом, а веб-сервис - это метод связи, который позволяет двум программным системам обмениваться этими данными через Интернет. Система программного обеспечения, запрашивающая данные, называется инициатором запроса услуг, тогда как система программного обеспечения, которая будет обрабатывать запрос и предоставлять данные, называется поставщиком услуг.

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

Необходимо определить правила взаимодействия между различными системами, например:

  • Как одна система может запрашивать данные у другой системы.
  • Какие конкретные параметры необходимы в запросе данных.
  • Какова будет структура полученных данных. (Обычно данные обмениваются в файлах XML, и структура файла XML проверяется по файлу.xsd.)
  • Какие сообщения об ошибках отображать, когда не соблюдается определенное правило обмена данными, чтобы сделать устранение неполадок проще.

Все эти правила связи определены в файле с именем WSDL (язык описания веб-служб), который имеет расширение .wsdl. (Предложения для автономных веб-сервисов (AWS ) направлены на разработку более гибких веб-сервисов, не основанных на строгих правилах.)

Каталог с именем UDDI (Универсальное описание, обнаружение и интеграция) определяет, к какой системе программного обеспечения следует обращаться для получения данных какого типа. Поэтому, когда одной программной системе требуется один конкретный отчет / данные, она переходит к UDDI и выясняет, с какими другими системами она может связаться для получения этих данных. Как только программная система обнаруживает, с какими другими системами ей следует связаться, она затем связывается с этой системой, используя специальный протокол, называемый SOAP (протокол простого доступа к объектам). Система поставщика услуг сначала проверит запрос данных, ссылаясь на файл WSDL, а затем обработает запрос и отправит данные по протоколу SOAP.

Автоматизированные методы проектирования

Web-сервисы в сервис-ориентированной архитектуре.

Автоматизированные инструменты могут помочь в создании Web-сервиса. Для служб, использующих WSDL, можно либо автоматически сгенерировать WSDL для существующих классов (восходящая модель), либо сгенерировать каркас класса с учетом существующего WSDL (нисходящая модель).

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

Критика

Критики не-RESTful веб-сервисов часто жалуются, что они слишком сложны и основаны на крупных поставщиках программного обеспечения или интеграторах, а не на типичных реализации с открытым исходным кодом.

Также существуют опасения по поводу производительности из-за использования веб-службами XML в качестве формата сообщений и SOAP / HTTP при обертывании и транспортировке.

Регрессионное тестирование веб-служб

Функциональное и нефункциональное тестирование веб-служб выполняется с помощью синтаксического анализа WSDL. Регрессионное тестирование выполняется путем выявления изменений, внесенных в обновление программного обеспечения. Потребности в регрессионном тестировании веб-сервисов можно разделить на три категории, а именно: изменения в WSDL, изменения в коде и выборочное повторное тестирование операций. Мы можем уловить три вышеупомянутые потребности в трех промежуточных формах подмножества WSDL, а именно: Difference WSDL (DWSDL), Unit WSDL (UWSDL) и сокращенный WSDL (RWSDL) соответственно. Затем эти три подмножества WSDL объединяются в комбинированный WSDL (CWSDL), который в дальнейшем используется для регрессионного тестирования веб-службы. Это поможет в автоматизированном управлении изменениями веб-сервисов (AWSCM), выполняя выбор соответствующих тестовых случаев для создания сокращенного набора тестов из старого набора тестов.

Тестирование веб-сервисов также можно автоматизировать с помощью нескольких инструментов автоматизации тестирования, таких как SOAP UI, Oracle Application Testing Suite (OATS), Unified Functional Testing, Selenium и т. Д.

Управление изменениями веб-службы

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

См. Также
Примечания
Ссылки
Внешние ссылки
На Викискладе есть средства массовой информации, связанные с веб-службами.
Викиверситет имеет учебные ресурсы о Веб-сервис
Последняя правка сделана 2021-06-20 10:30:18
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте