本文档内容是基于我个人对CPI的理解产生的,目的是帮助您了解如何通过学习内容包来开发CPI的集成流,阅读时间约为20分钟。
在阅读本文档前,最好先完成CPI+OpenConnector练习(约需1.5小时):Link
本文档面向的人群是拥有1年及以上代码开发经验的开发者。
主要内容包括:
1.基本概念
2.如何下载预定义包到自己的环境内
3.以学习内容包举例,讲解集成流的运行方式
1.基本概念:
集成套件包含两块核心功能:CPI和API Management,
CPI用于创建可被外部/定时触发的集成流来连接不同系统,
API Management用于在现有接口(无论是集成流暴露出的接口还是其他系统的接口)外包裹一层,来为接口提供额外的安全,峰值检测和调用记录等功能
本文主要关注在CPI部分,下图列举了集成套件中CPI功能的一些入口
Discover用于搜索,下载预定义集成流到自己的Tenant内
Design用于创建,修改,开发集成流
Monitor用于监控集成流执行状态
2.如何下载预定义包到自己的环境内
集成套件内含500+预定义内容包,使用内容包可以加快集成流的开发速度(当然你也可以自己从头开发集成流),还可以用内容包作为学习的模板教材
这里以学习内容包为例,展示一下如何将预定义包导入自己的环境:
(此处的Discover,发现部分即为预定义内容包商店,可以免费下载各种包,本文以学习内容包为例,但其实大多数内容包都是针对生产系统的)
进入该内容包后,可以初步查看其内容和相关文档,但是我们这里直接点击右上角的Copy来获取该内容包
3.以学习内容包举例,讲解集成流的运行方式
获取完内容包后,进入Discover-Integration内查找先前导入的内容包
点击进入这个学习内容包,在artifacts中找到Modeling Basics - Consume Public HTTP Service With Query Parameters这个集成流(集成包包含的组件Artifact即为具体实现集成功能的集成流,一般集成包与场景对应,然后不同集成流组成了完整场景,例如ERP和CRM这个场景就可以用一个集成包来完成,其中又应该包括新建客户,商机,销售订单等集成流)
进入该集成流后,我们来看一下它是怎么运作的
集成流代表了一条消息的流转过程,一般一条消息主要由消息头和消息体组成
流程从Start处开始,这里由于流程需要以HTTPS的方式触发,所以Start处的消息就可能已经有了内容(如果流程由定时器触发,由于定时器一般不携带信息,所以Start处的消息头和消息体可能就都是没有内容的)
而该条集成流的标准触发方式可以在内容包的Document内找到,这里下载对应的Postman Collection
导入自己的Postman环境后,找到对应的Request,可以看到这个HTTPS请求主要只携带了一个Category参数,其值为”Software”
以该请求触发集成流后,Start处消息的消息头会包含一个名为Category的参数,其值为Software,然后该消息流转至Request Reply时,Request Reply就会利用该消息的消息头内Category参数来构成新的HTTP请求
这里我们尝试部署一下该集成流,提示部署成功后,点击集成流页面空白处-下方Deployment Status- Navigate to Manage Integration Content即可跳转至监控器,查看刚刚部署好的集成流(如果Endpoint URL处显示为空白,可以稍微等待一下,需要一点时间来自动生成Endpoint)
复制该URL,来到Postman,可以看到刚导入的Collection需要Host这个变量才能执行,我们这里暂时忽略变量,直接将iflow endpoint作为目标URL,再在该请求的Authorization内附上CPI service instance内service key的cliendid和clientsecret,(如何调用iflow请参考此练习:
Link)即可发出请求
可以看到postman收到的回复内容就会是集成流中Request Reply发出的HTTP请求的回复内容,这里再直接用postman去访问iflow所访问的服务地址,可以看到返回值是一样的
本文利用一个学习内容包,简单的讲解了集成流的运转原理,CPI还包含了大量低代码组件来帮助我们对消息进行更深层次的操作,而大部分操作原理都在学习内容包中有所涵盖,希望可以对您有所帮助
关于本文内容有任何问题或见解,欢迎在评论区留下你的想法,如果时间紧迫,也可以直接联系到我 arthuryang1996@foxmail.com,感谢你的时间