Механизм Web – сервисов в системе«1С:Предприятия 8»
Введение
Встроенный язык программирования 1С:Предприятие — язык программирования, который используется в семействе программ «1С:Предприятие». Данный язык является предварительно компилируемым языком высокого уровня.
Средой исполнения языка является программная платформа «1С:Предприятие». Визуальная среда разработки («Конфигуратор») является неотъемлемой частью пакета программ «1С:Предприятие».
Диалекты языка для платформ 1С 7 версий (7.0, 7.5, 7.7) совместимы «снизу вверх» с незначительными исключениями. Языки для платформ 1С:7х и 1С:8х совместимы по основным операторам, но значительно отличаются в работе с прикладными объектами, вследствие чего перенос кода из 1С:7х в 1С:8х не имеет смысла.
Встроенный язык «1С:Предприятие 8» наиболее подобен по своему синтаксису языку VisualBasic.
Платформой предоставляется фиксированный набор базовых классов, ориентированных на решение типовых задач прикладной области:
– константа,
– справочник,
– документ,
– журнал документов,
– перечисление,
– отчет,
– обработка
– план счетов и др.
На основании базовых классов средствами визуального конфигурирования можно создавать любое количество порождённых классов (возможность определить новый класс программно — отсутствует). Допускается только одна явная ступень наследования классов.
Теоретическая часть
Механизм Web – сервисов в системе«1С:Предприятия 8»
Web-сервис – это сетевая технология, обеспечивающая межпрограммное взаимодействие (между различными приложениями) на основе веб-стандартов. Web-сервисы дают возможность обратиться с одного приложения к другому и при этом выполнять определенные функции.
Прикладное решение «1С:Предприятия 8» может являться:
- поставщиком веб-сервисов;
- потребителем веб-сервисов, опубликованных другими поставщиками.
Попробуем дать обобщённое определение термину «Web-сервис».
Web-сервис– это сетевая технология, обеспечивающая межпрограммноевзаимодействие(между различными приложениями) на основе веб-стандартов. Web-сервисы дают возможность обратиться с одного приложения к другому и при этом выполнять определенные функции.
Веб-сервис идентифицируется строкой URI (UniformResourceIdentifier) – унифицированным идентификатором ресурса (это символьная строка, позволяющая идентифицировать какой-либо ресурс).
Веб-сервис имеет программный интерфейс, представленный в формате WSDL (WebServicesDescriptionLanguage) – язык описания веб-сервисов и доступа к ним, основанный на языке XML (спецификация http://www.w3.org/TR/wsdl). Предназначен для унифицированного представления внешних интерфейсов веб-службы и используется для того, чтобы другая программа знала, что такой «сервис» есть у этой программы (т.е. первая программа на веб сайте выкладывает сведения о своих сервисах именно в формате файла WSDL).
Другие системы взаимодействуют с веб-сервисом путем обмена сообщениями протокола SOAP (SimpleObjectAccessProtocol – простой протокол доступа к объектам) – протокол обмена структурированными сообщениями в распределенной вычислительной среде (спецификация http://www.w3.org/TR/soap). Как любой текстовый протокол, SOAP может использоваться с любым протоколом прикладного уровня: SMTP, FTP, HTTPS и другие, но чаще всего SOAP используется поверх HTTP.
Рисунок 1 – Концепция веб-сервиса
SOAP используется для обмена произвольными сообщениями в формате XML и удалённого вызова процедур (RPC).
Таким образом, между веб-сервисом и приложением осуществляется обмен XML-документами, оформленными в виде сообщений. Стандарты веб-сервисов определяют:
- формат сообщений, интерфейс, которому передается сообщение;
- правила привязки содержания сообщения к реализующему сервис приложению и обратно;
- механизмы публикации и поиска интерфейсов.
Самый простой и очевидный пример применения web-сервисов – получение справочных данных из публичных сервисов, доступных в Интернете. Например, Аэрофлот посредством Web-сервиса предоставляет информацию о своих рейсах, Банк России – информацию о курсах валют, ценных бумагах, кредитных организациях – вариантов может быть много.
Прикладное решение «1С:Предприятия 8» может являться:
- поставщиком веб-сервисов;
- потребителем веб-сервисов, опубликованных другими поставщиками.
В системе «1С:Предприятия 8» Web-сервисы - это один из механизмов платформы, используемых для интеграции с другими информационными системами и приложениями «1С:Предприятия 8» между собой.
Иными словами система «1С:Предприятие» может экспортировать свою функциональность через Web-сервисы. Их определения задаются в дереве конфигурации и становятся доступны произвольным информационным системам благодаря публикации их на веб-сервере.
Механизм Web-сервисов в системе «1С:Предприятие» является средством поддержки сервисно-ориентированной архитектуры (Service-OrientedArchitecture, 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.