Доклады о будущих и современных технологиях
ИССЛЕДОВАНИЕ МЕХАНИЗМОВ СОЗДАНИЯ И ПРИМЕНЕНИЯ web-сервисов
М. А. Раухваргер
Научный руководитель - С. Ю. Бойков, канд. техн. наук, доцент Ярославский государственный технический университет
Исторически Интернет сложился как крайне раздробленная сеть, содержащая множество узлов с еще большим количеством интерфейсов. Возникла проблема взаимодействия узлов между собой и конечным пользователем. В качестве унифицированного подхода были придумана идея web-сервисов. В настоящее время применяются, две технологии: REST и SOAP. Анализу современных реализаций этих подходов, их применению, надежности и быстродействию и посвящена данная работа.
Считается, что REST подходит в 90 % случаев, является более простым и быстрым. В то же время, большинство сложных, корпоративных приложений можно разработать только с помощью SOAP.
В REST данные между клиентом и сервером можно передавать абсолютно любом протоколом: XML, JSON или что-то еще, распознаваемое сервером и клиентом. Напротив, SOAP работает исключительно с XML. Это увеличивает нагрузку на канал из-за значительного увеличения размера пакетов, зато обеспечивает целостность и строгую типизацию данных. Другое различие заключается в использовании HTTP. SOAP ограничивает уровень передачи данных «пассивным наблюдением», его роль заключается только в передаче запросов используя метод POST. Детали сервисного запроса, такие как имя удаленной процедуры и входные аргументы, кодируются в теле запроса. Архитектура REST же строится на парадигме CRUD и поэтому активно использует существующие методы НТТР: GET, POST, PUT и DELETE для обозначения типа запрашиваемого сервиса. Модель SOAP позволяет разработчикам сервиса описывать его API в файле формата WSDL. Создавать эти файлы довольно сложно, однако это стоит затраченных усилий, поскольку клиенты SOAP могут автоматически получать из этих файлов подробную информацию об именах и сигнатурах методов, типах входных и выходных данных. Больше того, клиентский код взаимодействия с сервисом может генерироваться автоматически. С другой стороны, модель REST избегает сложностей контрактов WSDL в угоду более интуитивному интерфейсу, основанному на стандартных методах HTTP, описанных выше. Поскольку REST не требует особенной реализации и может основываться, например, наобычных сервлетах, в данной работе будет ставиться акцент на анализе библиотек, предоставляющих возможность работы с SOAP.