Web-сервисы vs HTTP-сервисы

1. SP17081992 5 14.03.18 11:44 Сейчас в теме
Доброго времени суток.

Коллеги, когда предпочтительнее использовать Web-сервисы, а когда HTTP-сервисы?

Здесь сказано
... как утверждает компания 1С, HTTP-сервисы потенциально позволяют упростить создание клиентских приложений, уменьшить объем передаваемых данных и вычислительную нагрузку, все это особенно для мобильных устройств.


Если верить этому сайту, то лучше всегда использовать HTTP-сервисы (ну разве есть кто-то, кому не нужна уменьшить объем передаваемых данных и вычислительную нагрузку). Так ли эта?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ArchLord42 83 14.03.18 13:36 Сейчас в теме
Веб сервисы позволяют проводить автоматическую валидацию получаемых данных (это наверное единственный их плюс), но к тому же они работают медленее, т.к. soap сообщения обычно для того же "hello world" будет иметь вид что-то типа.
<?xml version="1.0"?>

<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope/"
soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">

<soap:Header>
...
</soap:Header>

<soap:Body>
...
  <soap:Fault>
  ...
  </soap:Fault>
</soap:Body>

</soap:Envelope>
Показать

так же более трудоемкая работа для реализации взаимодействия с сервисом, банально больше кода писать.
Это уже почти прошлый век, практически везде (имею ввиду не только 1С) уже от них отошли в пользу "HTTP сервисов" + REST

То же сообщение "hello world" при использовании HTTP сервисов может иметь вид
{ "message": "Hello world" }


Меньше трафика, быстрее работа, но валидация ложится на создателя, так же легко генерить ответы HTTP сервиса на стороне 1С, т.е. обычно код построения ответа выглядет так

Возврат СоздатьHTTPОтвет(Новый структура("message", "Hello User"), 200);


Функция СоздатьHTTPОтвет содержит обычно строк 20-100 кода под копотом, все что она делает, это преобразует к JSON объект 1С, через ЗаписьJSON и возвращает HTTPСервисОтвет, описав в ней пару правил превращения ссылочных объектов и ТЗ (изначально ЗаписьJSON не умеет в ТЗ и ссылочные объекты) она будет +- универсальна для всех сервисов и не надо писать код для конвертации / описывать схемы каждого объекта по отдельности как это часто бывает с веб сервисами

Еще я прикрутил конвертацию результатов СКД (из дерева значений) в JSON и храню макеты ответов сервиса, добавить \ убрать \ отключить какой то реквизит из ответа сейчас дело 30 сек, открыть настройки СКД и произвести нужное действие и кодировать ответы вообще не приходится, все делается через СКД.

И чуть не забыл про приятный бонус, в любой конфе есть уже готовые HTTP сервисы на базе протокола oData, при простых случаях кодировать сервис вообще не приходится, достаточно юзать его.
AndrewKop; chemezov; a_a_burlakov; wunderland; +4 Ответить
3. SP17081992 5 14.03.18 16:23 Сейчас в теме
(2) А на стороне защиты: более защищен Web-сервисы или HTTP-сервисы?
maksa2005; +1 Ответить
4. gradi 5 14.03.18 16:40 Сейчас в теме
По мне Web-сервисы удобны для работы со сторонними системами, т.к. имеют средства для описания самих себя - WSDL. HTTP-сервис подразумевает знание о спецификации этих сервисов.
maksa2005; +1 Ответить
5. spezc 795 14.03.18 17:07 Сейчас в теме
только HTTP. хотя бы потому что авторизация в разы быстрее. не говоря уже про написание кода. а защита от вида сервиса не зависит.
akR00b; maksa2005; +2 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот