Использование механизма Web-сервисов в системе "1С:Предприятие"

Программирование - Практика программирования

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

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

 

1.      ОБЩИЕ ОПРЕДЕЛЕНИЯ

    Попробуем дать обобщённое определение термину «Web-сервис».

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

    Веб-сервис идентифицируется строкой URI (Uniform Resource Identifier) – унифицированным идентификатором ресурса (это символьная строка, позволяющая идентифицировать какой-либо ресурс).

    Веб-сервис имеет программный интерфейс, представленный в формате WSDL (Web Services Description Language) – язык описания веб-сервисов и доступа к ним, основанный на языке XML (спецификация http://www.w3.org/TR/wsdl). Предназначен для унифицированного представления внешних интерфейсов веб-службы и используется для того, чтобы другая программа знала, что такой «сервис» есть у этой программы (т.е. первая программа на веб сайте выкладывает сведения о своих сервисах именно в формате файла WSDL).

    Другие системы взаимодействуют с веб-сервисом путем обмена сообщениями протокола SOAP (Simple Object Access Protocol – простой протокол доступа к объектам) – протокол обмена структурированными сообщениями в распределенной вычислительной среде (спецификация http://www.w3.org/TR/soap). Как любой текстовый протокол, SOAP может использоваться с любым протоколом прикладного уровня: SMTP, FTP, HTTPS и другие, но чаще всего SOAP используется поверх HTTP.

 

Концепция веб-сервисов

Рисунок 1. Концепция веб-сервиса.

    SOAP используется для обмена произвольными сообщениями в формате XML и удалённого вызова процедур (RPC).

    Таким образом, между веб-сервисом и приложением осуществляется обмен XML-документами, оформленными в виде сообщений. Стандарты веб-сервисов определяют:

    -  формат сообщений, интерфейс, которому передается сообщение;

    -  правила привязки содержания сообщения к реализующему сервис приложению и обратно;

    -  механизмы публикации и поиска интерфейсов.

Самый простой и очевидный пример применения web-сервисов – получение справочных данных из публичных сервисов, доступных в Интернете. Например, Аэрофлот посредством Web-сервиса предоставляет информацию о своих рейсах, Банк России – информацию о курсах валют, ценных бумагах, кредитных организациях – вариантов может быть много.


2.      WEB-СЕРВИСЫ В СИСТЕМЕ «1С:ПРЕДПРИЯТИЕ»

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

    -   поставщиком веб-сервисов;

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

    В системе «1С:Предприятия 8» Web-сервисы - это один из механизмов платформы, используемых для интеграции с другими информационными системами и приложениями «1С:Предприятия 8» между собой.

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

    Механизм Web-сервисов в системе «1С:Предприятие» является средством поддержки сервисно-ориентированной архитектуры (Service-Oriented Architecture, SOA) – означает, что программы для обмена данными друг с другом используют «сервисы».

    Для того чтобы функциональность системы «1С:Предприятие» могла быть доступна внешним потребителям Web-сервисов, нужно выполнить следующие действия:

    -  создать в конфигурации необходимое количество Web-сервисов;

    -  опубликовать Web-сервисы с помощью специального инструмента конфигуратора.

    Создание Web-сервиса заключается:

    -  в добавлении в дерево метаданных объекта конфигурации Web-сервис;

    -  описании операций, которые может выполнять данный Web-сервис;

    -   описании параметров операций.

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

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

  - из пула соединений выбирается подходящее соединение с информационной базой; при отсутствии необходимого соединения соединение создается;

    -  создается новый сеанс;

    -  выполняется вызов затребованного метода Web-сервиса.

Механизм Web-сервисов, реализованный в системе «1С:Предприятие», поддерживает следующие стандарты:

    -  SOAP 1.1;

    -  SOAP 1.2;

    -  WSDL 1.1;

    -  WS-I Basic Profile 1.1;

    -  HTTP 1.1;

    -  SSL 3.0/TLS 1.0.

 

3.      ИЗУЧЕНИЕ WEB-СЕРВИСОВ В СИСТЕМЕ «1С:ПРЕДПРИЯТИЕ»

    Изучать возможности Web-сервисов в системе «1С:Предприятие» предлагаю по следующей схеме:

  1. Ознакомиться и проанализировать «Руководство разработчика «1С:Предприятие 8», глава 16 «Механизм XDTO» и глава 17 «Механизмы интернет-сервисов».
  2. Установить и изучить функционал демонстрационной конфигурация «Web-сервисы» (http://its.1c.ru/ «Главная → Разработка и администрирование →  Методическая поддержка для разработчиков и администраторов → Демонстрационные конфигурации → Web-сервисы»
  3. Попробовать реализовать свой Web-сервис в системе «1С:Предприятие».

 

Источники:

  1. http://its.1c.ru
  2. http://www.4stud.info/networking/web-services.html
  3. http://1с-обмен.рф/index.php/exchange-website-1c/integration-with-web-service
  4. http://citforum.ru/book/xml-wsdl/otryvok.shtml

Продолжение статьи Практическое применение механизма  WEB-сервисов в системе «1С:Предприятие»

См. также

Комментарии
1. Ivan Khorkov (vano-ekt) 864 28.01.15 13:19 Сейчас в теме
2. Дмитрий Мальцев (DimKirov) 29.01.15 12:25 Сейчас в теме
Тема интересная, но изложенный материал из разряда общих знаний.
Для практического применения не хватает примера реализации или советов по использованию.
3. AxiomLab (AXIOMLAB24) 29.01.15 13:58 Сейчас в теме
(2) DimKirov, статья по практическому применению Web-сервисов в системе 1С сейчас находится на стадии разработки. В течении одной недели (до 04/02/2015 г.) ожидается ее публикация на infostart.ru.
4. Максим Кузнецов (Makushimo) 150 02.02.15 11:12 Сейчас в теме
жду развернутой статьи.
5. Виталий Ткаченко (tkachenkovu) 03.02.15 11:38 Сейчас в теме
(3) AxiomLab, зачем изобретать велосипед когда можно поиском воспользоваться? http://infostart.ru/public/193460/ вот отличная практическая статья на эту тему. Коротко и ясно.
GreenDragon; +1 Ответить
Оставьте свое сообщение