相信了解数通畅联的人对AEAI ESB并不陌生,其设计器ESBDesigner中内置组件有:路由和转换、数据适配器、协议适配器、协议接入适配器等4类组件,每类组件下面包含各种类型的组件节点,可以使程序流程更直观,加快开发速度。
路由和转换中包含了三个节点分别为:分支路由、合并路由和 java转换,分支路由用于将一条线路分为多个支路,合并路由为将多条分支合并到一起,java转换节点可以进行变量的数据转换和赋值,并且在模型无法满足要求时支持代码扩展。本文档详细介绍一下路由和转换的机制,希望能为使用者提供帮助。
选择分支路由后只可以在“基本信息”中进行配置,用于将一条线路分为多个支路。
描述:可以对此节点功能进行简单描述,方便自己和他人以后查看。
注意:
合并路由为将多条分支合并到一起,使用方法与分支路由基本相同,可参见“分支路由”的介绍。
匹配分支:通过匹配分支选择当前的合并路由与哪个分支路由相匹配。
注意:
可以进行变量的数据转换和赋值,并且在模型无法满足要求时支持代码扩展。
在类别选为赋值时,支持DataBox赋值给DataSet、DataBag赋值给DataRow、DataRow赋值给DataRow、DataSet赋值给DataSet,如果都不满足要求可以选择自动与代码赋值,点击“Next”为如下界面:
分支路由到各分支的连接线是condition流转类型的,均有条件表达式。通过设置控制类型为xor(if(){}else if(){}else{}),达到不同的表达式结果限制流程的走向实现了分支路由的控制效果。
流程图如下:
在HttpRequest节点添加入参condition
点击分支路由节点设置控制类型为xor(if(){}else if(){}else{})如下图:
点击分支路由节点与分支节点之间的连线,分别设置流转类型为condition,并点击按钮添加条件表达式。
在HttpResponse节点打印信息执行完成,请查看控制台日志
测试结果如下:
流程图中,所有连接线均为auto流转类型的,即没有条件表达式。则所有流程都会走。
流程图如下:
点击分支路由节点设置控制类型为and(所有流程都会走)如下图:
点击分支路由节点与分支节点之间的连线,分别设置流转类型为auto。
在HttpResponse节点打印信息执行完成,请查看控制台日志
测试结果如下:
使用合并路由和分支路由的组件,配合连接线的条件表达式,实现循环操作。
流程图如下:
在HttpRequest节点添加入参counter
创建全局变量如下:
初始化参数节点扩展代码如下:
获取HttpRequest传递的参数counter的值并存放在变量”counter”中
为变量”index”赋初始值为0
点击循环合并节点配置如下:
循环体节点打印循环的次数扩展代码如下:
点击循环分支节点配置如下:
循环分支与循环合并之间的节点连线配置如下:
在HttpResponse节点打印了循环变量如下图:
测试结果如下:
AEAI ESB主要用于集成各业务系统,实现异构系统的互联互通,笔者自知自身的知识积累不足但至入职接触AEAI ESB以来逐步学习进步,发现AEAI ESB不仅实现了图形化的交互方式,支持拖拽式创建Web服务、消息流程,便于快速构建,而且具有灵活的扩展性以及支持热部署的模式并且可以远程调试可以设置断点、逐步调试,便于准确调试定位。