脚本是用于简化集成流可视化的维护复杂度,更加符合开发人员的使用习惯而提供的功能。开发人员可以在集成流节点的属性上使用脚本方式进行动态配置。支持使用Groovy、Java语法编写脚本,降低Java体系开发人员的使用门槛。
语法规则
支持JDK 1.8、Groovy 3.0的语法规则。
脚本结构
在集成流设计器中,很多节点属性可支持通过“脚本”方式设置,单击编辑代码后会出现脚本编辑器。脚本编辑器中支持联想、自动补充、语法检查等功能。
脚本编辑器中默认生成的代码模板引入了 com.alibaba.bwif.script.core.StepMessage 和 com.alibaba.bwif.script.core.BwifHandler,定义了 SimpleHandler 类实现 BwifHandler 接口,handle 方法内默认包含 //您的脚本 注释和 return null 语句。
集成平台对脚本结构进行了约定,因此开发者需要了解脚本结构。
-
设计器会自动生成脚本空脚本结构,黑色的代码编辑区域即为默认生成的内容。
-
在脚本编辑框的头部,明确约定了此脚本需要返回的数据类型,例如“返回Entity类型的数据”。每个节点属性能够支持的数据类型是不同的,因此您在编写脚本时需要返回对应的数据类型。在脚本编辑器中并未对返回类型进行校验,运行时引擎会校验脚本返回类型。
-
代码编辑区域,第一行是自动生成的
package信息,请勿修改。说明您在不同节点之间复制脚本时,请注意勿复制
package部分。 -
handle方法(例如本例中的第9行)为引擎调用脚本的入口方法。输入参数为StepMessage类型,即本节点的输入消息。
数据类型
脚本支持的数据类型如下:
-
Java基础数据类型。常用类型包括:String、Integer、Boolean、BigDecimal、HashMap、ArrayList等。
-
核心类型。集成流引擎自身定义了一些核心数据类型,主要包括:
类名
简介
相关文档
StepMessage
集成流节点之间传递的消息格式。
Entity
承载数据的实体,是对二进制数据的封装。
HTTP类
对HTTP Request、Response的封装,使用HTTP协议类型的连接器,会使用和输出该大类的数据。
-
用户自定义类型。在脚本中您可以根据需要创建类并在本脚本内使用,但
handle入口方法的返回值类型不支持传递您自定义类。
工具类
集成流引擎内置了常见字符串处理、数据处理、加解密方面的工具类,帮助开发者更加便捷的编写脚本,主要工具类包括如下:
|
类名 |
简介 |
|
Base64Util |
提供Base64编码、解码功能 |
|
CryptoUtil |
AES加解密 |
|
HmacUtil |
HMAC相关 |
|
HashUtil |
MD5、SHA等hash算法 |
|
StringUtil |
字符串处理 |
|
RegExUtil |
正则相关 |
|
JsonUtil |
Json格式处理 |
|
XMLUtil |
XML格式处理 |
|
URLUtil |
URL处理 |
|
EscapeUtil |
URL编码 |
|
TimeUtil |
时间相关 |
|
DatetimeUtil |
时间相关 |
|
DateFormatUtil |
时间相关 |
|
CollectionUtil |
处理集合相关工具类 |
|
RandomUtil |
随机数相关 |
|
SocketUtil |
网络字节序和主机字节序计算 |
|
TemplateUtil |
模板相关 |