Из Википедии, бесплатной энциклопедии
  (Перенаправлено с веб-сервиса )
Перейти к навигации Перейти к поиску

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

  • услуга, предлагаемая одним электронным устройством другому электронному устройству, связывающееся друг с другом через World Wide Web , или
  • сервер, работающий на компьютерном устройстве, который прослушивает запросы на определенном порту по сети, обслуживает веб-документы (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 в качестве ключевой отличительной особенности веб-сервисов:

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

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

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

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

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

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

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

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

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

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

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

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

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

Критика [ править ]

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

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

Регрессионное тестирование веб-сервисов [ править ]

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

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

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

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

См. Также [ править ]

  • Список структур веб-сервисов
  • Список протоколов веб-сервисов
  • Список спецификаций веб-сервисов
  • ПО промежуточного слоя
  • Сервисно-ориентированная архитектура (SOA)
  • Веб-картографический сервис

Примечания [ править ]

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

Ссылки [ править ]

  1. ^ "Архитектура веб-сервисов § Связь с World Wide Web и REST архитектурами" . W3C . Проверено 11 ноября 2017 года .
  2. ^ Benslimane, D .; Dustdar, S .; Шет, А. (2008). «Мэшапы служб: новое поколение веб-приложений» . Интернет-вычисления IEEE . 10 (5): 13–15. DOI : 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. Проверено 19 августа 2015 .
  5. ^ «Создание восходящих веб-сервисов» . Затмение . Проверено 11 ноября 2017 года .
  6. ^ «Создание нисходящих веб-сервисов» . Затмение . Проверено 11 ноября 2017 года .
  7. ^ a b c Чатурведи, Анимеш (2014). Подмножество WSDL для доступа к подмножеству службы для анализа . 2014 IEEE 6-я Международная конференция по технологиям и науке облачных вычислений. п. 688. DOI : 10,1109 / CloudCom.2014.149 . ISBN 978-1-4799-4093-6.
  8. ^ Брей, Тим (2004-10-28). "WS-Pagecount" . TBray.org . Проверено 22 апреля 2011 .
  9. ^ Грей, НАБ (2005). «Производительность промежуточного программного обеспечения Java - Java RMI, JAX-RPC и CORBA» . Университет Вуллонгонга . С. 31–39. Результаты, представленные в этой статье, показывают, что характер данных ответа оказывает большее влияние на относительную производительность, чем это допускалось в большинстве предыдущих исследований.
  10. ^ a b Чатурведи, Анимеш (2014). Автоматизированное управление изменениями веб-сервисов AWSCM - инструмент . 2014 IEEE 6-я Международная конференция по технологиям и науке облачных вычислений. п. 715. DOI : 10,1109 / CloudCom.2014.144 . ISBN 978-1-4799-4093-6.
  11. ^ Чатурведи, Анимеш; Гупта, Атул (2013). Подход с поддержкой инструментов для эффективного регрессионного тестирования веб-служб . Седьмой международный симпозиум IEEE 2013 г. по обслуживанию и развитию сервис-ориентированных и облачных систем. п. 50. DOI : 10,1109 / MESOCA.2013.6632734 . ISBN 978-1-4673-4889-8.
  12. ^ Пакет для тестирования приложений Oracle
  13. ^ Тестирование веб-сервисов с использованием Oracle Application Testing Suite

Внешние ссылки [ править ]

  • Документация по шаблонам дизайна обмена сообщениями на сайте SOA Patterns
  • Страница активности веб-сервисов на W3C
  • Архитектура веб-сервисов , записка рабочей группы W3C (11 февраля 2004 г.)
  • Исследование веб-сервисов в World Wide Web , анализ, представленный на конференции WWW2008
  • Руководство по безопасным веб-службам (SP 800-95) в NIST