Механизм 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.

Механизм Web – сервисов в системе«1С:Предприятия 8» - student2.ru

Рисунок 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.

Наши рекомендации