声明
- 本文的内容仅限于技术探讨,不能作为指导生产环境的素材;
- 鼓励读者购买红帽培训获得更多系统性的培训。
- 由于篇幅有限,文章中的步骤仅展现了关键的部分。
本文实验内容展现:
- 使用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等技术认证