Порты
Порт — способ коммуникации между узлами. В зависимости от структуры передаваемых/принимаемых данных различают следующие типы портов, каждый из которых обозначается иконкой соответствующей формы:
- Табличные данные;
- Переменные;
- Данные в иерархической древовидной форме;
- Параметры подключения к источнику данных;
- Структура данных не определена.
Кроме формы, соответствующей определенному типу порта, используются цветовая индикация состояния и обозначение необязательности порта, а так же включения/отключения автосинхронизации.
Узлы Сценария принимают данные через входные порты, а отдают через выходные. Входные порты на пиктограмме узла сценария располагаются слева, а выходные — справа (см. рисунок 1).
Данные перед обработкой узлом попадают в его входной порт, где они могут быть предварительно модифицированы.
Внутри порта (см. рисунок 2) данные так же представлены в виде входного и выходного наборов полей или переменных, в зависимости от типа порта. Входной набор представляет данные, которые порт принимает. Выходной набор представляет данные, которые порт отдает. При настройке порта пользователь имеет возможность:
- задать произвольную структуру выходного набора — его перечень и параметры полей/переменных;
- сопоставить поля (или переменные) входного набора порта с полями выходного.
Для узла, принимающего и отдающего набор данных (таблицу), схему движения данных можно представить следующим образом (см. рисунок 2):
Таким образом, для узла, схема движения данных которого представлена на рисунке 2, данные проходят следующие этапы преобразований:
- Изменение структуры данных во входном порту и передача их на обработку.
- Обработка алгоритмом узла. В результате обработки формируются новые данные, которые поступают в выходной порт.
- Изменение структуры данных в выходном порту.
Внутри порта возможно произвести следующие изменения структуры данных:
- изменение имен полей/переменных;
- изменение меток полей/переменных;
- задание порядка полей в таблице;
- удаление ненужных полей/переменных;
- задание назначения полей (см. параметры поля набора данных).
Эти действия, а также возможные способы реагирования порта на изменение структуры поступающих в порт данных, задаются в настройках порта.
Важно: порты используются не только для передачи данных, но и для синхронизации.
Одиночным кликом мыши по порту можно открыть диалог для последующего выбора одной из доступных команд:
- Быстрый просмотр… — открывает визуализатор Быстрый просмотр. Доступно только для выходных портов.
- Настроить порт… — открывает мастер настройки порта.
- Редактирование метки порта… — позволяет изменить текущую метку порта на любую другую.
Метка порта будет отображаться в Мастерах некоторых узлов, где по логике возможен выбор входных наборов. Она также будет отображаться и на панели выбора визуализаторов для выходных портов (но сами визуализаторы переименовывать нужно отдельно).
Настройка порта
Командой Настроить порт… открывается окно настройки входных или выходных данных в зависимости от типа порта.
В случае, если структура входных данных, подаваемых в порт, еще неизвестна (например, если к входному порту связь не установлена), то интерфейс настройки порта предоставляет возможность задать только структуру выходных данных порта.
Если структура входных данных известна, то в интерфейсе настройки порта можно задать структуру выходных данных порта и сопоставить поля (или переменные) входного набора порта с выходным. В этом случае для сопоставления можно выбрать два различных интерфейса:
Связи — графически отображающий связи между полями/переменными входного и выходного наборов порта;
Таблица — сопоставление осуществляется путем выбора входных полей/переменных в таблице.
Важно: по умолчанию при создании нового узла в его портах включена опция Автоматическая синхронизация полей. Действие этой опции приводит к автоматическому конфигурированию (настройке) порта, в результате чего выходной набор порта полностью повторяет структуру входного набора. Опция автоматической синхронизации отключается при удалении пользователем любого из полей/переменных выходного набора порта.
Механизм сокрытия портов
В Loginom существует механизм сокрытия портов порядка выполнения и портов управляющих переменных, т.е. по умолчанию они скрыты от пользователя:
- Для отображения портов порядка выполнения необходимо воспользоваться кнопкой панели инструментов области построения сценариев;
- Для отображения портов управляющих переменных необходимо в контекстном меню узла выбрать пункт Показать порт управляющих переменных.
Цветовая индикация портов
В Loginom существует цветовая индикация портов. Порты с сплошной линией являются обязательными портами, т.е. для их работы необходима связь с другими портами. Рассмотрим цветовую индикацию на примере интерфейса Таблица.
- — порт выполняется;
- — порт сконфигурирован, но не выполняется;
- — порт не сконфигурирован или содержит ошибку;
- — порт частично сконфигурирован.
Необязательный порт отображается пунктиром (цветовая индикация для них аналогична обязательным портам) . Для такого порта может и не быть связи с другим портом.
Примечание: цветовая индикация для портов переменных, подключений и портов, с неопределенной структурой данных является аналогичной рассмотренной выше.
Связывание портов
Для связывания портов необходимо навести курсор мыши на порт и зажать левую кнопку мыши, после этого вести курсор к тому порту, с которым надо связать, и отпустить левую кнопку мыши.
При выделение порта появляется пунктирная линия с началом в исходном порту и концом в позиции курсора мыши, на его конце для удобства отображается тип порта с которым можно связать исходный порт (см. рисунок 3):
Важно: можно соединять только порты одного типа, то есть порт Таблица может быть соединен только с одноименным портом. Также нельзя соединять выходной порт узла с его же входным портом. Циклические связи запрещены!
При добавлении узла в область построения Сценария методом Drag-and-Drop из панели компонентов порты могут быть связаны автоматически.
Если перетаскиваемый компонент находится в области автоматического связывания другого узла, то будет отображаться подсказка с меткой и текущим состоянием выходного порта и связь между соединяемыми портами.
При попытке автосвязывания для портов с типом Подключение происходит проверка на корректность связи. Для остальных типов портов проверка корректности связи происходит только в момент добавления узла в Сценарий.
В случае, когда перетаскиваемый узел имеет несколько входных портов, автоматическое связывание может быть выполнено для верхнего входного порта каждого типа.
Автоматическое связываение не будет происходить, если в процессе перетаскивания узла зажать клавишу Alt.
Статьи в разделе: