Александр П.
Вне зависимости от того, чем занимается компания, для оптимизации и упрощения процессов используется целая россыпь программных продуктов:

Функция

Программное решение

CMS для сайтов

1С-Битрикс, WordPress, Joomla, OpenCart

CRM-системы

Битрикс24, Salesforce, amoCRM, Мегаплан

Системы учета и автоматизации

SAP, 1C, МойСклад, Парус

Ряд программ буквально “в два клика” можно интегрировать между собой. Для других же необходимо программировать дополнительный функционал.

Современные и не очень технологии выделяют несколько методов работы в Интернете:
  • Доступ к файлам через FTP;
  • Неструктурированные HTTP-запросы, соглашения между разработчиками;
  • Веб-службы (REST, SOAP, AJAX и т.д.);
  • Необычные: сокеты, порты, двоичные объекты.
В этой статье поговорим о веб-службах REST и SOAP — их различиях общем и  с другими службами.

Сервисы веб-интеграции

Сервисы веб-интеграции (или веб-сервисы) — это технологии, при помощи которых различные системы передают друг другу данные (двусторонний обмен).

9 из 10 веб-сервисов работают по HTTP или родительскому протоколу.

В упрощенном виде, большинство запросов к таким сервисам - это стандартные ссылки, при помощи которых переходим к нужному ресурсу для обмена с конкретными базами или выполнения определенных действия.

Одним из главных отличий веб-служб от простых HTTP запросов является наличие задокументированной четкой структуры с рядом общих стандартов. Например, если применять SOAP (строгое к правилам решение), то возможно сразу приступать к настройке структур БД и другим функциям, т.к. все начальные моменты учтены и решены.

Список самых популярных сервисов веб-интеграции:
  • XML-RPC (XML Remote Procedure Call) — протокол для удаленного доступа к использованию XML. Предшественник SOAP, прост в применении;
  • SOAP (Simple Object Access Protocol) — стандартный протокол версии W3C, который структурирован и весь задокументирован;
  • JSON–RPC (JSON Remote Procedure Call) — относительно современный вариант XML - RPC. Главное отличие состоит в том, что сведения передаются только в формате JSON;
  • REST (Representational State Transfer) — это архитектурный стиль, основанный на методах HTTP;
  • специализированные протоколы под конкретные задачи (GraphQL, OData, Ajax);
  • редко встречающийся, но эффективный gRPC — используется для передачи данных  в двоичном виде и использует HTTP/2 в качестве транспорта.
p.s. да, мы назвали ДАЛЕКО не все протоколы. Но часть из них морально устарела и её возможно встретить только на проектах ранних 2000-х. Другая группа — новые модно-молодежные, но их возможности, плюсы и минусы еще требуют подробного изучения и тестирования на практике.

Здесь мы поговорим о том, что же такое SOAP и REST.

Что такое SOAP

Простыми словами SOAP (или Simple Object Access Protocol) – это простой протокол доступа к объектам, в котором не только вызов процедур, но и передача БД происходит в формате XML.

Базовые элементы (теги) SOAP:
  • Envelope. Обязательный корневой элемент. Непосредственно он определяет сообщения и пространство времен;
  • Header. Он же заголовок. Не является обязательным элементом, но содержит необходимые атрибуты для обработки сообщения (информация об идентификаторе, маршрутизации или безопасности);
  • Body. Обязательный элемент, в котором содержится основная информация из сообщения;
  • Fault. Необязательный, но полезный элемент. В нем содержится информация об ошибках, которые возникают в процессе обработки сообщений.

Преимущества SOAP

Недостатки SOAP

стандартизация по версии W3C

сложно реализовать

строгая спецификация

сложно и долго парсить в XML

понятная поддержка с продуктами Microsoft


однозначность


Пример SOAP:
  • запрос;
    Пример SOAP запроса
  • ответ.
    Пример SOAP ответа

Что такое REST

Representational State Transfer — примечание — это архитектурный стиль, а не протоколом. Простыми словами REST — это набор правил и условий для программиста. Если специалист придерживается этим условиям, настройка обмена данными его проекта с другими сервисами будет быстрой и безболезненной.

Особенность REST — данные передаются в исходном виде, не требуя конвертации. Это создает нагрузку на сеть, но разгружает веб-сервер.

Методы HTTP для работы с REST:
  • GET — получение;
  • POST — добавление;
  • PUT — изменение;
  • DELETE — удаление.
Используя эти методы, получается выполнить условный CRUD или Create – Read – Update – Delete для всех типов информации, с которыми будет идти манипуляции.
На практике в 9 из 10 случаев используешь лишь 2 — GET, чтобы получить данные и POST для всего остального.



Подсказка бывалого программиста

Преимущества REST

Недостатки REST

прост в программировании

нет спецификации

нет больших требований к ресурсам

сложно и долго парсить в XML

нет требований к замысловатым программным надстройкам

нет чётких методов для управления базами

Пример REST:
  • запрос;
    Пример REST запроса
  • ответ (нужен новый скрин).
    Пример REST ответа

Чем же настроить веб-интеграцию?

