HelloZMF
发表于 2021-8-18 12:34
啊哈哈哈哈就哈哈哈啊啊
912161367
发表于 2021-8-19 12:17
3.3.1.1业务流程设计
3.3.1.1.1流程详情设计
3.3.1.1.2改造内容设计
3.3.1.2配置数据缓存
3.3.1.2.1业务实现描述
为了有效提升数据交互效率和质量,服务编排能力充分使用了数据缓存机制,通过将配置以及临时性数据加载入缓存数据,来减少与数据库的交互,减少不必要的消耗,编排服务对此提供了一套缓存刷新机制。
3.3.1.2.2业务开发点
1.接收接口请求缓存配置刷新
2.从持久化redis服务中根据关键Key读入缓存配置信息
3.判断是否存在对应的数据,如果存在则写入持久化redis数据删除操作
4.从数据层读入全量流程信息
5.将读入的全量流程信息写入到持久化redis中
6.从数据层读入全量流程节点信息
7.将读入的全量流程节点信息写入到持久化redis中
8.根据流程ID读入数据层全量全局变量信息
9.将读入的全量全局变量信息写入到持久化redis中
10.读入数据层全量流程-组合服务关联信息
11.将读入的全量流程-组合服务关联信息写入到持久化redis中
12.根据流程ID读入数据层全量流程源数据
13.将读入的全量流程源数据写入到持久化redis中
14.根据流程ID读入数据层全量原子服务信息
15.将读入的全量原子服务信息写入到持久化redis中
16.根据流程ID读入数据层全量原子服务-节点信息绑定数据
17.将读入的全量原子服务-节点信息绑定数据写入到持久化redis中表
18.根据流程ID读入数据层全量原子服务参数模板数据
19.将读入的全量原子服务参数模板数据写入到持久化redis中
20.根据流程ID读入数据层全量原子服务脚本参数信息
21.将读入的全量原子服务脚本参数信息写入到持久化redis中
22.将处理结果反馈到请求发起方
3.3.1.3组合服务配置
3.3.1.3.1业务实现描述
流程编辑,通过配置化的流程页面支持,经过简单的绘制就可以将流程需求实现
3.3.1.3.2表结构设计
3.3.1.3.3业务开发点
3.3.1.3.3.1加载全量组合服务列表
1.接受全量组合服务请求
2.从业务请求数据中获取分页数据参数
3.根据分页参数从数据层查询全量组合服务列表
4.将查询到的组合服务列表信息输出到请求方
3.3.1.3.3.2按条件加载组合服务列表
1.接受查询组合服务列表请求
2.从当前业务请求数据中获取分页数据参数
3.从当前业务请求数据中获取查询条件数据参数
4.根据分页参数和查询过滤条件从数据层查询全量组合服务列表
5.将查询到的符合要求的组合服务列表信息输出到请求方
3.3.1.3.3.3实例列表全量加载
1.接受全量组合服务实例查询请求
2.从服务实例查询请求数据中获取分页数据参数
3.根据分页参数从数据层查询历史组合服务实例列表
4.根据分页参数从数据层查询在途组合服务实例列表
5.将查询到的在图组合服务实例数据和历史组合服务实例数据根据分页约束再次过滤
6.将最终的组合服务实例列表信息输出到请求方
3.3.1.3.3.4按条件加载组合服务实例列表
1.接收条件加载组合服务实例列表查询请求
2.从请求数据中获取分页数据参数
3.从请求数据中获取过滤查询条件参数
4.根据分页参数和过滤查询条件从数据层查询历史组合服务实例列表
5.根据分页参数和过滤查询条件从数据层查询在途组合服务实例列表
6.将根据查询条件查询到的在图组合服务实例数据和历史组合服务实例数据根据分页约束再次过滤
7.将最终合并的组合服务实例列表信息输出到请求方
3.3.1.3.3.5保存组合服务信息
1.接收来自web系统的组合信息新增请求
2.从新增请求信息中读入原始组合服务信息
3.将原始组合服务信息写入到组合服务源数据记录服务
4.将组合服务编码和服务名称写入数据层
5.将组合服务解析为标准原子服务,根据对应的原子服务类型从数据层读取对应原子服务类型校验原则
6.输出原子类型和原子服务校验规则到校验服务判定当前原子服务是否符合组合规则
7.读入校验服务反馈的原子服务校验结果
8.输出整体组合服务流程结构到校验服务
9.读入校验服务对整理组合服务流程结构的校验结果
10.从数据层读入序列作为组合服务流程ID
11.根据租和服务名称查询当前组合服务流程版本
12.将流程ID、版本信息等基础组合服务信息写入到数据层,记录组合服务基本信息
13.汇总独立原子服务校验结果以及整体组合服务校验结果输出到WEB系统
3.3.1.3.3.6保存组合服务节点数据
1.收到组合服务原始数据解析请求
2.将组合服务原始数据转换为json数据,并进行便利,拿到单独的原子服务节点写入到数据层,对节点进行存储
3.从数组层读入序列信息作为唯一的原子服务节点ID
4.将原始组合服务信息JSON对象中拿到单独的原子服务节点的流程线信息,写入到数据层,对节点线进行存储
5.将原始组合服务信息JSON对象中拿到并发节点的并发数组来源信息,写入到数据层,对并发节点的数据源进行存储
6.将原始组合服务信息JSON对象中拿到单独的原子服务节点的全局变量信息,写入到数据层,对节点全局变量进行存储
7.拼接反馈信息,将处理结果反馈请求方
3.3.1.3.3.7保存组合服务源数据
1.收到组合服务原始数据存储请求
2.读入请求体中的原始组合服务流程报文
3.读入请求体中的组合服务流程业务信息
4.将流程业务信息和原始组合服务流程报文写入到数据层做数据沉淀
5.将业务流程信息写入到数据层日志信息表,方便后期运维管理和数据分析
6.拼接反馈信息,将组合原始组合服务流程信息保存处理结果反馈请求方
3.3.1.3.3.8查看组合服务信息
1.接受WEB发起的组合服务列表查询
2.从请求信息中读入流程ID
3.根据流程ID从数据层读入基础流程信息
4.根据流程ID从数据层读入组合服务节点信息
5.根据流程ID冲数据层读入组合服务节点线信息
6.根据流程ID从数据层读入组合服务全局变量信息
7.根据流程ID查询并发节点并发数据组信息
8.将读取到的数据组合为完成的组合流程信息并反馈给WEB端展示
3.3.1.3.3.9组合服务信息修改
1.收到WEB发起的组合服务信息变更请求
2.从请求数据中读取变更后的组合服务流程信息
3.从请求数据中读取变更后的组合服务基本信息
4.根据组合服务基本信息查询已经存在的组合服务基本信息
5.从数据层读入序列信息,作为新的变更后的组合服务ID
6.更新数据层旧的组合服务信息取消默认组合服务对应的流程ID
7.将变更后基本流程信息写入数据层日志,以便后期运维查询以及数据整理
8.将变更后的原始组合服务信息写入到组合服务源数据记录服务
9.将变更后的组合服务解析为标准原子服务,根据对应的原子服务类型从数据层读取对应原子服务类型校验原则
10.输出原子类型和原子服务校验规则到校验服务判定变更后的原子服务是否符合组合规则
11.读入校验服务反馈的变更后的原子服务校验结果
12.输出变更后的整体组合服务流程结构到校验服务
13.读入校验服务对变更后的整理组合服务流程结构的校验结果
14.将组合服务变更结果反馈到请求发起方
3.3.1.3.3.10组合服务信息删除
1.接收WEB请求组合服务删除请求
2.读入组合服务基本信息
3.根据组合服务名称查询组合服务基本信息集合
4.根据组合服务名称从数据层删除组合服务相关基本信息
5.遍历组合服务基本信息集合,根据每个组合服务ID删除数据层组合服务节点信息
6.根据每个组合服务ID删除数据层组合服务节点线信息
7.根据不同组合服务ID删除数据层组合服务全局变量信息
8.根据每个组合服务ID删除数据层组合并发节点并发数据信息
9.根据组合服务ID删除组合服务原始报文信息
10.根据组合服务ID,查询数据层节点-原子服务对应关系
11.根据组合服务ID,删除数据层节点-原子服务对应关系
12.根据组合服务ID-脚本原子服务信息,删除数据层脚本原子服务脚本信息
13.根据组合服务ID-脚本原子服务信息,删除主机存储的脚本原子服务脚本文件
14.根据组合服务ID-服务原子服务信息,删除数据层对应原子服务字段配置
15.将处理结果汇总并反馈给WEB端请求方
3.3.1.3.3.11组合服务信息导入
1.接收组合服务导入请求
2.从导入请求信息中读入导入组合服务信息
3.将导入原始组合服务信息写入到组合服务源数据记录服务
4.将导入组合服务解析为标准原子服务,根据对应的原子服务类型从数据层读取对应原子服务类型校验原则
5.输出原子类型和原子服务校验规则到校验服务,判定当前导入原子服务是否符合组合规则
6.接收校验服务反馈的导入原子服务校验结果
7.输出整体导入组合服务流程结构到校验服务
8.接收校验服务校验出整体导入组合服务流程结构的校验结果
9.读入校验服务对导入组合服务流程结构的校验结果
10.从数据层读入序列作为导入组合服务流程ID
11.根据导入的组合服务名称查询当前组合服务流程版本
12.将流程ID、版本信息等基础组合服务信息写入到数据层,记录当前导入组合服务基本信息
13.将原子服务-组合服务节点对应关系写入到数据层
14.将导入的服务-原子服务字段信息写入数据层
15.将导入的脚本-原子服务字段脚本信息写入到数据层
16.将原子服务的脚本文件写入到对应主机的文件目录
17.将组合服务导入结果输出到WEB系统
3.3.1.3.3.12组合服务信息导出
1.接收组合服务导出请求
2.从请求中获取组合服务基本信息
3.根据组合服务ID从数据层读入基本组合服务信息
4.根据组合服务ID从数据层查询原始组合服务报文信息
5.根据组合服务ID从数据层读入原子服务-组合服务对应关系
6.根据组合服务ID从数据层读入服务-原子服务属性信息
7.根据原子服务信息和组合服务信息从数据层读入脚本-原子服务基本信息
8.根据脚本-原子服务信息从主机读取对应的脚本内容
9.将上述读入的组合服务数据整合,反馈至请求发起方
3.3.1.4流程驱动逻辑
3.3.1.4.1业务实现描述
流程驱动逻辑是服务编排引擎的一个核心功能点,涵盖了流程启动、驱动、管理统筹的功能,通过自主开发的自旋并发合并逻辑管控,为客户的流程准确性提供了稳定的保障。
3.3.1.4.2逻辑流程设计
3.3.1.4.3表结构设计
3.3.1.4.4业务开发点
3.3.1.4.4.1启动流程入参数据解析
1.接收组合服务启动请求
2.从请求信息中获取请求头信息
3.从请求信息冲获取请求体信息
4.根据请求信息从数据层读入对应的服务-流程对应信息
5.根据流程信息读入对应参数解析模板
6.将请求头和请求模板写入到报文解析模块进行分析解构
7.获取报文解析服务反馈的规范报文头、报文体
8.将解析后规范报文头写入到数据层日志记录
9.将解析后的规范报文头以及请求报文体写入到数据层交易内容记录
10.根据流程信息从数据层读入对应的组合服务信息
11.从数据层读入序列id作为组合服务实例ID
12.将基本流程信息和组合服务实例ID写入到数据层
13.将默认首届点信息插入数据层记录用于驱动下一步
14.将启动流程信息写入到数据层日志记录
15.异常请情况获取异常信息,封装异常报文,反馈请求发起方
16.将启动流程信息输出到流程驱动服务
3.3.1.4.4.2普通拆下一步逻辑
1.读入启动流程驱动信息
2.从数据层读入流程当前节点基础信息
3.根据当前节点基础信息,从数据层读入对应节点详情
4.根据当前节点详情,从数据层读入下一步节点详情
5.从数据层读入序列ID作为新的当前节点ID
6.将下一步节点详情输入到节点信息生成服务
7.读入节点详情生成服务反馈的新的当前节点对象
8.从数据层读入序列ID作为新的当前节点的EVENTID
9.将新的当前节点对象详情输入到节点信息生成服务
10.读入节点详情生成服务反馈的新的当前节点对象的EVENT记录
11.将新的当前节点信息写入到数据库TASK表中
12.将新的当前节点的EVENT记录写入到数据层EVENT中
13.调用结束任务服务,将新的当前节点上一步服务节点任务标识发送到结束任务服务
14.获取到结束任务服务反馈的当前节点上一步结束任务状态
15.根据结束任务状态删除数据层对应的当前节点上一步节点任务记录
16.将上一步删除普通节点上一步节点的任务操作写入到数据层日志记录
17.输出新的当前节点信息
3.3.1.4.4.3普通节点并行逻辑
1.读入下一步静态并发节点基础信息
2.根据下一步静态并发节点基础信息从数据层读入下一步节点的下一步节点表达式
3.根据静态并发节点信息、流程信息,从数据层读入配置的对应的全局变量
4.根据静态并发节点名、流程标识从数据层读入交易报文信息
5.将全局变量替换为有效数据,并将数据替换为静态并发下一步节点表达式
6.将静态并发下一步节点表达式写入到临时数据层作为合并数据标识
7.循环下一步并发数据信息,并根据节点并发数据调用节点信息生成服务
8.读入节点信息生成服务反馈的新的静态并发节点数据
9.将读到的新的静态并发节点信息记录写入到数据层TASK表
10.将新的TASK记录输入到节点信息生成服务
11.读入节点信息生成服务反馈的新的静态并发EVENT记录
12.将新的静态并发节点EVENT记录写入到数据层EVENT表
13.调用结束任务服务,将静态并发上一步服务节点任务标识发送到结束任务服务
14.获取到结束任务服务反馈的结束上一步任务状态
15.根据结束任务状态删除数据层对应的静态并发上一步节点任务记录
16.异常情况下将插入TASK表和EVENT表的数据记录回滚
17.输出新的TASk表数据记录
3.3.1.4.4.4动态节点并行逻辑
1.读入下一步动态并发节点基础信息
2.根据下一步动态并发节点基础信息从数据层读入下一步节点的并发数据组
3.根据动态并发节点信息、流程信息,从数据层读入配置的对应的全局变量
4.根据动态并发节点名、流程标识从数据层读入交易报文信息
5.将全局变量替换为有效数据,并将数据替换为动态并发数据组
6.将动态并发数据组写入到临时数据层作为合并数据标识
7.循环下一步动态并发数据信息,并根据节点并发数据调用节点信息生成服务
8.读入节点信息生成服务反馈的新的动态并发节点数据
9.将读到的新的动态并发节点信息记录写入到数据层TASK表
10.将新的动态并发TASK记录输入到节点信息生成服务
11.读入节点信息生成服务反馈的新的动态并发EVENT记录
12.将新的动态并发节点EVENT记录写入到数据层EVENT表
13.异常情况下将插入TASK表和EVENT表的动态并发数据记录回滚
14.调用结束任务服务,将上一步服务节点任务标识发送到结束任务服务
15.获取到结束任务服务反馈的结束任务状态
16.根据结束任务状态删除数据层对应的上一步节点任务记录
17.输出新的动态并发TASk表数据记录
3.3.1.4.4.5结束任务逻辑
1.接收结束任务请求
2.从请求内容中获取任务ID
3.根据任务ID从数据层获取当前任务信息
4.将获取到的当前任务信息写入数据层日志记录
5.任务信息异常的请情况下,根据流程ID更新数据层的组合服务流程信息状态
6.将结束任务的状态写入到数据层对应的节点任务状态
7.从数据层读入序列信息作为eventid
8.调用节点数据生成服务,将当前节点任务信息生成出对应的EVENT记录
9.获取到节点数据生成服务反馈的结束状态的节点任务数据
10.根据任务ID从数据层获取当前任务配置的全局变量信息
11.解析全局变量信息,获取对应的服务名称,并根据服务名称从数据层获取对应的任务交互报文
12.将解析到的全局变量数据写入到数据层
13.将解析到的全局变量数据写入到数据层日志记录,方便后期问题跟踪以及运维处理
14.将结束任务处理结果反馈到请求方
3.3.1.4.4.6组合服务结束流程
1.获取结束流程请求
2.根据组合服务流程实例ID查询数据层实时任务
3.将数据层对应的当前组合服务实例实时任务记录删除
4.根据组合服务流程实例ID查询数据层全流程节点记录
5.将数据层对应的当前组合服务实例的全流程节点记录数据删除
6.将数据层对应的当前组合服务实例的全流程节点记录数据写入到全流程节点记录备份表
7.根据组合服务流程实例ID查询数据层全局变量数据
8.将数据层对应的当前组合服务实例的全局变量数据删除
9.将数据层对应的当前组合服务实例的全局变量数据写入到全局变量数据记录备份表
10.根据组合服务流程实例ID查询数据层流程交易报文数据
11.将数据层对应的当前组合服务实例的流程交易报文数据删除
12.将数据层对应的当前组合服务实例的流程交易报文数据写入到流程交易报文数据记录备份表
13.根据组合服务流程实例ID查询数据层临时下一步节点
14.将数据层对应的当前组合服务实例的临时下一步节点删除
15.根据组合服务流程实例ID查询数据层临时元素记录数据
16.将数据层对应的当前组合服务实例的临时元素记录数据删除
17.根据组合服务流程实例ID查询数据层流程基本信息数据
18.将数据层对应的当前组合服务实例的流程基本信息数据删除
19.将数据层对应的当前组合服务实例的流程基本信息数据写入到流程基本信息数据记录备份表
20.输出结束流程处理结果
3.3.1.4.4.7待办信息重发业务服务
1.读入请求重发请求
2.从请求内容中获取到服务名称和原始交易流水号
3.根据服务名称从数据层关联表查询到节点名称
4.根据交易流水号从数据层查询到对应流程记录
5.根据原始交易流水号从数据层备份数据中获取交易信息
6.根据交易信息和服务名称从数据层获取到交易报文
7.根据服务名称从服务层获取到服务交互地址以及交互类型
8.将拿到的请求报文重新下发到对应的请求地址
9.获取到新的服务相应数据
10.将新的下发数据以及新的相应数据重新写入数据层
11.将重发结果反馈至请求方
3.3.1.5编排服务页面元素配置
3.3.1.5.1页面设计
3.3.1.5.2业务实现描述
前端配置化是以基础逻辑为底层,通过配置化的形式展现页面效果的能力,依赖强大的前端能力支持,以及复杂的逻辑处理,才能将配置化的数据展现再页面上。
3.3.1.6流程信息获取
3.3.1.6.1业务实现描述
在已有信息的基础上,还要对已有流程的节点进行编排处理,当前环节就是对节点数据以及基础服务信息的暂时,为用户做节点绑定打下基础。
3.3.1.6.2表结构设计
3.3.1.6.3业务开发点
3.3.1.6.3.1获取节点列表
1.接收WEB获取节点列表请求
2.从请求消息参数中获取组合服务实例ID
3.根据组合服务实例ID从数据层获取全部流程节点信息
4.将获取到的节点列表信息拼装成json数据反馈给WEB端
3.3.1.6.3.2获取具体节点信息
1.接收WEB获取具体节点信息请求
2.从web获取具体节点信息请求的请求消息中获取节点名称、组合服务流程ID等信息
3.根据节点名称查询数据层节点-原子服务映射关系
4.根据原子服务信息从数据层获取原子服务基本信息
5.根据原子服务基本信息从数据层获取原子服务参数属性信息
6.根据原子服务类型判断,从数据层获取原子服务脚本基本信息
7.将查询到的信息整合为节点服务详情,并以json的形式反馈给请求方
3.3.1.6.3.3默认获取服务列表
1.接收请求方发来的获取服务列表请求
2.从请求方的获取服务列表请求中获取到分页信息
3.根据分页信息从数据层获取到过滤后的服务列表信息
4.将获取到的服务列表信息整理成json格式反馈给请求发起方
3.3.1.6.3.4获取指定条件服务列表
1.接收请求方发来的获取指定条件服务列表请求
2.从请求方的获取指定服务列表请求中获取到分页信息
3.根据分页信息从数据层获取到过滤后的指定服务列表信息
4.将获取到的指定服务列表信息整理成json格式反馈给请求发起方
3.3.1.6.3.5绑定节点服务信息
1.获取到发起方请求服务节点绑定服务请求
2.从获取到的节点绑定服务请求消息中获取节点信息和服务信息
3.根据节点id查询数据层流程id
4.根据节点ID、流程ID、原子服务ID从数据层查询对应配置
5.如果存在对应数据则抛出异常并向数据层插入异常记录
6.将节点信息和服务id、流程ID写入到数据层
7.反馈操作结果给请求发起方
3.3.1.7编排参数信息
3.3.1.7.1业务实现描述
通过展示的节点信息以及服务信息,用户可以直接在页面上对指定节点进行数据绑定赋值,这些数据会作为组合服务(服务编排)运行的依据,生成指定的请求内容并进行请求逻辑操作。
3.3.1.7.2表结构设计
3.3.1.7.3业务开发点
3.3.1.7.3.1服务与流程绑定
1.获取到服务流程绑定请求
2.从服务流程绑定请求中获取到服务编码以及流程名称
3.根据服务编码从数据层中获取对应的服务信息,校验对应信息不为空
4.根据流程名称从数据层获取对应流程信息,判断对应流程信息不为空
5.根据服务编码和流程id从数据层查询是否存在对应配置
6.如果存在数据则抛出异常,并向数据层插入异常信息
7.将服务编码以及流程名称写入到数据层做数据映射
8.反馈发起方当前操作结果
3.3.1.7.3.2获取服务入参数信息
1.接收获取服务入参信息请求
2.从获取到的获取服务入参信息请求中获取到服务名称
3.根据服务名称从数据层获取到服务ID
4.根据服务ID从数据层获取到对应的服务信息
5.从服务信息中获取到服务请求头模板ID,并根据对应ID从数据层获取到对应的服务模板信息
6.从服务信息中获取到服务请求体模板ID,并根据对应ID从数据层获取到对应的服务模板信息
7.脚本服务则根据服务信息查询数据层脚本信息
8.脚本服务则再根据查询到的脚本信息从服务主机读取到对应的脚本文件
9.将统计好的服务模板信息整合成统一的json报文反馈给请求发起方
3.3.1.7.3.3获取服务出参数信息
1.接收获取服务出参信息请求
2.从获取到的获取服务出参信息请求中获取到服务名称
3.根据服务名称从数据层获取到出参服务的服务ID
4.根据获取到的出参服务的服务ID从数据层获取到对应的服务信息
5.从服务信息中获取到服务出参请求头模板ID,并根据对应ID从数据层获取到对应的服务模板信息
6.从服务信息中获取到服务出参请求体模板ID,并根据对应ID从数据层获取到对应的服务模板信息
7.脚本服务则根据服务信息查询数据层出参脚本信息
8.脚本服务则再根据查询到的出参脚本信息从服务主机读取到对应的脚本文件
9.将统计好的出参服务模板信息整合成统一的json报文反馈给请求发起方
3.3.1.7.3.4服务参数绑定赋值
1.接收发起方的服务参数绑定请求
2.获取服务参数绑定请求中的服务模板id以及对应的服务参数信息
3.根据模板ID查询数据层对应的模板信息
4.根据模板元素id查询模板元素绑定信息
5.如果绑定信息不为空则更新写入数据层
6.将服务模板绑定信息写入到数据层
7.将操作结果反馈到发起方
3.3.1.8服务信息同步
3.3.1.8.1业务实现描述
服务信息并不是编排服务的固有数据,来源自管理域的数据同步,全部的原子服务信息经由管理域落地后,同步给编排服务,再由编排服务展示给用户使用。
3.3.1.8.2表结构设计
3.3.1.8.3业务开发点
3.3.1.8.3.1新增服务信息
1.接收到发起方请求的服务新增请求
2.获取服务新增请求信息中的请求数据
3.根据请求数据中的服务ID查询数据层中是否存在当前服务信息
4.将当前数据信息写入到数据层
5.调用新增参数服务同步服务参数
6.接收新增服务参数服务相应的结果数据
7.将数据同步结果反馈给请求发起方
3.3.1.8.3.2新增服务参数信息
1.接收到发起方请求的服务参数新增请求
2.从服务参数新增请求中获取到服务信息以及服务参数信息
3.根据服务参数ID从数据层查询服务参数是否存在
4.将收到的服务新增参数信息写入到数据层
5.将服务新增参数操作的处理结果反馈给请求发起方
3.3.1.8.3.3变更服务信息
1.接收到发起方请求的服务变更请求
2.获取服务变更请求信息中的请求数据
3.根据请求数据中的服务ID查询数据层中是否存在对应服务信息
4.删除数据层总已经存在的服务信息记录
5.将变更后的数据信息写入到数据层
6.调用变更参数服务同步服务参数
7.接收变更服务参数服务相应的结果数据
8.将变更数据同步结果反馈给请求发起方
3.3.1.8.3.4变更服务参数信息
1.接收到发起方请求的服务参数变更请求
2.从服务参数变更请求中获取到服务信息以及服务参数信息
3.根据服务参数ID从数据层查询对应服务参数是否存在
4.删除数据层中对应的已经存在的服务参数数据
5.将收到的服务变更参数信息写入到数据层
6.将变更服务参数操作的处理结果反馈给请求发起方
3.3.1.8.3.5移除服务信息
1.接收到发起方请求的服务移除请求
2.获取服务移除请求信息中的请求数据
3.根据请求数据中的服务ID查询数据层中是否存在需要移除的服务信息
4.删除数据层中对应的数据信息
5.调用移除参数服务同步服务参数
6.接收移除服务参数服务相应的结果数据
7.删除数据层对应服务id的服务-节点映射关系
8.删除数据层对应服务id的脚本服务
9.将数据移除结果反馈给请求发起方
3.3.1.8.3.6移除服务参数信息
1.接收到发起方请求的服务参数移除请求
2.从服务参数移除请求中获取到服务信息以及服务参数信息
3.根据服务参数ID从数据层查询对是否存在寻要被移除的数据
4.如果不存在,则反馈不存在的提示信息
5.删除数据层中对应的需要被移除的服务参数数据
6.将移除服务参数操作的处理结果反馈给请求发起方
3.3.1.8.3.7暂停服务状态
1.接收到发起方请求的服务暂停请求
2.获取服务状态暂停请求信息中的请求数据
3.根据请求数据中的需要暂停更的服务ID查询数据层中是否存在对应服务信息
4.将暂停后的状态信息写入到数据层
5.将暂停服务状态的操作结果反馈给请求发起方
3.3.1.8.3.8恢复组合服务
1.将暂停服务状态的操作结果反馈给请求发起方
2.接收到发起方请求的服务状态恢复请求
3.获取服务状态恢复请求信息中的请求数据、
4.根据请求数据中的需要恢复更的服务ID查询数据层中是否存在对应服务信息
5.将恢复后的状态信息写入到数据层
6.将恢复服务状态的操作结果反馈给请求发起方
3.3.1.9编排数据封装
3.3.1.9.1业务实现描述
根据客户配置的逻辑,编排服务会对数据进行封装解析,目前有两种数据类型,分别是字段封装,另一个是脚本支持。字段封装是可以直接解析配置,并把配置内容生成报文内容;脚本支持则需要客户对脚本内容进行定义,在脚本中处理数据。
3.3.1.9.2表结构设计
3.3.1.9.3业务开发点
3.3.1.9.3.1脚本服务内容存储
1.接收到发起方发起的脚本服务存储请求
2.从脚本服务内容存储请求中获取到请求请求数据
3.根据服务ID从数据层读入基本服务信息并判断对应信息是否为空
4.将脚本服务内容传给到校验服务,校验脚本内容是否合规
5.获取校验服务反馈的脚本服务校验结果
6.根据服务ID和流程ID从数据库读入脚本服务基础信息
7.将脚本服务内容传给文件服务,生成对应文件
8.文件服务接收脚本服务传递的信息
9.生成文件,并将文件上传到对应文件路径
10.生成文件唯一标识,返回给脚本服务
11.脚本服务接收文件服务器反馈信息
12.将文件路径、文件名以及文件唯一标识写入到数据层
13.将脚本服务内容存储操作结果反馈给请求发起方
3.3.1.9.3.2脚本服务内容读取
1.接收发起方发起的的读取脚本服务内容请求操作
2.从请求消息中获取到请求消息内容
3.根据服务id从数据层读到对应的脚本服务信息
4.根据脚本服务ID从数据层读入脚本服务基本信息
5.根据脚本路径和脚本名称从对应主机读入脚本文件内容
6.将读取到的脚本服务信息以及脚本文件内容分装成json对象反馈给服务请求方
3.3.1.9.3.3脚本服务执行
1.读入脚本服务执行请求
2.从脚本服务执行请求信息中读取到服务信息
3.根据服务ID从数据层读取到脚本服务信息
4.根据脚本服务ID从数据层读入脚本服务详情
5.根据脚本ID从数据层查询基础脚本信息
6.将读取脚本信息操作写入到数据层日志记录
7.根据脚本信息从文件所在主机读取脚本文件
8.将读入的脚本文件内容发送给脚本执行服务
9.从脚本执行服务中获取执行结果出参
10.将脚本服务执行结果反馈到请求发起方
3.3.1.9.3.4服务节点入参拼接
1.获取发起方请求的服务节点入参拼接任务
2.从请求拼接入参消息中获取请求内容
3.根据服务节点名从数据层获取绑定的服务ID
4.将获取服务ID的操作写入数据层日志记录
5.根据获取到的服务ID从数据层获取对应的服务信息
6.从服务信息中获取到请求头参数ID,去数据层获取对应的请求头参数信息
7.从服务信息中获取到请求体参数ID,去数据层获取对应的请求体参数信息
8.将请求头参数写入到参数封装服务
9.参数封装服务获取到写入的参数信息
10.循环处理数据时,根据当前参数名称从数据层查询临时数据,判断当前节点是否处理过
11.没处理过的情况根据当前节点名称写入数据层临时封装数据记录
12.根据当前元素绑定服务信息,从数据层查询对应的服务基本信息
13.根据服务名称从数据层查询对应的绑定节点名称
14.根据绑定节点名称从数据层查询对应节点的交易报文
15.如果当前节点对应有全局变量,则将变量名以及变量值写入到数据层全局变量记录
16.如果元素名称为空的请情况下则根据目标路径名去数据层查询对应的节点名称
17.将运算结果反馈给请求方
18.请求方去获取到参数封装服务反馈的请求头报文格式
19.将请求体参数写入到参数封装服务
20.参数封装服务获取到写入的请求体参数信息
21.循环处理请求体数据时,根据当前参数名称从数据层查询临时数据,判断当前节点是否处理过
22.没处理过的情况根据当前请求体节点名称写入数据层临时封装数据记录
23.根据当前请求体元素绑定服务信息,从数据层查询对应的服务基本信息
24.根据服务名称从数据层查询请求体参数对应的绑定节点名称
25.根据请求体参数绑定节点名称从数据层查询对应节点的交易报文
26.如果当前请求体参数节点对应有全局变量,则将变量名以及变量值写入到数据层全局变量记录
27.如果请求体元素名称为空的请情况下则根据目标路径名去数据层查询对应的节点名称
28.将运算的请求体参数报文结果反馈给请求方
29.请求方去获取到参数封装服务反馈的请求体报文格式
30.将获取到的请求服务报文头、报文体内容以及服务对应的地址写入到请求下发服务
31.请求下发服务获取到编排服务发起的请求
32.将获取到的请求头请求体封装进http请求并下发
33.获取到对方平台相应发数据
34.将平台相应报文头及报文体写入到数据层
35.将服务节点操作结果反馈到服务请求方
3.3.1.9.3.5服务节点出参处理
1.接收请求方请求的服务节点出参处理
2.根据请求参数获取请求节点服务名称
3.根据请求节点服务名称从数据层获取节点名称
4.根据请求节点名称查询数据层对应的交易报文数据
5.根据节点名查询数据层绑定全局变量参数信息
6.将解析后的全局变量写入数据层全局变量表
7.将更新全局变量操作写入数据层
将出参数据处理结果反馈到请求方
mytest123
发表于 2021-9-8 21:03
强烈支持楼主ing……
lnglng886
发表于 2021-12-8 09:13
太生气了,无法
wangziq007
发表于 2022-3-23 10:17
看到这帖子真是
LYH_2022
发表于 2022-8-6 18:51
感谢分享
vincentllx
发表于 2022-9-9 01:47
强烈支持楼主ing……