集成云HUB自定义事件功能说明

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

集成云HUB自定义事件功能说明

说明:通过集成云HUB,可将集成运行过程的系统事件进行发布和订阅,方便上下文组装。

变更记录


产品版本
更新内容更新日期
4.0.010初始版本2021-11-10
5.0.011更新启动方案事件说明2023-1-11


1 简介

1.1 功能介绍

为了扩展集成功能的涵盖面,增强方案配置的灵活性,集成服务云新增了预置的连接类型:集成云HUB,连接配置和数据源:预置集成云HUB

通过预置集成云HUB,集成服务云可以将已经配置好的数据源、启动方案、服务流程这三类集成资源实例化为‘事件源’类型的集成对象。‘事件源’是集成云为了将实例化的集成HUB对象与其他集成对象区分开来,所新增的集成对象类型。


1.2 应用场景

事件源类型的集成对象可以用作集成服务云中事件触发方案的源对象或是用作集成对象转API。通过监听此类集成对象的连接状态或执行结果,集成服务云可以获取到相应的错误堆栈、详细执行信息等,从而进行下一步业务操作。

1.3 系统路径

【集成管理】→【集成元数据】→【集成对象】

2 主要操作

2.1 数据源

前提条件

数据源有【预置集成云HUB】,如果没有该类型,需要手工新增。


操作步骤

步骤1: 新增集成对象

 在集成对象列表界面,左树选中预置集成云HUB,点击“同步元数据列表”全量同步。

图1 同步元数据列表

在集成对象列表界面,左树选中预置集成云HUB,点击“新增”。填写全名(isc_data_source/数据源编码)后,点击“保存”再点击 “同步”。

图2 新增事件源集成对象

步骤2: 功能说明

监听的事件分为以下两种:

1)     活跃:该数据源对应连接配置的连接状态正常;

2)     异常:该数据源对应连接配置的连接状态异常;

图3 监听数据源的事件

注:每十分钟校验一次状态信息(后台调度计划iscb_connection_test_SKDJ_S),只有当状态发生变化时才触发后续流程。

可以获取到的事件信息如下:

编码

名称

数据类型

id

数据源ID

long

number

数据源编码

string

name

数据源名称

ml_string

conn_type

连接类型

ENUM

conn_state

连接状态

ENUM

conn_id

连接ID

long

conn_number

连接编码

string

conn_name

连接名称

ml_string

server_ip

服务器IP或域名

string

server_port

服务器端口

string

http_protocal

HTTP协议

string

$error

错误内容摘要

string

$error_tag

错误堆栈

string


2.2 启动方案

操作步骤

步骤1: 新增集成对象

  • 在集成对象列表界面,左树选中预置集成云HUB,点击“同步元数据列表”全量同步。

  • 在集成对象列表界面,左树选中预置集成云HUB,点击“新增”。填写全名(isc_data_copy_trigger/启动方案编码)后,点击“保存”再点击 “同步”。

图4 新增事件源集成对象

步骤2: 功能说明

监听的事件分为以下两种:

1)     单据执行成功:事件源执行日志成功时,返回单条数据执行信息;

2)     单据执行失败:事件源执行日志失败时,返回单条数据执行信息;

注:在脚本中使用#_IGNORE_TAG将数据标记为“忽略”或是事件触发的启动方案不满足过滤条件,也将触发“单据执行成功”的事件。故在单据执行成功触发的后续方案中应检查src_data和tar_data中是否有忽略标记,只有当没有忽略标记或忽略标记都为false时才执行后续逻辑。

图5 监听启动方案的事件

可以获取到的事件信息如下:

编码

名称

数据类型

id

执行结果ID

long

number

执行结果编码

string

name

执行结果名称

ml_string

trigger

启动方案

STRUCT

schema

集成方案

STRUCT

src_data

源单数据

meta

tar_data

目标单数据

meta

$error

错误内容摘要

string

$error_tag

错误堆栈

string

2.2 服务流程

操作步骤

步骤1: 新增集成对象

  • 在集成对象列表界面,左树选中预置集成云HUB,点击“同步元数据列表”全量同步。

  • 在集成对象列表界面,左树选中预置集成云HUB,点击“新增”。填写全名(isc_service_flow/服务流程编码)后,点击“保存”再点击 “同步”。

图6 新增事件源集成对象

步骤2: 功能说明


监听的事件分为以下三种:

1)     结束:该服务流程正常执行结束;

2)     失败:该服务流程执行过程中抛出异常执行失败;

3)     撤销:该服务流程执行中被人为撤销或运行至流程终止节点自动撤销;

图7 监听服务流程的事件

可以获取到的事件信息如下:

编码

名称

数据类型

id

流程实例ID

long

number

流程实例编码

