Веб-сервис - Web service

Период, термин веб-сервис (WS) либо:

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

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

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

Веб-сервисы (общие)

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

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

ОСТАЛЬНЫЕ

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

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

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

  • ОСТАЛЬНЫЕ -соответствующие веб-службы, в которых основной целью службы является манипулирование XML-представлениями Интернет-ресурс s используя единый набор без гражданства операции; и
  • произвольные веб-службы, в которых служба может предоставлять произвольный набор операций.
    — W3C, Архитектура веб-сервисов[1]

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

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

Веб-API

А Веб-API - это разработка веб-служб, в которой упор был перенесен на более простые Изобразительное State Transfer (REST) ​​связь.[2] Restful API не требуют протоколов веб-служб на основе XML (МЫЛО и WSDL) для поддержки своих интерфейсов.

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

Что касается веб-сервисов W3C, W3C определил веб-службу как:

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

— W3C, Глоссарий веб-сервисов[3]

Веб-службы W3C могут использовать МЫЛО по протоколу 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 и выясняет, с какими другими системами она может связаться для получения этих данных. Как только программная система узнает, с какими другими системами ей следует связаться, она свяжется с этой системой, используя специальный протокол, называемый МЫЛО (Простой протокол доступа к объектам). Система поставщика услуг сначала проверяет запрос данных, ссылаясь на файл WSDL, а затем обрабатывает запрос и отправляет данные по протоколу SOAP.

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

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

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

Критика

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

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

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

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

Тестирование веб-сервисов также можно автоматизировать с помощью нескольких инструментов автоматизации тестирования, таких как SOAP UI, Пакет для тестирования приложений Oracle (ОВС),[12][13] Unified Functional Testing, Selenium и т. Д.

Управление изменениями веб-сервисов

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

Смотрите также

Заметки

  1. ^ Сравните: Оя 2008, "В рамках существующих веб-служб […] системы заинтересованных сторон должны следовать заранее определенным правилам для конкретной бизнес-службы, включая правила, касающиеся бизнес-протоколов для отправки / получения сообщений и работы системы. […] Желателен более гибкий механизм там, где он свободно построен и автономно работающие системы могут обмениваться бизнес-сообщениями без заранее согласованных строгих правил. Мы называем это автономными веб-сервисами (AWS) и предложили структуру под названием Dynamic Model Harmonization (DMH) с ее алгоритмом, который динамически регулирует различные модели бизнес-процессов между системами […] . "[4]

использованная литература

  1. ^ «Архитектура веб-служб § Связь с World Wide Web и REST-архитектурами». W3C. Получено 11 ноября 2017.
  2. ^ Benslimane, D .; Dustdar, S .; Шет, А. (2008). «Мэшапы служб: новое поколение веб-приложений». Интернет-вычисления IEEE. 10 (5): 13–15. Дои:10.1109 / MIC.2008.110.
  3. ^ «Глоссарий веб-служб § Веб-служба». W3C. 11 февраля 2004 г.. Получено 24 января 2017.
  4. ^ Оя, Макото (2 сентября 2008 г.). «Автономные веб-сервисы на основе динамической гармонизации моделей». Ин Оя, Макото; Уда, Рюя; Ясунобу, Тизуко (ред.). На пути к устойчивому обществу в повсеместных сетях: 8-я конференция IFIP по электронному бизнесу, электронным услугам и электронному обществу (I3E 2008), 24-26 сентября 2008 г., Токио, Япония. Достижения ИФИП в области информационных и коммуникационных технологий. 286. Springer Science & Business Media (опубликовано в 2008 г.). п. 139. ISBN  9780387856902. Получено 2015-08-19.CS1 maint: ref = harv (ссылка на сайт)
  5. ^ «Создание восходящих веб-сервисов». Затмение. Получено 11 ноября 2017.
  6. ^ «Создание нисходящих веб-сервисов». Затмение. Получено 11 ноября 2017.
  7. ^ а б c Чатурведи, Анимеш (2014). Подмножество WSDL для доступа к подмножеству службы для анализа. 2014 IEEE 6-я Международная конференция по технологиям и науке облачных вычислений. п. 688. Дои:10.1109 / CloudCom.2014.149. ISBN  978-1-4799-4093-6.
  8. ^ Брей, Тим (2004-10-28). "WS-Pagecount". TBray.org. Получено 2011-04-22.
  9. ^ Грей, Н.А.Б. (2005). «Производительность промежуточного программного обеспечения Java - Java RMI, JAX-RPC и CORBA». Университет Вуллонгонга. С. 31–39. Результаты, представленные в этой статье, показывают, что характер данных ответа оказывает большее влияние на относительную производительность, чем это допускалось в большинстве предыдущих исследований.
  10. ^ а б Чатурведи, Анимеш (2014). Автоматизированное управление изменениями веб-сервисов AWSCM - инструмент. 2014 IEEE 6-я Международная конференция по технологиям и науке облачных вычислений. п. 715. Дои:10.1109 / CloudCom.2014.144. ISBN  978-1-4799-4093-6.
  11. ^ Чатурведи, Анимеш; Гупта, Атул (2013). Подход с поддержкой инструментов для эффективного регрессионного тестирования веб-служб.. Седьмой международный симпозиум IEEE 2013 г. по обслуживанию и развитию сервис-ориентированных и облачных систем. п. 50. Дои:10.1109 / MESOCA.2013.6632734. ISBN  978-1-4673-4889-8.
  12. ^ Пакет для тестирования приложений Oracle
  13. ^ Тестирование веб-сервисов с использованием Oracle Application Testing Suite

внешние ссылки