Подключите внешний банк к UI Designer в Bonitasoft Community

Я использую инструмент Bonitasoft для разработки проекта BPM, у меня есть база данных PostgreSQL, в которую через соединение JDBC я могу вставлять и изменять записи Bonitasoft, однако я не могу выбрать данные базы данных и отобразить их в моем дизайнере пользовательского интерфейса, потому что Инструмент еще не широко используется. Я не нашел много информации о нем, если у них скоро появится какой-либо материал или какая-либо идея, как я могу отображать данные на листе в моем дизайнере пользовательского интерфейса, было бы очень полезно.

Я проверил возврат, который приносит мне мой Select, и информация правильно соответствует тому, что мне нужно, поэтому я добавил информацию в arrayList, теперь моя проблема заключается в отображении информации из этого массива в UI Designer.


person R.Santos    schedule 26.01.2017    source источник


Ответы (1)


Отображение данных в формах Bonita BPM UI Designer зависит от переменных форм, которые вы связываете с виджетами форм.
Значение переменных форм можно задать с помощью различных параметров:

  • JSON (т.е. константа)
  • Выражение JavaScript (возвращаемое значение выполнения скрипта)
  • Вызов внешнего API (REST API)...

Решение для получения данных из базы данных PostgreSQL и помещения их в переменную формы на самом деле заключается в использовании вызова REST API. Это единственное решение для привязки формы к сторонней системе без дублирования данных в Bonita BPM.

Проблема в том (AFAIK), что PostgreSQL не предоставляет REST API для выполнения SQL-запросов.

Решение здесь состоит в том, чтобы развернуть в Bonita BPM расширение REST API, которое будет действовать как прокси: оно будет предлагать REST API для инициализации переменных формы, выполнять код Java и использовать JDBC для выполнения запросов к базе данных PostgreSQL.

расширение REST API для этого доступно как Bonita. Проект сообщества BPM. Обратите внимание, что это расширение на самом деле не обрабатывает соединение с базой данных напрямую, а скорее проходит через пул соединений сервера приложений Java, используя источник данных.

Вот краткое изложение архитектуры:
Форма -> Виджеты -> Переменные формы -> Расширение REST API -> Источник данных -> База данных.

Такая архитектура может показаться довольно сложной. Хорошей альтернативой может быть использование бизнес-модели данных Bonita BPM (BDM). BDM в основном позволяет вам определить схему вашей базы данных в Bonita BPM Studio и создаст для вас таблицы базы данных и классы Java для управления вашими данными в процессах.
Преимущество этого решения заключается в том, что у вас есть готовый REST API для ведения бизнеса. значения данных, и вы можете использовать «операции» над задачами процессов для их обновления.

person Antoine Mottier    schedule 30.01.2017
comment
Если я помещу информацию в переменную типа List, смогу ли я отобразить ее в UI Designer? Хорошо, я сделал это в формах, и информация отображалась правильно, но мне нужно, чтобы это было сделано в дизайнере пользовательского интерфейса, и этот API REST трудно понять. - person R.Santos; 30.01.2017
comment
Как бизнес-переменные (BDM), так и переменные процесса (с типом Java, таким как список) можно получить с помощью стандартных API-интерфейсов REST Bonita BPM. Просто помните, что это приведет к дублированию данных в базе данных BDM или Bonita BPM. Вот ссылка на документацию по REST API для получения переменной процесса: documentation.bonitasoft. com/?page=bpm-api#toc15 Вы также можете посмотреть на этот пример получения данных процесса: community.bonitasoft.com/project/process-variable-example - person Antoine Mottier; 30.01.2017
comment
В примере примера переменной процесса показано, как показать, что находится в переменной процесса в поле ввода, вы могли бы привести мне пример того, как отображать данные из моей переменной процесса в таблице, например? - person R.Santos; 30.01.2017
comment
Другое дело, как, например, сохранить содержимое переменной процесса в базе данных postgreSQL? Могу ли я сделать это в случае? - person R.Santos; 30.01.2017
comment
Вы можете настроить коннектор на задачу (выберите задачу и перейдите на вкладку «Выполнение» -> «Коннекторы входа» или «Коннекторы выхода»). В определении SQL-запроса для запуска вы можете использовать синтаксис ${your_variable_name} для вставки содержимого переменной процесса. Вы можете использовать коннектор PostgreSQL или коннектор источника данных (для повышения производительности благодаря объединению соединений). - person Antoine Mottier; 30.01.2017
comment
@AntonieMottier Спасибо за всю помощь, я воспользуюсь преимуществом и спрошу вас еще об одном: я создал модель бизнес-данных (DBM) с теми же атрибутами, что и моя таблица PostgreSQL, есть ли способ присвоить значение что мой выбор возвращает меня в эти Атрибуты BDM? - person R.Santos; 31.01.2017
comment
Могу ли я отправить вам мою работу Bonitasoft, чтобы проверить, правильно ли я сделал то, что я сделал до сих пор? А потом покажите как правильно отображать информацию без таблицы в UI Designer - person R.Santos; 31.01.2017
comment
Не стесняйтесь поделиться экспортом своей работы в виде файла .bos из Bonita BPM Studio. Я могу взглянуть на это. Также для такого обмена я бы рекомендовал использовать форум сообщества Bonitasoft. - person Antoine Mottier; 31.01.2017
comment
Спасибо за всю помощь, не могли бы вы рассказать мне, как я могу опубликовать свою работу .bos в Bonita BPM Studio? - person R.Santos; 31.01.2017
comment
У вас есть какие-нибудь электронные письма, которые я мог бы отправить вам мой файл .BOS, чтобы я мог развеять свои сомнения с вами? Я бразилец, и мне очень сложно найти какой-то контент, который поможет мне найти ответы на мои сомнения. - person R.Santos; 01.02.2017
comment
Я бы порекомендовал перейти на форум нашего сообщества и опубликовать ссылку на ваш файл .bos, размещенный в Dropbox или Google Drive. - person Antoine Mottier; 02.02.2017
comment
Ссылка на мой вопрос в форуме Bonitasoft со ссылкой на мой файл на драйве. Ссылка: community.bonitasoft.com/ вопросы и ответы/ - person R.Santos; 02.02.2017