Порты

Порт — способ коммуникации между узлами. В зависимости от структуры передаваемых/принимаемых данных различают следующие типы портов, каждый из которых обозначается иконкой соответствующей формы:

  •  Табличные данные;
  •  Переменные;
  •  Данные в иерархической древовидной форме;
  •  Параметры подключения к источнику данных;
  •  Структура данных не определена.

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

Узлы Сценария принимают данные через входные порты, а отдают через выходные. Входные порты на пиктограмме узла сценария располагаются слева, а выходные — справа (см. рисунок 1).

Узел сценария с двумя входными и одним выходным портом.
Рисунок 1. Узел сценария с двумя входными и одним выходным портом.

Данные перед обработкой узлом попадают в его входной порт, где они могут быть предварительно модифицированы.

Внутри порта (см. рисунок 2) данные так же представлены в виде входного и выходного наборов полей или переменных, в зависимости от типа порта. Входной набор представляет данные, которые порт принимает. Выходной набор представляет данные, которые порт отдает. При настройке порта пользователь имеет возможность:

  • задать произвольную структуру выходного набора — его перечень и параметры полей/переменных;
  • сопоставить поля (или переменные) входного набора порта с полями выходного.

Для узла, принимающего и отдающего набор данных (таблицу), схему движения данных можно представить следующим образом (см. рисунок 2):

Схема движения данных для узла, принимающего и отдающего набор данных (таблицу).
Рисунок 2. Схема движения данных для узла, принимающего и отдающего набор данных (таблицу).

Таким образом, для узла, схема движения данных которого представлена на рисунке 2, данные проходят следующие этапы преобразований:

  1. Изменение структуры данных во входном порту и передача их на обработку.
  2. Обработка алгоритмом узла. В результате обработки формируются новые данные, которые поступают в выходной порт.
  3. Изменение структуры данных в выходном порту.

Внутри порта возможно произвести следующие изменения структуры данных:

  • изменение имен полей/переменных;
  • изменение меток полей/переменных;
  • задание порядка полей в таблице;
  • удаление ненужных полей/переменных;
  • задание назначения полей (см. параметры поля набора данных).

Эти действия, а также возможные способы реагирования порта на изменение структуры поступающих в порт данных, задаются в настройках порта.

Важно: порты используются не только для передачи данных, но и для синхронизации.

Одиночным кликом мыши по порту можно открыть диалог для последующего выбора одной из доступных команд:

  • Быстрый просмотр… — открывает визуализатор Быстрый просмотр. Доступно только для выходных портов.
  • Настроить порт… — открывает мастер настройки порта.
  • Редактирование метки порта… — позволяет изменить текущую метку порта на любую другую.

Метка порта будет отображаться в Мастерах некоторых узлов, где по логике возможен выбор входных наборов. Она также будет отображаться и на панели выбора визуализаторов для выходных портов (но сами визуализаторы переименовывать нужно отдельно).

Настройка порта

Командой Настроить порт… открывается окно настройки входных или выходных данных в зависимости от типа порта.

В случае, если структура входных данных, подаваемых в порт, еще неизвестна (например, если к входному порту связь не установлена), то интерфейс настройки порта предоставляет возможность задать только структуру выходных данных порта.

Если структура входных данных известна, то в интерфейсе настройки порта можно задать структуру выходных данных порта и сопоставить поля (или переменные) входного набора порта с выходным. В этом случае для сопоставления можно выбрать два различных интерфейса:

Связи — графически отображающий связи между полями/переменными входного и выходного наборов порта;

Таблица — сопоставление осуществляется путем выбора входных полей/переменных в таблице.

Важно: по умолчанию при создании нового узла в его портах включена опция Автоматическая синхронизация полей. Действие этой опции приводит к автоматическому конфигурированию (настройке) порта, в результате чего выходной набор порта полностью повторяет структуру входного набора. Опция автоматической синхронизации отключается при удалении пользователем любого из полей/переменных выходного набора порта.

Механизм сокрытия портов

В Loginom существует механизм сокрытия портов порядка выполнения и портов управляющих переменных, т.е. по умолчанию они скрыты от пользователя:

  • Для отображения портов порядка выполнения необходимо воспользоваться кнопкой  панели инструментов области построения сценариев;
  • Для отображения портов управляющих переменных необходимо в контекстном меню узла выбрать пункт Показать порт управляющих переменных.

Цветовая индикация портов

В Loginom существует цветовая индикация портов. Порты с сплошной линией являются обязательными портами, т.е. для их работы необходима связь с другими портами. Рассмотрим цветовую индикацию на примере интерфейса Таблица.

  •  — порт выполняется;
  •  — порт сконфигурирован, но не выполняется;
  •  — порт не сконфигурирован или содержит ошибку;
  •  — порт частично сконфигурирован.

Необязательный порт отображается пунктиром (цветовая индикация для них аналогична обязательным портам)  . Для такого порта может и не быть связи с другим портом.

Примечание: цветовая индикация для портов переменных, подключений и портов, с неопределенной структурой данных является аналогичной рассмотренной выше.

Связывание портов

Для связывания портов необходимо навести курсор мыши на порт и зажать левую кнопку мыши, после этого вести курсор к тому порту, с которым надо связать, и отпустить левую кнопку мыши.

При выделение порта появляется пунктирная линия с началом в исходном порту и концом в позиции курсора мыши, на его конце для удобства отображается тип порта с которым можно связать исходный порт (см. рисунок 3):

Соединение портов.
Рисунок 3. Соединение портов.

Важно: можно соединять только порты одного типа, то есть порт Таблица может быть соединен только с одноименным портом. Также нельзя соединять выходной порт узла с его же входным портом. Циклические связи запрещены!

При добавлении узла в область построения Сценария методом Drag-and-Drop из панели компонентов порты могут быть связаны автоматически.

Если перетаскиваемый компонент находится в области автоматического связывания другого узла, то будет отображаться подсказка с меткой и текущим состоянием выходного порта и связь между соединяемыми портами.

При попытке автосвязывания для портов с типом Подключение происходит проверка на корректность связи. Для остальных типов портов проверка корректности связи происходит только в момент добавления узла в Сценарий.

В случае, когда перетаскиваемый узел имеет несколько входных портов, автоматическое связывание может быть выполнено для верхнего входного порта каждого типа.

Автоматическое связываение не будет происходить, если в процессе перетаскивания узла зажать клавишу Alt.


Статьи в разделе: