Механизм 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С:Предприятие 8», глава 16 «Механизм XDTO» и глава 17 «Механизмы интернет-сервисов».
- Установить и изучить функционал демонстрационной конфигурация «Web-сервисы» (http://its.1c.ru/ «Главная → Разработка и администрирование → Методическая поддержка для разработчиков и администраторов → Демонстрационные конфигурации → Web-сервисы»
- Попробовать реализовать свой Web-сервис в системе «1С:Предприятие».
Источники:
- http://its.1c.ru
- http://www.4stud.info/networking/web-services.html
- http://1с-обмен.рф/index.php/exchange-website-1c/integration-with-web-service
- http://citforum.ru/book/xml-wsdl/otryvok.shtml
Продолжение статьи Практическое применение механизма WEB-сервисов в системе «1С:Предприятие»