根据接口输入参数值的不同来执行不同的业务分支,或者根据业务流中前序组件的执行结果来执行不同的业务分支,最后将分支的执行结果返回。
服务集成的服务编排可以通过画布的方式,在页面利用拖拉拽来实现根据判断条件执行不同分支。
如果业务流编排时需要查询数据源中的数据,需要提前在[工程配置/数据源管理]页面新增数据源。
[服务集成/API工厂/服务编排]页面,单击<新增>按钮,填写服务名称、描述,单击<确定>跳转到设计页面。
图-1 服务编排设计页面
添加工作空间组件。
在设计页面,需要首先拖入左侧基础组件或者单击添加工作空间来开始一个业务流编排,单击画布中基础组件,页面右侧弹出工作空间配置项,在工作空间下拉列表选择一个工作空间来进行关联,如图-2所示。
添加Rest API组件、分支判断组件以及其他相关组件。
Rest API作为业务流的入口,用来接收外部的输入,分支判断组件根据输入的不同去执行不同的分支,可以在分支判断连线上设置判断条件。
单击Rest API组件,页面右侧弹出配置项,可以配置组件的名称、请求路径、请求方式、请求参数格式、请求头参数、输入参数等,如图-3所示。
图-3 Rest API组件配置
如上图,设计了两个分支,一个分支用于查询数据源中的数据,另一个分支用于执行HTTP请求。数据源组件拖入画布时需要归属于某个工作空间,单击数据源组件,关联工作空间内已添加的数据,如图-4所示。
在分支判断组件连接数据源组件的连线上,可以设置判断条件和对数据源的操作。条件类型分为满足当前条件时和不满足其他条件时,当选择满足当前条件时,需要配置相应的条件,条件表达式支持三种类型,分别是简易表达式、JsonPath表达式以及XPath表达式。单击表达式类型的下拉框选择相应的类型,然后在表达式输入框中填写表达式。关于三种类型表达式的配置请查看联机帮助中分支判断组件的使用说明以及数据引用说明。
图-5 分支判断条件配置
判断条件设置完成后,设置数据源的相关操作,选择数据库、数据表、关联条件以及字段,选择完字段后,会生成一条简单的SQL查询语句,用户可根据实际情况对SQL进行编辑,支持复杂SQL编写和常见的数据库函数。可以对SQL进行测试,查看结果。如图-6所示。
HTTP请求组件用于请求第三方接口获取数据,有两种方式设置HTTP请求组件中配置信息。
一种就是直接单击HTTP请求组件,页面右侧弹出配置项,直接在该配置项中填写第三方接口地址、请求方式、请求参数格式、请求头参数以及输入参数。
另一种是利用画布左侧API目录树,该API目录树展示了API工厂中已经注册并测试通过的API,支持根据目录筛选和根据API名称进行模糊搜索。API目录树最外层是工作空间名称,单击工作空间可以查看该工作空间下的API目录,单击目录可以查看目录下的API。鼠标左键可以拖拽API到画布中对应的工作空间组件中。此处需要注意的是,业务API只能被拖入其所属的工作空间内。将HTTP请求组件连线至业务API,该API的调用信息会自动回显到HTTP请求组件中,如图-7所示。
图-7 HTTP请求组件配置
在分支判断组件到HTTP请求组件的连线上,可以配置判断条件,此处我们可以选择条件类型为不满足其他条件时,这时当其他所有分支不满足判断条件时,会执行当前分支。此处需要注意的是,分支判断组件的所有分支中,只允许存在一条不满足其他条件时的分支。
图-8 分支判断条件配置
保存业务流
在画布的右上角有一个实时告警的图标,图标上带数字,当数字不为0时,表示画布中存在配置不正确的组件。单击该图标,可以查看具体的错误信息。当配置都正确时,可以单击右上角<保存>按钮保存业务流,如图-9所示。
启动业务流
在服务编排列表页面,单击操作列的<启动>按钮,可以启动刚才创建的业务流,启动成功后,业务流的状态变为启动成功,如图-10所示。
业务流在线测试
上面设计了分支判断场景的业务流,根据输入参数的不同,可以执行不同的分支,根据设置的判断条件,当我们输入参数name的值为“数据API”时,执行查询数据源的操作,当name为其他值时,执行HTTP请求操作,如图-11、图-12所示。
图-12 HTTP请求分支
业务流注册
业务流测试通过后,状态变为待注册,可以单击操作列<注册>按钮,将业务流注册到[API工厂/API管理]列表中,注册时可以选择API所属目录、是否开启认证以及是否开启健康检查,单击<确定>按钮,完成业务流的注册,如图-13所示。
业务流注册成功后,状态变为已注册,并且在[API工厂/API管理]列表可以查看该API,如图-14所示。
图-15 API管理列表查看业务流API