Введение
В процессе работы над этой конфигурацией встал вопрос о взаимодействии с оборудованием и удаленными компьютерами. Одним из промышленных стандартов, в этом отношении, является протокол SSH и большинство видов оборудования и ОС имеют встроенные средства работы по этому протоколу. Поскольку одним из видов “рабочего сервера” в вышеупомянутой конфигурации является сервер с развернутым http-сервисом OneScript, было решено воспользоваться готовым решением, входящим в библиотеку OneScript, созданным на базе широко известной разработки Ssh.Net. Поскольку директива #Использовать, не поддерживается механизмом http-сервисов (возможно ситуация изменилась), было решено создать обертку, которая позволяет использовать эту библиотеку в http-сервисах, а также из платформы.
Состав конфигурации
Библиотека оформлена в виде конфигурации, которая может быть внедрена в прикладное решение на базе вашей конфигурации либо на основе каркасной конфигурации http-сервисы OneScript. Поскольку для реализации выполнения в среде 1С:Предприятие используется технология COM, ее использование ограничено ОС Windows. В среде выполнения OneScript библиотека может быть использована также и в приложениях, под управлением ОС Linux.
Подсистема БиблиотекаКлиентSSH
Данная подсистема представляет собой реализацию библиотеки для платформы 1С:Предприятие. Ее состав представлен на рисунке ниже
Рисунок 1. Состав подсистемы БиблиотекаКлиентSSH
Она включает в себя макет, с бинарными файлами, реализующими COM-объекты (1), макет с краткой инструкцией по установке COM-объекта (2), а также набор обработок, реализующий классы библиотеки (3).
Подсистема БиблиотекаКлиентSSHДляOneScript
Данная подсистема представляет собой реализацию библиотеки для внедрения в каркасную конфигурацию HTTP-сервисы OneScript. Ее состав представлен на рисунке ниже.
Рисунок 2. Состав подсистемы БиблиотекаКлиентSSHДляOneScript
Подсистема включает в себя макеты с настройками файла web.config (1), бинарные файлы библиотеки (2), а также краткую информацию (3).
Подсистема ДемоБиблиотекаКлиентSSH
Содержит простейшую демонстрационную обработку, которая предназначена для тестирования работоспособности.
Тестируем работоспособность
Зарегистрируем COM-компоненты, запустим конфигурацию в режиме предприятия и откроем демонстрационную обработку.
Заполним параметры подключения. В приведенном случае – это виртуальная машина под управлением Ubuntu Server 16.04., введем команду и нажмем кнопку выполнить.
При этом будет выполнен следующий фрагмент кода
Результат выполнения команды, представлены на рисунке ниже:
Рисунок 2. Результат выполнения команды.
Использование библиотеки в http-сервисах OneScript синтаксически полностью аналогично использованию из 1С:Предприятие.
Заключение
Надеюсь, что данная библиотека будет полезной, для задач взаимодействия с оборудованием и удаленными компьютерами.
P.S.
Библиотека также доступна на github, и я надеюсь, что asosnoviy примет pull request J
История версий
Текущая версия 1.1.0.3
Добавлена реализация класса КомандаSSH
Здравствуйте, туннели с помощью нее не получится прокидывать?
(1)Сама библиотека позволяет:
https://stackoverflow.com/questions/31105470/ssh-net-tunneling
Однако компоненты для этой задачи надо допиливать
(2) Здравствуйте, спасибо большое за ответ и ссылку.
(3)не за что 🙂