Объект 1С «Web-сервисы»

Web-сервисы 1С — это один из механизмов платформы, используемых для интеграции с другими информационными системами; является средством поддержки SOA (Service-Oriented Architecture) — сервис-ориентированной архитектуры (современного стандарта интеграции приложений и информационных систем).

Указанный объект используется для экспорта функциональности данной (конкретной) информационной базы.

Схема архитектуры Web-сервиса

Отсюда

Схема архитектуры Web-сервиса

Менеджер web-сервиса, представленный на схеме, решает следующие задачи:

  • управляет пулом соединений с информационными базами;
  • поддерживает описание сервиса в формате WSDL (Web Services Description Language, язык описания веб-сервисов, основанный на XML);
  • реализует протокол SOAP (Simple Object Access Protocol — простой протокол доступа к объектам), обеспечивает сериализацию сообщений, вызов нужных web-сервисов.

[свернуть]

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

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

Типы параметров и возвращаемых значений Web-сервисов описываются с помощью механизма XDTO. Например, в случае если функция, реализующая операцию WEB-сервиса, принимает какое-либо значение в качестве параметра (или возвращает какое-либо значение), то такое значение определяется (при настройке соответствующего объекта конфигурации) как имеющее тип объект или значение XDTO.

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

Рисунок "Свойства и параметры Web-сервиса" 1С

Параметры Web-сервиса

[свернуть]

Для получения доступа к Web-сервису необходимо использовать адрес, который формируется следующим образом:

http://host/base/ws/ИмяWebСервиса

или

http://host/base/ws/АдресWebСервиса.

Составные части адреса

http://host/base – обычный URL, по которому выполняется доступ, например, к информационной базе с помощью веб-клиента. При наличии разделителей, не поддерживается указание значений разделителей с помощью параметра Z командной строки запуска клиентского приложения.

ws – признак того, что выполняется обращение к Web-сервису (в отличие от hs, который определяет доступ к HTTP-сервису).

ИмяWebСервиса – имя Web-сервиса. Задается в свойстве объекта Web-сервис.

АдресWebСервиса – описывает альтернативное имя для доступа к Web-сервису. Задается в свойстве Имя файла публикации объекта Web-сервис. Может быть изменено при публикации Web-сервиса.

Обращения по имени ИмяWebСервиса  и адресу АдресWebСервиса Web-сервиса являются равносильными.

[свернуть]

Прикладное решение 1С:Предприятия 8 может являться:

  1. поставщиком веб-сервисов;
  2. потребителем веб-сервисов, опубликованных другими поставщиками.

1С:Предприятие как поставщик Web-сервисов

Если прикладное решение является поставщиком web-сервиса то и в файловом, и в клиент-серверном варианте работы взаимодействие между прикладным решением и потребителями веб-сервиса осуществляется через веб-сервер, с помощью модуля расширения веб-сервера (рисунок).

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

В случае клиент-серверного варианта работы этот модуль будет исполняться в кластере. В случае файлового варианта работы — в модуле расширения веб-сервера.

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

Добавление объекта 1С "Web-сервис"

Добавление объекта 1С "Web-сервис"

[свернуть]

Для того чтобы Web-сервис был доступен потребителям, выполняется публикация Web-сервиса. Web-сервис может быть опубликован на веб-сервере Internet Information Services или Apache через файловую систему. После публикации на веб-сервере такой сервис будет доступен сторонним потребителям.

В качестве потребителей могут выступать системы, использующие произвольные аппаратные и программные платформы.

1С:Предприятие как потребитель Web-сервисов

Если прикладное решение является потребителем web-сервиса стороннего поставщика, то в этом случае взаимодействие между прикладным решением и поставщиком веб-сервиса осуществляет клиентское приложение. Оно вызывает те или иные операции веб-сервиса и обрабатывает полученные данные.

В прикладном решении можно описать ссылку (WS-ссылку) на Web-сервис, опубликованный сторонним поставщиком. После этого прикладное решение сможет использовать данные, получаемые с помощью такого веб-сервиса, в своих внутренних прикладных алгоритмах.

WS-ссылка — это общий объект конфигурации, предназначенный для описания в прикладном решении «статической» ссылки на некоторый внешний веб-сервис стороннего поставщика.

Вызов Web-сервиса происходит следующим образом:

  1. из пула соединений выбирается подходящее соединение с информационной базой; при отсутствии необходимого соединения соединение создается;
  2. создается новый сеанс и для созданного сеанса вызывается событие УстановкаПараметровСеанса (в модуле сеанса);
  3. выполняется вызов затребованного метода Web-сервиса, при этом происходит вызов обработчика УстановкаПараметровСеанса() (в модуле сеанса) каждый раз, когда происходит обращение к не инициализированному параметру сеанса.

Не рекомендуется выполнять ресурсоемкие операции в обработчике события УстановкаПараметровСеанса.

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

Модуль сеанса  служит для инициализации параметров сеанса и выполнения некоторого набора команд при вызове любого Web-сервиса системы «1С:Предприятие». Событие УстановкаПараметровСеанса модуля сеанса вызывается на сервере в привилегированном режиме.

Примеры реализации Web-сервисов по ссылкам:

  1.  https://infostart.ru/public/327963/
  2. http://master1c8.ru/

Особенности использования Web-сервисов 1С:

  1. При обращении к WEB сервису последовательность действий следующая: 
    • по динамической ссылке:
      1. получение wsdl-описания;
      2. настройка подключения (создание прокси);
      3. обращение к операции сервиса.
    • по статической ссылке:
      1. настройка подключения (создание прокси);
      2. обращение к операции сервиса.

       

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.