1С:Предприятие 8. Веб-сервисы. Введение

Jul 20, 2022 20:58

Технология веб-сервисов была создана для передачи сообщений от одного узла сети другому. Сообщения пересылаются в формате XML. Для пересылки сообщений 1с используется протокол SOAP. Но 1С использует не пересылку сообщений, а, основанную на пересылке, технологию вызова удаленных процедур. Так же платформа 1С позволяет вызывать операции сторонних веб-сервисов (ws-ссылки).

К примеру, где то имеется сервер с выходом в интернет, установленным сервером 1С: Предприятия, на котором опубликован веб-сервис с процедурой int plus2(a), которая прибавляет к "a" число 2 и возвращает результат.



На рисунке показано как один узел вызывает функцию plus2(). А другой узел возвращает ему результат в виде XML сообщения.

Но для того что бы воспользоваться веб-сервисом надо знать где его искать, какие есть у него функции, какие собственные типы вы определили. Для этого существует WSDL. WSDL (англ. Web Services Description Language) - язык описания веб-сервисов и доступа к ним, основанный на языке XML.

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

Вторым преимущество веб-сервисов является преобразование типов. Разработчику 1с совсем не надо думать как хранится, например, время в php, перед тем как его передать или принять как параметр. Нужно просто указать тип datetime и все преобразования сделает платформа.

Для передачи объектных данных базы 1с, например документа или справочника, существует перевод объектной модели в формат XML. Для этих целей служит XDTO. XDTO является механизмом объектного моделирования данных. Этот механизм позволяет описать ваши типы данных используя примитивные типы. Например документ с двумя реквизитами и одной табличной частью в XDTO описывается как ОбъектXDTO с тремя свойствами типа строка, одно из которых представлено в виде массива с набором других свойств. XDTO позволяет вам преобразовать объект не только для веб-сервиса, но и для записи, например, в xml файл. Скажу, что для каждого объекта уже есть своя модель XDTO и вам совсем не обязательно модель XDTO для каждого созданного вами документа, платформа делает структуру по умолчанию всегда.

Третий плюс в том что сам протокол SOAP чаще всего используется с протоколом HTTP, что помогает избежать многи проблем с маршртизацией, блокировками и прочим. Так же сообщения SOAP можно передавать и с многими другими протоколами, например можно передать в элеткронном письме.

Но у веб сервисов есть и недостатки. Самый важный это большой объем передаваемых данных, ввиду того что сообщения передаются текстом в виде XML, в котором каждое значение экранируется тегами.
Именно из за большого объема данных возникает второй недостаток - медленная скорость передачи данных.

Но тем не менее с каждым годом популярность веб сервисов растет, компания 1С уделяет им большое внимание и сейчас видно что 1С нацелена на развитие работы платформы 8.2 в сети интернет о чем свидетельствует выпуск БиблиотекиСтандартныхПодсистем с расширенными методами работы с веб сервисами и постоянное развитие веб-клиента.

Подведем итоги. Веб-сервисы в платформе 1с реализован в части удаленного вызова процедур. Для передачи сообщений 1с используется протокол SOAP. Чаще всего протокол SOAP используется совместно с протоколом HTTP, но может использовать и другие протоколы. Для описания структуры веб сервиса, составляющих его функций и типов данных используется язык WSDL. Для описания структур данных веб сервиса в 1с используется механизм XDTO. Для каждого типа метаданных (Документ ПриходнаяНакладная, Правочник Контрагенты и т.д.) в 1с хранится структура XDTO по умолчанию.

Смотрите также:
Электронный учебник по программированию в 1С
Рекомендации по изучению программирования 1С с нуля
Игра "Кто хочет стать миллионером?" с вопросами на определенную тематику (язык программирования JavaScript, английские, немецкие, французские, испанские, португальские, ни­дер­ландские, итальянские слова, электробезопасность, промышленная безопасность, бокс и т.п.), написанная на 1С
Программирование в 1С 8.3 с нуля - краткий самоучитель
Комплексная подготовка программистов 1С:Предприятие 8.2
Сайты с уроками программирования и со справочниками
Youtube-каналы с уроками программирования
Сайты для обучения программированию
Лекции и уроки

программирование

Previous post Next post
Up