string

name

流程实例名称

ml_string

$params

流程变量

STRUCT

flow

流程定义

STRUCT

flow_r

已发布的流程定义

STRUCT

creator

发起人

STRUCT

modifier

修改人

STRUCT

state

状态

ENUM

created_time

发起时间

datetime

modified_time

修改时间

datetime

$error

错误内容摘要

string

$error_tag

错误堆栈

string


3 DEMO案例

3.1 数据源连接状态监听与通知发送

3.1.1 场景描述

将数据源(KDEAS850)实例化为事件源类型的集成对象(isc_data_source/KDEAS850),创建事件触发类型的服务流程,监听该数据源的连接状态。当数据源对应的连接配置状态发生异常时,触发服务流程发送连接配置的错误信息给指定用户。

区别于连接异常通知发送功能,数据源对应的事件源集成对象可以获取到更多的连接信息,如连接异常的错误日志。并且可以更加灵活地配置后续动作,如:发送通知,执行脚本,调API等。

注:每十分钟校验一次连接状态(后台调度计划iscb_connection_test_SKDJ_S),当连接状态从成功变为失败时触发该流程。

3.1.2 实现步骤

根据数据源编码KDEAS850,同步数据源对应的事件源集成对象;

 


创建事件触发类型的服务流程,并设置流程变量与依赖资源;

设置开始节点,选择“异常”类型的单据事件,并填充想要获取的事件信息;

配置通知发送节点,发送信息为获取到的事件信息;


消息接收效果如下:

3.2 启动方案执行结果回写

3.2.1 场景描述


将启动方案(demo1_demo2)实例化为事件源类型的集成对象(isc_data_copy_trigger/demo1_demo2),创建两个事件触发类型的启动方案,分别监听单据执行成功单据执行失败的任务。当启动方案执行结束后,回写成功或失败的相关事件信息到源单上。

注:在脚本中使用#_IGNORE_TAG将数据标记为“忽略”或是事件触发的启动方案不满足过滤条件。故在单据执行成功触发的后续方案中应检查src_data和tar_data中是否有忽略标记,只有当没有忽略标记或忽略标记都为false时才执行后续逻辑。

3.2.1 实现步骤

同步启动方案对应的事件源集成对象;

创建两个数据集成方案,源对象选择事件源集成对象,目标对象选择想要回写的集成对象demo1,并配置回写源单的字段映射;



监听执行成功

配置number为候选键字段,并把“同步成功”回写到别名字段上(此处为演示使用,实际应使用状态字段)。



监听执行失败

配置number为候选键字段,并把错误内容摘要回写到别名字段上(此处为演示使用,实际应使用错误信息字段)。

根据上一步创建的两个集成方案,分别创建事件触发类的启动方案。

回写成功信息的集成方案,执行计划选择“单据执行成功”。


回写失败信息的集成方案,执行计划选择“单据执行失败”。

实际执行效果如下:

3.3 服务流程执行结果回写与通知发送

3.3.1 场景描述

将服务流程(sf_demo1todemo2)实例化为事件源类型的集成对象(isc_service_flow/sf_demo1todemo2),创建两个事件触发类型的服务流程,分别监听失败结束的任务。

当服务流程执行正常结束时,反写源单执行成功的状态,并将相关执行信息打印到monitor中;当服务流程执行失败时,反写源单执行失败的状态,并将相关执行日志发送通知给指定人员。

服务流程(sf_demo1todemo2)如下:

事件触发监听成功或失败的服务流程如下:


3.3.2 实现步骤

同步服务流程对应的事件源集成对象;

创建事件触发类的服务流程listen_demo1succ,监听服务流程sf_demo1todemo2,执行成功的事件。将执行成功回写到源单上,并将事件信息打印到monitor;


事件触发开始节点


反写源单状态节点

demo1同步到demo2成功时,以number为候选键,将“同步成功”的信息回写到name字段上。



保存源单节点

打印输出monitor节点

创建事件触发类的服务流程listen_demo1fail,监听服务流程sf_demo1todemo2,执行失败的事件。将执行失败回写到源单上,并将错误的日志发送通知给指定人员;

事件触发开始节点

反写源单状态节点

number为候选键,将失败信息回写到name字段上(此处为演示使用,实际应回写到状态字段上)。

保存源单节点

发送通知节点

 

实际执行效果如下:


注:因脱敏脚本导致hub连接配置清空的,可以通过以下SQL语句重新预置集成云HUB连接类型、连接配置和数据源。


ischub.zip

集成云HUB自定义事件功能说明

说明:通过集成云HUB,可将集成运行过程的系统事件进行发布和订阅,方便上下文组装。变更记录产品版本更新内容更新日期4.0.010初始版本2021...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息