stringtranslate.com

веб-сервис

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

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

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

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

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

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

ОТДЫХ

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

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

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

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

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

Веб-API

Веб -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 (универсальное описание, обнаружение и интеграция) определяет, к какой программной системе следует обращаться для получения каких типов данных. Таким образом, когда одной программной системе требуется один конкретный отчет/данные, она обращается к UDDI и выясняет, с какими другими системами она может связаться для получения этих данных. Как только программная система узнает, с какими другими системами ей следует связаться, она свяжется с этой системой, используя специальный протокол, называемый SOAP (простой протокол доступа к объектам). Система поставщика услуг сначала проверит запрос данных, обратившись к файлу 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, «В рамках текущих веб-сервисов […] системы заинтересованных сторон должны следовать заранее определенным правилам для конкретной бизнес-службы, включая правила о бизнес-протоколах для отправки/получения сообщений и о работе системы. […] Более гибкий механизм. желательно, чтобы свободно построенные и автономно работающие системы могли обмениваться бизнес-сообщениями без заранее согласованных строгих правил. между системами […]». [4]

Рекомендации

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

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