stringtranslate.com

Веб-сервис

Веб -сервис ( WS ) — это либо:

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

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

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

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

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

ОТДЫХ

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

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

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

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

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

Веб-API

Web API — это разработка в области веб-сервисов, в которой акцент смещается на более простые коммуникации на основе передачи репрезентативного состояния (REST). [2] Restful API не требуют протоколов веб-сервисов на основе XML ( SOAP и WSDL) для поддержки своих интерфейсов.

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

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

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

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

Веб-сервисы 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-файлы для обмена данными.

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

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

Каталог под названием UDDI (Universal Description, Discovery, and Integration) определяет, к какой программной системе следует обращаться за каким типом данных. Таким образом, когда одной программной системе требуется определенный отчет/данные, она обращается к UDDI и выясняет, с какими другими системами она может связаться для получения этих данных. Как только программная система выясняет, с какими другими системами она должна связаться, она затем связывается с этой системой с помощью специального протокола под названием SOAP (Simple Object Access Protocol). Система поставщика услуг сначала проверяет запрос данных, ссылаясь на файл WSDL, а затем обрабатывает запрос и отправляет данные по протоколу SOAP.

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

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

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

Критика

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

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

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

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

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

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

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

Обнаружение и поиск веб-сервисов

Хотя UDDI был предназначен для использования в качестве каталога услуг и стал средством обнаружения веб-сервисов, многие поставщики прекратили свои решения или репозитории UDDI в период с 2005 по 2008 год, включая Microsoft, SAP, IBM и других. [14] [15] Ключевое исследование, опубликованное на конференции WWW2008 (Пекин, Китай) [16], представило состояние веб-сервисов на основе SOAP и пришло к выводу, что только 63% доступных веб-сервисов на основе SOAP на момент исследования были фактически активны или могли быть вызваны. Исследование также показало, что поисковые системы становятся идеальным источником для поиска веб-сервисов по сравнению с реестрами сервисов, такими как UDDI, из-за сложности его дизайна. [17]

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

Примечания

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

Ссылки

  1. ^ "Архитектура веб-сервисов § Связь с архитектурой Всемирной паутины и REST". W3C . Получено 11 ноября 2017 г.
  2. ^ Бенслиман, Д.; Дастдар, С.; Шет, А. (2008). «Сервисные гибридные приложения: новое поколение веб-приложений». IEEE Internet Computing . 10 (5): 13–15. doi :10.1109/MIC.2008.110. S2CID  8124905.
  3. ^ "Глоссарий веб-сервисов § Веб-сервис". W3C . 11 февраля 2004 г. Получено 24 января 2017 г.
  4. ^ Оя, Макото (2008-09-02). "Автономные веб-сервисы на основе динамической гармонизации моделей". В Оя, Макото; Уда, Рюя; Ясунобу, Чизуко (ред.). На пути к устойчивому обществу на основе повсеместных сетей: 8-я конференция IFIP по электронному бизнесу, электронным услугам и электронному обществу (I3E 2008), 24–26 сентября 2008 г., Токио, Япония. Достижения IFIP в области информационных и коммуникационных технологий. Том 286. Springer Science & Business Media (опубликовано в 2008 г.). стр. 139. ISBN 9780387856902. Получено 19 августа 2015 г.
  5. ^ "Создание веб-сервисов снизу вверх". Eclipse . Получено 11 ноября 2017 г.
  6. ^ "Создание нисходящих веб-сервисов". Eclipse . Получено 11 ноября 2017 г.
  7. ^ abc Chaturvedi, Animesh (2014). Подмножество WSDL для доступа к подмножеству сервиса для анализа . 2014 IEEE 6-я международная конференция по облачным вычислительным технологиям и науке. стр. 688. doi :10.1109/CloudCom.2014.149. ISBN 978-1-4799-4093-6.
  8. ^ Брей, Тим (28 октября 2004 г.). "WS-Pagecount". TBray.org . Получено 22 апреля 2011 г. .
  9. ^ Gray, NAB (2005). «Производительность Java Middleware – Java RMI, JAX-RPC и CORBA». Университет Вуллонгонга : 31–39. Результаты, представленные в этой статье, показывают, что характер данных ответа оказывает большее влияние на относительную производительность, чем допускалось в большинстве предыдущих исследований.
  10. ^ ab Chaturvedi, Animesh (2014). Автоматизированное управление изменениями веб-сервисов AWSCM - инструмент . 2014 IEEE 6-я международная конференция по технологиям и науке облачных вычислений. стр. 715. doi :10.1109/CloudCom.2014.144. ISBN 978-1-4799-4093-6.
  11. ^ Чатурведи, Анимеш; Гупта, Атул (2013). Подход с поддержкой инструментов для выполнения эффективного регрессионного тестирования веб-сервисов . 2013 IEEE 7-й Международный симпозиум по обслуживанию и развитию сервисно-ориентированных и облачных систем. стр. 50. doi :10.1109/MESOCA.2013.6632734. ISBN 978-1-4673-4889-8.
  12. ^ Набор для тестирования приложений Oracle
  13. ^ Тестирование веб-сервисов с использованием Oracle Application Testing Suite
  14. ^ Крилл, Пол (2005-12-16). «Microsoft, IBM, SAP прекращают работу над реестром UDDI». InfoWorld . Получено 2022-05-28 .
  15. ^ QuinnRadich (27 апреля 2021 г.). «Удаление служб UDDI из серверной операционной системы – приложения Win32». docs.microsoft.com . Получено 28.05.2022 .
  16. ^ "WWW2008 – WWW 2008: 17-я Международная конференция Всемирной паутины (приветствие)". Архивировано из оригинала 2022-10-04 . Получено 2022-05-28 .
  17. ^ Аль-Масри, Эйхаб; Махмуд, Кусай Х. (2008-04-21). «Исследование веб-сервисов во всемирной паутине». Труды 17-й международной конференции по всемирной паутине . WWW '08. Нью-Йорк, Нью-Йорк, США: Ассоциация вычислительной техники. стр. 795–804. doi :10.1145/1367497.1367605. ISBN 978-1-60558-085-2. S2CID  12570844.

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