Web服务集成:更新一个外部数据库从一个工作流

彼得•希尔顿|写的4分钟阅读

如何使用web服务来集成工作流与外部系统通过编写数据库连接器从任务脚本,您可以使用吗

当你使用一个工作流自动化平台Signavio流程治理有时,你想要一个工作流更新另一个系统的组织。每次你公司收到客户订单,例如,你想要订单履行流程更新办公室里一个巨大的记分板显示订单的数量。这是一个web服务集成的工作。

本文描述了如何将工作流连接到另一个应用程序的数据库。作为一个简单的例子,web服务集成将捕获每个案例当它开始记录的标识符的情况下开始活动。

这个示例的源代码和文档是可用的https://github.com/signavio/connector-examples/tree/master/java/database-update

Web服务集成架构

Web服务集成是完全灵活的方式发布工作流中其他系统的数据组织。这使工作流自动更新其他系统。

在此体系结构中,工作流发送数据到数据库的连接器,作为代理。该组织拥有数据库通常会部署的连接器非军事区的风险,以避免公共互联网上可用的数据库。或者,你可以主机数据库和连接器在云中。

在Java编写一个web服务

连接器是一个简单的web服务,更新数据库。具体地说,它必须提供:

  1. HTTP API,从公共互联网接受HTTP请求,如一个HTTP POST请求包含的数据将被用来在数据库中插入行。
  2. 一个数据库连接和执行数据库更新,通常使用SQL。

Java是一个许多常见的选择为构建这种连接器。有许多Java库和框架,您可以使用它们来实现HTTP接口,并连接到数据库。的示例连接器(源代码)使用火花框架对于HTTP,JDBC连接到一个MySQL或PostgreSQL关系数据库使用数据库的JDBC驱动程序。

在实践中,您也可以构建一个连接器使用不同的编程语言及其相关的库,或者使用非关系数据库。这种任务的最佳选择通常是任何开发人员最熟悉。

部署的web服务

如果你想使用数据库更新示例连接器,您首先需要将其部署。要部署示例连接器Heroku的详细说明,遵循的例子自述以下步骤描述。

  1. 下载示例代码。
  2. 复制数据库更新的更新目录部署。
  3. 初始化一个git仓库部署Heroku。
  4. 将应用程序部署到Heroku推动git存储库。
  5. Heroku PostgreSQL数据库中创建表。

测试安装工作通过发送一个HTTP请求来发布一个案例开始事件,使用HTTP客户端等HTTPie:

http post

结果应该与201年创建HTTP响应状态:

HTTP / 1.1 201年创建连接:关闭- type: text / html; charset = utf - 8日:星期四,2017年8月17日格林尼治时间09:05:40服务器:vegur Jetty (9.4.4.v20170414)通过:1.1

现在检查案例开始事件添加到数据库:

heroku pg:美元psql - - >连接到postgresql -黑莓- 12345 psql(9.6.4,服务器9.6.1)
数据库更新::数据库从case_event = > select *;id | case_id | |类型创建- - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 42 + - - - - - - - - - - - - 1 | | 2017-08-17 09:07:08.563 |开始(1行)

连接器的作品,你可以发送它的数据工作流。

从工作流调用web服务

发送数据到连接器每次案例开始,配置脚本任务开始的时候流程发送HTTP请求。在脚本中配置,添加“案例”变量,所以你可以访问ID。

例子的自述包括这里显示的JavaScript代码,你可以复制粘贴。

现在发布过程,开始一个新的情况,检查数据库再次看到新的事件。

数据库更新::数据库从case_event = > select *;id | case_id | |类型创建- - + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - 42 + - - - - - - - - - - - - 1 | | 2017-08-17 09:07:08.563开始| 2 | 59955 edfd1dfff2afffe4dd6 | 2017-08-17 09:16:16.795 |开始(2行)

第二行包括“case_id”从新的工作流。扩展示例中,您可以包括更多的信息在HTTP请求和数据库表,如名称或触发表单数据。

与企业IT系统集成的工作流

编写一个小型的web服务作为一个系统之间的连接器是一种常见的web服务集成方法。在这种情况下,连接器将工作流与关系数据库的JavaScript操作。你可以使用任何你喜欢的功能扩展这个示例。

试着自己的web服务集成Signavio流程治理,注册一个天的免费试用今天。

发表:2017年10月17日—最后修改:11月13日,2020年