Интеграция через Внешний процесс

Принимая во внимания ряд текущих обстоятельств, мы решили добавить в Viinex 2.0 простую и в то же время мощную функцию для взаимодействия с практически любыми внешними системами.

Viinex 2.0 может отправлять и принимать события, -- структуры данных, содержащие некоторые предопределенные поля (а также некоторые произвольные данные), сериализуемые и десериализуемые из формата JSON. Механизм для интеграции, который мы добавляем, позволит внешнему (по отношению к Viinex) процессу считывать события, приходящие от Viinex 2.0, а также позволит такому процессу генерировать события и отправлять их для обработки другими объектами Viinex.

Самый простой способ реализовать это, по нашему мнению, состоит в том чтобы взаимодействовать с внешним процессом через стандартные потоки ввода-вывода. Мы вводим новый объект Viinex, имеющий тип "process", который служит для того чтобы запустить новый процесс в операционной системе (то есть -- Viinex запускает этот процесс и в дальнейшем управляет его жизненным циклом). Потоки стандартного ввода и вывода новосозданного процесса соединены с управляющим экземпляром Viinex 2.0 посредством каналов (pipes). Viinex использует pipes, чтобы отправлять события во внешний процесс, а также чтобы получать события из этого процесса. Обмен данными производится в формате JSON.

При таком взаимодействии внешнему процессу не придется использовать какой-либо дополнительный API, сторонние библиотеки, и т.п. А значит, внешний процесс может быть реализован с использованием практически любого языка программирования; все, что ему требуется -- это доступ к стандартному вводу и выводу, и возможность разбирать и формировать данные в формате JSON. Никаких других ограничений, кроме указанных здесь, Viinex на реализацию внешнего процесса не налагает; последний может выполнять любые действия и взаимодействовать с любой другой сторонней программной системой.

Резюмируем. Представлен новый способ интеграции с Viinex 2.0, -- а именно, событийно-ориентированная интеграция с внешним процессом, который запускается и управляется экземпляром Viinex. Интеграция сводится просто к обмену событиями через стандартный ввод и вывод процесса, -- и потому является мощным механизмом, так как не делает дополнительных допущений о поведении процесса, а значит и не ограничивает его в том, с какими внешними программными или аппаратными системами он, в свою очередь, может взаимодействовать.

Комментариев еще нет.

Leave a Reply

Вы должны войти Авторизованы чтобы оставить комментарий.