В чем разница между веб-сервисами (WEB) и HTT...
-

В чем разница между веб-сервисами (WEB) и HTTP-сервисами в учетной системе 1С

0
4536
20.07.2025 Дмитрий Сарычев

Содержание:

1. Общие сведения о WEB- и HTTP-сервисах в 1С

2. Сервисы в учетной программе 1С

3. Различия с точки зрения запросов в учетной системе 1С    


1. Общие сведения о WEB- и HTTP-сервисах в 1С


Если клиентская машина и сервер находятся пределах одного здания, то проще соединить их в одну локальную сеть, и соединение между ними обычно осуществляется по протоколу TCP/IP.


Однако всё чаще используется подключение пользователей через глобальную сеть Internet, когда пользователи находятся в других зданиях, городах, странах, или просто используют мобильные устройства, то есть подключаются через операторов связи.


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


В таком случае используются WEB- и HTTP-сервисы, предоставляющие такой доступ.


В 1С HTTP-сервисы на платформе 1С 8.3.5.1068 появились летом 2014 года, то есть 10 лет назад, а первые Web-сервисы и того раньше, как минимум, уже в 8.1, то есть 2006 году.


Исходя из этого, можно предположить, что Web-технология более простая и примитивная? Однако, нет, скорее даже, наоборот.


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


WEB-сервисы позволяют передавать данные в значительных объемах, зачастую излишних, но при этом ограничены стандартными возможностями web-интерфейса.


HTTP-сервисы позволяют создавать коммуникации «с нуля», с простыми приборами, имеющими выход в Интернет: кассовые терминалы, весы, измерительные приборы и датчики.


В самых общих словах, если WEB – это Интернет людей, то HTTP – это Интернет вещей.


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


В какой-то степени можно сравнить эти сервисы с также очень похожими форматами XML (для web), и JSON (для HTTP), которые тоже родственные, но имеют разные функции и возможности.


В основном, исходя из разных целей и методов, возникает и разница в фактической реализации сервисов в 1С.   


2. Сервисы в учетной программе 1С


Просто зайдя в конфигуратор любой современной конфигурации 1С, можно увидеть соответствующие метаданные и заготовки для их быстрого создания.
В новой конфигурации списки пустые, а в типовой конфигурации обычно уже есть несколько заполненных сервисов.



Конфигурация


Список существующих сервисов сильно зависит от назначения типовой конфигурации и решаемых ею задач, но есть немало и однотипных сервисов, например Exchange, связанных с обменом данными. Для статьи использованы примеры из конфигурации Бухгалтерия Предприятия 3.0.



Список сервисов


В создании и настройке WEB и HTTP сервисы похожи, но все же имеют существенные различия.


Сходны они тем, что используют в качестве посредника публикацию на специальном Web-cервере. В этом качестве обычно используют Apache HTTP Server, Nginx, Microsoft Internet Information Services (IIS) (в сумме почти 80% всех применений), но ими список не ограничивается.


Уже по рисункам и количеству вкладок и полей, которые нужно заполнять, видно, что Web немного сложнее, так как требуется ещё создать и подключить пакеты XDTO.


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


Предназначение XDTO - сопоставление данными между 1С и другими системами в XML.

 

WEB-сервисы используют более сложную организацию «URL пространства имён» вместо просто «корневой URL» HTTP-сервиса. То есть используется иерархию имён, разделённых точками, которая может включать в себя несколько уровней вложенности. Пространства имён URL используются для организации и группировки ресурсов на сайте, обеспечивая более удобный доступ к ним и облегчая навигацию для пользователей и поисковых систем.



kl_WebСервис1



Шаблоны URL1



AgentScripts



Публикация на веб-сервере, WEB-сервисы



Публикация на веб-сервере, HTTP-сервисы   


3. Различия с точки зрения запросов в учетной системе 1С


Сами программы-обработчики, с точки зрения кода, находится Модуле сервисов.
И здесь тоже есть некоторые различия.


