Обзор типов веб-сервисов, доступных для применения в современных ИС

ETL, ИНТЕГРАЦИЯ ДАННЫХ  Обзор Категория:  ETL, ИНТЕГРАЦИЯ ДАННЫХ
Опубликовал:         17.06.2023        К списку статей        print

Удачное описание веб-сервисов в этой статье.
Исходя из этого описания, в общих чертах я бы выделил несколько пунктов:

  1. веб-сервисом можно считать часть комплекса или сам комплекс программного обеспечения, доступный для вызова по Интернет или в локальной сети;
  2. формат взаимодействия сообщений может быть основан на SOAP или WCF протоколе на базе XML;
  3. возможен вариант архитектуры веб-сервиса с подходом архитектуры REST.


Удобно рассматривать и реализовывать веб-сервисы как приложение, доступное для вызова по протоколу HTTP в сети Интернет и в локальной сети.
Веб-сервисы глубоко проникли в нашу жизнь. Множество банковских операций реализовано на основе веб-сервисов: они используются в любом сайте, использующем платежи онлайн по банковской карте. Системы денежных переводов также основаны на базе веб-сервисов - это и SberPay и СБП.


Веб-сервисы на базе SOAP и WCF протоколов

В случае SOAP И WCF веб-сервисов передача сообщений происходит в формате XML в зависимости от выбранного протокола. Характеристики такого взаимодействия следующие:

  1. взаимодействие происходит только посредством метода POST;
  2. само сообщение универсально кодируется на основании спецификации выбранного протокола;
  3. переданное сообщение жестко сериализуется в XML, пригодный для передачи по протоколу HTTP.


Фактически, формируется XML, строго соответствующий схеме XML, которую указывает хост веб-сервисов, который впоследствии пересылается на хост веб-сервисов POST-методом. К плюсам можно отнести универсальность - любой объект для передачи в сообщении кодируется универсальным способом в соответствии с WSDL-схемой веб-сервиса.
Из минусов можно указать на сложность конфигурации. При создании агента для доступа к SOAP или WCF веб-сервису требуется создать достаточно большую инфраструктуру с объектами высокого уровня, которые будут реализовывать все низкоуровневые операции сериализации и десериализации передаваемых сообщений.
Если вы подключаетесь к стороннему WCF веб-сервису, размещенного в Интернет за пределами вашей локальной сети и в вашей сети работает firewall / антивирус / включен VPN-тоннель, то подключение может занимать продолжительное время.


Веб-сервисы в архитектуре REST

REST веб-сервис является не протоколом, а архитектурным приёмом, описывающим правило взаимодействия с серверами. Фактически, он является соглашением, по которому осуществляется передача сообщений. На практике это означает описание входных и выходных объектов для веб-сервиса. Способом передачи данных может быть любой, указанный в HTTP-протоколе - GET, POST, PUT и любой другой из множества доступных. Входным параметром может быть любой набор примитивных значений - строки, числа, даты. Выходным параметром может быть любое значение, доступное для передачи по протоколу HTTP - любой массив данных. Это может быть XML, JSON-объект, бинарный файл.


Характеристики взаимодействия следующие:

  1. неограниченные возможности по формированию параметров запроса - это могут быть любые значения примитивных типов или объемные JSON-структуры;
  2. взаимодействие может проходить по любому методу передачи HTTP-протокола - POST, GET, PUT и любому другому;
  3. ограничения сетевого взаимодействия зависят от ограничений на HTTP-трафик, в большинстве случаев будет достаточно взаимодействия с сервером по HTTP-протоколу и открытия сетевых портов по-умолчанию.


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


Также существует open source проект Swagger, позволяющий к проекту с REST веб-сервисом добавить оболочку, позволяющую посмотреть спецификацию запрашиваемых и возвращаемых объектов, предоставляющую возможность прямого вызова методов REST веб-сервиса без установки какой-либо оболочки.


Наличие такой особенности позволяет оценить и протестировать функционал REST веб-сервисов как отдельное приложение. При разработке frontend-приложения появляется возможность тестировать не только приложение целиком, но и его серверную часть.

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

Таким образом, если возникает вопрос выбора архитектуры веб-сервисов, то хочется проголосовать за выбор REST веб-сервисов по причине простоты их реализации, распространения и доступа.


Энергия идеи   dvbi.ru                    Последнее изменение: 2023-06-17 16:59:08Z         Возрастная аудитория: 14-70         Комментариев:  0
Теги:   Web-сервисы
Пожалуйста, проголосуйте и ниже поставьте лайк:   rating


  Комментарии



Следующая статья:    Критерии оценки системы Каталог данных
Предыдущая статья:  Как нам «русифицировать» Data Mining для оценки банковских рисков
К списку статей