Рельсы веб-интеграции — REST и SOAP
- Сервисы веб-интеграции
- Что такое SOAP
- Что такое REST
- Чем же настроить веб-интеграцию?
- Веб-интеграция и Битрикс
- Использование REST и SOAP в больших бизнес-проектах
- Выводы
Функция |
Программное решение |
CMS для сайтов |
1С-Битрикс, WordPress, Joomla, OpenCart |
CRM-системы |
Битрикс24, Salesforce, amoCRM, Мегаплан |
Системы учета и автоматизации |
Современные и не очень технологии выделяют несколько методов работы в Интернете:
- Доступ к файлам через FTP;
- Неструктурированные HTTP-запросы, соглашения между разработчиками;
- Веб-службы (REST, SOAP, AJAX и т.д.);
- Необычные: сокеты, порты, двоичные объекты.
Сервисы веб-интеграции
Сервисы веб-интеграции (или веб-сервисы) — это технологии, при помощи которых различные системы передают друг другу данные (двусторонний обмен).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 в качестве транспорта.
Здесь мы поговорим о том, что же такое SOAP и REST.
Что такое SOAP
Простыми словами SOAP (или Simple Object Access Protocol) – это простой протокол доступа к объектам, в котором не только вызов процедур, но и передача БД происходит в формате XML.Базовые элементы (теги) SOAP:
- Envelope. Обязательный корневой элемент. Непосредственно он определяет сообщения и пространство времен;
- Header. Он же заголовок. Не является обязательным элементом, но содержит необходимые атрибуты для обработки сообщения (информация об идентификаторе, маршрутизации или безопасности);
- Body. Обязательный элемент, в котором содержится основная информация из сообщения;
- Fault. Необязательный, но полезный элемент. В нем содержится информация об ошибках, которые возникают в процессе обработки сообщений.
Преимущества SOAP |
Недостатки SOAP |
стандартизация по версии W3C |
сложно реализовать |
строгая спецификация |
сложно и долго парсить в XML |
понятная поддержка с продуктами Microsoft |
|
однозначность |
|
- запрос;
- ответ.
Что такое REST
Representational State Transfer — примечание — это архитектурный стиль, а не протоколом. Простыми словами REST — это набор правил и условий для программиста. Если специалист придерживается этим условиям, настройка обмена данными его проекта с другими сервисами будет быстрой и безболезненной.Особенность REST — данные передаются в исходном виде, не требуя конвертации. Это создает нагрузку на сеть, но разгружает веб-сервер.
Методы HTTP для работы с REST:
- GET — получение;
- POST — добавление;
- PUT — изменение;
- DELETE — удаление.
На практике в 9 из 10 случаев используешь лишь 2 — GET, чтобы получить данные и POST для всего остального.
Подсказка бывалого программиста
Преимущества REST |
Недостатки REST |
прост в программировании |
нет спецификации |
нет больших требований к ресурсам |
сложно и долго парсить в XML |
нет требований к замысловатым программным надстройкам |
нет чётких методов для управления базами |
- запрос;
- ответ (нужен новый скрин).
Чем же настроить веб-интеграцию?
Так каким же методом интеграции правильно пользоваться?Для ответа на этот вопрос важно знать, над каким проектом идет работа.
Очевидный вопрос
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-решения для интеграции.
Статьи по теме
- аренда команды (от 2 человек, не менее 3 месяцев);
- итерации с фиксированной ценой (1-3 месяца длительностью).
- регулярные онлайн-планерки с заказчиком;
- квалифицированных специалистов;
- организованную команду (находятся в одном помещении, что упрощает решение рабочих вопросов);
- полную прозрачность и регулярность отчетов о результатах.
- нагруженный интернет-магазин;
- личный кабинет;
- оптовые продажи — B2B-платформа;
- маркетплейс;
- технический аудит сайта;
- Битрикс24 — корпоративные HR-порталы;
- Битрикс24 — построение CRM-системы;
- Битрикс24 — личные кабинеты сотрудников;
- Битрикс24 — аудит портала;
- 1С — интеграция с другими системами;
- 1С — доработка системы;
- маркетинг — комплексное интернет-продвижение;
- маркетинг — продвижение для B2B.