一个自来水公司的业务集成-数据库与Restful API的对接:构建以API为中心的敏捷集成系列-第三篇

2018-12-17 10:44:25 浏览数 (1)

声明

  • 本文的内容仅限于技术探讨,不能作为指导生产环境的素材;
  • 鼓励读者购买红帽培训获得更多系统性的培训。
  • 由于篇幅有限,文章中的步骤仅展现了关键的部分。

本文实验内容展现:

  • 使用Swagger文档创建到外部REST服务的API客户端连接器.
  • 使用Fuse Online,使用此新的API客户端连接器和PostgresDB连接器创建集成。
  • 使用数据映射器步骤映射PostgresDB架构和外部REST服务架构之间的字段。

CoolWater Inc.是一家当地的自来水公司,客户需要实施支付管理系统,目的是为客户提供便捷的在线水费支付界面。

集成的设计涉及从PostgreSQL数据库中的To Do Web应用程序捕获输入,然后启动与Web服务的REST API连接,该服务在CoolWater Inc.的客户计费门户上显示水费支付详细信息。在此实验中, 我们实施此客户端用例,支持CoolWater Inc.客户的定期计费。

如下图,我们在页面(todo-)输入缴费信息,自来水公司计费系统后台可以显示计费的信息。

默认情况下,todo-内容是空的:

我们使用REST API公开的CoolWater Inc.客户计费门户。

查看自来水公司计费门户,没有缴费信息,空的。

步骤1:使用现有的Swagger文档创建API客户端连接器。

Swagger文档是一个JSON对象,在开发时考虑了OpenAPI规范。 它既可以作为RESTful服务的基于标准的界面,也可以作为文档。 使用Swagger接口,需要生成最小的实现逻辑才能连接到RESTful服务。 这种易用性促使Swagger在应用程序开发项目中得到迅速采用。

在Fuse Online控制台的左侧面板中,选择自定义:

在“API客户端连接器”屏幕上,单击“创建API连接器”

将出现“上载Swagger规范”屏幕。 您可以选择通过文件上载工具上载Swagger文档,也可以访问托管的Swagger文档。

选择“使用URL”单选按钮。

输入客户计费门户REST服务的Swagger文档的位置:

我们现在已使用Swagger文档为RESTful服务创建了API客户端连接器。

步骤2: 创建Pay Water Bill API连接

在本节中,您将使用Pay Water Bill API客户端连接器创建连接。 这样可以访问客户计费门户的托管RESTful服务。

在Fuse Online控制台的左侧面板中,选择Connections:

PayBill连接现在可以作为集成的一部分使用。 以相同的方式,您可以创建各种连接并在Connections屏幕上访问它们。

步骤3:创建集成

创建PostgresDB连接(PostgreSQL数据库)和PayBill连接(客户计费门户REST服务)之间的集成。

步骤4: 添加数据映射步骤

在左侧面板中,将鼠标悬停在PERIODIC SQL INVOCATION连接和PAYMENT连接之间的images / add_filter_icon.png图标上,然后选择添加步骤:

在出现的Configure Mapper屏幕上,Sources面板显示待办事宜应用程序输出中的字段,而Target面板显示CoolWater REST API服务的字段。

步骤5:测试集成

访问待办事宜应用程序(tudo-)。

在表单中,输入recurring davidwei 200:

查看postgres数据库,todo输入的信息已经存到数据库中:

再次查看自来水公司的账单系统,已经显示davidwei付款信息-200美元。

上图说明:数据库Postgres与自来水公司计费系统Restful API的对接已经成功。

最后,我们看一下Fuse的API Connector类型和API安全实现方式。

Fuse的API Connector:

  • Super-connector
  • SaaS, cloud, custom APIs
  • Resource operations (Swagger) map to connector actions

API的安全

  • Swagger v. 2
  • OAuth 2.0
  • Override Swagger defaults

魏新宇

  • "大魏分享"运营者、红帽资深解决方案架构师
  • 专注开源云计算、容器及自动化运维在金融行业的推广
  • 拥有MBA、ITIL V3、Cobit5、C-STAR、TOGAF9.1(鉴定级)等管理认证。
  • 拥有红帽RHCE/RHCA、VMware VCP-DCV、VCP-DT、VCP-Network、VCP-Cloud、AIX、HPUX等技术认证

0 人点赞