25.06.2024
Поддержка протокола WebSocket
Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.
Планируется в версии 8.3.27
По многочисленным просьбам разработчиков, использующих платформу 1С:Предприятие, в версии 8.3.27 появится поддержка протокола WebSocket.
Объект метаданных WebSocket-клиент
Помимо динамической работы с протоколом WebSocket из программного кода будет также возможность создания в конфигурации объектов метаданных типа WebSocket-клиент (в разделе «Общие» дерева метаданных). У объекта WebSocket-клиент есть модуль, в котором можно написать код обработчиков:

Работать из кода с объектами метаданных типа WebSocket-клиент можно будет на сервере, в толстом клиенте и внешнем соединении.
Встроенный язык
Встроенный язык будет расширен новыми объектами для поддержки протокола WebSocket. Описание сценария работы с протоколом WebSocket из встроенного языка:
- Создается WebSocket-соединение с указанием URI WebSocket-сервера, с которым мы будем работать.
- У WebSocket-соединения можно указать обработчики событий, вызываемых при открытии, получении сообщения, закрытии и возникновения ошибки в соединении.
- После установки соединения внешний WebSocket-сервер может посылать сообщения в приложение 1С, при получении сообщения в приложении 1С будет вызываться соответствующий обработчик.
- Пересылка данных (строка или двоичные данные) из приложения 1С выполняется через открытое WebSocket-соединение.
Инициатором общения является приложение 1С, выступающее как WebSocket-клиент.
Создавать клиентские WebSocket-соединения можно будет в толстом, тонком, веб-клиенте и на сервере.
Функция «Управление WebSocket-клиентами» для технических специалистов
В «Функции для технического специалиста» добавлена функция «Управление WebSocket-клиентами». Это может быть востребовано, в частности, в сценариях, когда на внедрении есть несколько однотипных WebSocket-серверов, с которыми приложение 1С обменивается данными.

Сценарии использования
В первую очередь использование протокола WebSocket в приложениях 1С позволит реализовать широкий спектр задач интеграции без использования внешних компонентов, в частности:
- Интеграция с сервисами телефонии
- Интеграция с сервисами электронной цифровой подписи
- Интеграция с брокерами сообщений (RabbitMQ, ZeroMQ и т.д.)
Станет возможным быстрый обмен сообщениями c приложениями, поддерживающими протокол WebSocket – система мгновенного обмена сообщениями Discord, встраиваемый веб-сервер Mongoose, веб-сервер и сервер приложений Barracuda, веб-сервер и сервер приложений Resin, брокером сообщений Lightstreamer
и т.д.
Протокол WebSocket устанавливает одно соединение и передаёт ответ на запрос в тот момент, когда ответ появился, без дополнительных запросов, как у HTTP-протокола. Запросы и ответы приходят без задержек и сетевой нагрузки. Протокол WebSocket можно использовать там, где скорость обмена сообщениями критична. Например, если мы разрабатываем веб-сайт наподобие кабинета клиента, где отображаются различные метрики из инфобазы 1С (обновление статусов, публикация уведомлений и т.д.) – использование протокола WebSocket будет оптимальным решением.
Теги:
8.3.27