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

Термин веб-служба ( WS ) означает либо: веб-службы только для другого приложения или машины, а не человека.

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

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

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

Веб-сервисы (общие) [ править ]

Асинхронный JavaScript и XML [ править ]

Асинхронный JavaScript и XML (AJAX) - доминирующая технология для веб-сервисов. Разработанный на основе комбинации HTTP-серверов, клиентов JavaScript и Plain Old 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), может выполнять тестирование веб-сервисов и разработку сверху вниз.

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

Критики не-RESTful Web-сервисов часто жалуются, что они слишком сложны [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 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 Internet Computing . 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 Chaturvedi, Animesh (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. Перейти ↑ Gray, NAB (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 г.)
  • Исследование веб-сервисов во всемирной паутине , анализ, представленный на конференции WWW2008
  • Руководство по безопасным веб-службам (SP 800-95) в NIST