В основном, для получения и изменения данных любой сервис использует четыре основных метода HTTP - GET, POST, PUT и DELETE.


HTTP-сервисы могут быть основаны на разных технологиях и протоколах, в основном на JSON. Однако HTTP сам по себе является базовым протоколом для передачи данных в интернете, поэтому HTTP-сервисы могут использовать методы напрямую.

• GET-запрос — метод для чтения данных с сервера, когда клиент отправляет запрос на сервер, указывая параметры поиска, и получает ответ в формате XML. Метод GET подходит для запроса небольших объёмов несекретных данных.

• POST- запрос — метод отправки данных, как правило после авторизации на сайте. Информация записана в тело запроса и защищена от перехвата.

• PUT - запрос— метод для изменения существующих ресурсов.


Вместе с ними, HTTP-сервисы активно используют еще 3 дополнительных метода, которые имеют более узкое применение.

• HEAD — это метод HTTP-запроса, который позволяет получить только заголовки ответа сервера без содержимого. Он используется для проверки доступности ресурса, определения его размера или других метаданных.

• PATCH — это метод HTTP-запроса, который позволяет внести частичные изменения в указанный ресурс по указанному расположению. Это полезно для обновления или исправления существующих ресурсов без полной их замены.

• OPTIONS — это метод HTTP-запроса, который позволяет запросить информацию о сервере, включая информацию о допускаемых к использованию на сервере HTTP-методах.

 

WEB — это сервис-ориентированная технология, по сути является удаленным вызовом процедур на сервере, с использованием технологии XDTO, чтобы проверять входящие и исходящие данные, передаваемые в формате XML.



Поэтому WEB достаточно редко использует перечисленные запросы в чистом виде, а гораздо чаще – методы, основанные на этих запросах.



Можно сказать, что WEB-сервисы основаны на протоколе SOAP.


SOAP - от англ. Simple Object Access Protocol — простой протокол доступа к объектам сообщениями в виде XML.



SOAP-сервисы ориентированы на действия и в этом отличаются от HTTP, технологии, ориентированной на ресурсы.


Это означает, что HTTP-сервис предоставляет доступ непосредственно к данным и функциям ресурса, а SOAP-сервис предоставляет доступ к методам, выполняющим операции над этими ресурсами.


Поэтому в HTTP описание, проверка типов, входящих и исходящих данных является уже задачей программиста, так как подразумевается, что обращение идет к ресурсу нужного типа.
Зато есть возможность не ограничиваться имеющимися методами, а самому задавать заголовки, параметры и тело запроса.

 

В итоге, WEB-сервисы в 1С часто реализуют более сложные сценарии интеграции и взаимодействия, где требуются дополнительные методы и функциональности.


Получение списка объектов:

вместо прямого GET-запроса, WEB-сервисы могут использовать более сложные методы для получения списков объектов, например, с фильтрацией и сортировкой.


Получение данных по идентификатору:

WEB-сервисы могут предоставлять методы для получения конкретного объекта по его идентификатору, используя параметры в URI.


Обновление объектов: Вместо прямого PUT-запроса, WEB-сервисы могут предоставлять методы для обновления существующих объектов, передавая обновленные данные в теле запроса.


Замена объектов:

WEB-сервисы могут поддерживать полную замену объектов новыми данными, используя PUT-запросы.


Веб-сервисы чаще используют POST-запросы, нежели остальные запросы, и почти не используют напрямую дополнительные HTTP-запросы.



Таким образом, хотя базовые GET, POST и PUT запросы используются, WEB-сервисы в 1С чаще применяют методы, основанные на этих запросах, для реализации более сложных и гибких сценариев интеграции и взаимодействия. Это позволяет более точно и эффективно управлять данными и операциями в системе.


Специалист компании ООО "Кодерлайн"

Дмитрий Сарычев

Обсудить статью в Telegram Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Услуги программиста 1С
Получите специалиста
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.