Так каким же методом интеграции правильно пользоваться?


Очевидный вопрос
Для ответа на этот вопрос важно знать, над каким проектом идет работа.

XML-RPC метод морально и технически устарел — JSON-RPC его заменяет куда более эффективно. При этом сами протоколы RPC применимы только в простейших системах, имеющих небольшое число информации и API-методов.

SOAP популярен для комплексных корпоративных проектов, где применяется сложная замысловатая логика и необходимы единые стандарты, актуальные для продолжительного использования (комплексная автоматизация для больших предприятий создаётся годами).

Но, самым распространенным в Сети является REST. И это объяснимо — когда “твой код” подчиняется правилам CRUD, интеграция с подавляющим большинством современных популярных сервисов запустится быстро. А с развитием спецификации OpenAPI и ряда инструментов Swagger, появилась возможность стандартизированного документирования разрабатываемого API, и даже тестирование взаимодействия с этим API без ожидания полноценной реализации.

Веб-интеграция и Битрикс

О применении и настройках различных интеграций сервисов и ресурсов на Битрикс мы написали отдельную статью с примерами.

Чего там пока нет, но планируем дописать — 1С-Битрикс: Управление сайтом выпустили отдельный готовый модуль для работы с REST API.

Использование REST и SOAP в больших бизнес-проектах

Настройка интеграции различных веб-сервисов между собой — типичная задача для веб-интегратора ИНТЕРВОЛГА. Приведем пример использования SOAP и REST интеграций в рабочем проекте.

Компания ЕВРАЗ — один из лидеров российского и мирового рынка металлопроката и металлоизделий. ИНТЕРВОЛГА уже много лет сотрудничает с этим металлургическим гигантом и создаёт для него инновационные автоматизированные веб-системы, применяя и REST и SOAP-технологии. А теперь перейдем к конкретике.

Разработка Личного кабинета для партнеров ЕВРАЗ Металл Инпром. Учетная система компании выступает веб-клиентом, а сайт сервером. Интеграция и передача необходимых сведений настроена SOAP методом.

Если же необходима интеграция не корпоративной системы между собой, а связь со сторонним сервисов (другим кодом), мы используем REST-методы. Например, Личный кабинет кандидата на работу, инструмент автоматизации бизнес-процессов HR отдела. Для заказчика необходимы была интеграция с Хантфлоу. При помощи REST API этот функционал был нами реализован.

Выводы

Все технологии нужны, все методы важны. Главное — определить подходящий для вашего проекта вариант веб-интеграции и правильно его реализовать.


Компания ИНТЕРВОЛГА — компетентный веб-интегратор, в которой собраны опытные программисты, способные подобрать и реализовать необходимые IT-решения для интеграции.
Оцените статью
09.07.2019
Понравилась статья?
Поделитесь ссылкой с друзьями и коллегами!

Статьи по теме

07.03.2023
Дорожная карта внедрения платформы автоматизации оптовых продаж Про построение эффективных отделов продаж написано много крутых статей. Одни эксперты готовы сделать это за 10 шагов, другие предлагают многоэтапную эволюц...
16.02.2023
Как начать B2B-продажи онлайн - особенности и методы оптовой торговли После пандемии рынок e-commerce начал стремительно расти. Мы говорим не только о B2C, но и о B2B-сегменте. Многие крупные компании уже разглядели потенциал...
10.01.2023
Как битриксоиды в React уходили Приятно познакомиться, мы битриксоиды. Да-да, те самые которые: вообще не модные, пишут НЕ на Laravel и Symfony, ...
10.01.2023
Товарная дистрибуция 30 лет спустя. Как программисты изменили продажи крупного бизнеса «Я думал, что буду строить банк, а на самом деле построил ИТ-компанию» Олег Тиньков, безработный Есть такая штука — товарная дистри...
10.01.2023
Как мы решили выпускать собственный продукт через CustDev и у нас получилось Собственный продукт как фиксация компетенции  В развитии крупных компаний-аутсорсеров наступает момент, когда они уже обросли опытом и компетенциями ...
19.12.2022
Учимся настраивать свою почту, не наступая на чужие грабли: Postfix + msmtp + сайт Привет, меня зовут Никита, я backend-разработчик в компании ИНТЕРВОЛГА. Работаю в компании уже 3 года, и за этот срок достаточно часто мне приходилось вози...

Мы работаем по одному из двух форматов:

  • аренда команды (от 2 человек, не менее 3 месяцев);
  • итерации с фиксированной ценой (1-3 месяца длительностью).

ИНТЕРВОЛГА предоставляет:

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

Для доработок и развития мы предлагаем формат 100 часов в месяц. Что можно сделать за это время:

  • новые нетиповые страницы или раздел;
  • 2 отчета с индивидуальными настройками;
  • 3-5 веб-сервисов интеграции;
  • замудренный калькулятор и т.п.

Поддержка «чтобы все работало как часы» стоит 45 тысяч рублей в месяц и описана тут.

Хочешь получать лучшие статьи от INTERVOLGA раз в месяц?
Подпишись на рассылку — спамить не будем