在 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 数据库上运行查询。
Bonita BPM 社区项目提供了执行此操作的REST API 扩展。请注意,此扩展实际上并不直接处理与数据库的连接,而是使用数据源通过 Java 应用程序服务器连接池。
以下是架构的总结:
表单 -> 小部件 -> 表单变量 -> REST API 扩展 -> 数据源 -> 数据库
这样的架构看起来相当复杂。一个不错的选择是使用 Bonita BPM 业务数据模型 (BDM)。BDM 基本上让您在 Bonita BPM Studio 中定义您的数据库模式,并将为您创建数据库表和 Java 类以在流程中操作您的数据。
此解决方案的好处是您拥有开箱即用的 REST API 来获取业务数据值,并且您可以对流程任务使用“操作”来更新它们。