1金蝶云苍穹5.0·集成服务云数据集成开发指南金蝶云苍穹·集成平台服务部孙文2022.11.32提纲1.概览2.连接管理3.集成对象4.数据集成方案5.值转换规则6.启动方案7.数据集成监控3系统集成模型框架目标系统源系统数据消费建立连接映射关系启动机制运行监控数据生产数据集成数据抽取数据转换数据清洗数据加载4数据集成简介数据集成方案,主要针对数据集成场景设计,高度利用集成对象的优势,通过可视化配置就可以完成一个简单的数据集成方案。菜单路径:集成管理-数据集成-数据集成方案设计场景:目前的主要设计场景有数据复制和数据集成。•数据复制:集成对象为数据库表,基本不用或极少量的数据转换,强调高性能的数据拷贝。(支持高并发读写)•数据集成:集成对象可以是表、实体或者数据结构,需要复杂的数据转换设计,才能完成集成。这种方式性能会有损耗,无法做到高效同步。(批量有可能不生效)5数据集成操作主流程连接管理集成元数据数据集成方案集成运行&监控1、配置连接信息2、连接器部署1、定义数据源2、同步元数据1、设计数据集成方案2、设计值转换规则3、设计启动方案1、集成方案执行2、数据集成执行结果3、数据集成执行日志数据集成专题:https://club.kdcloud.com/knowledge/specialDetail/1365655656651671046提纲1.概览2.连接管理3.集成对象4.数据集成方案5.值转换规则6.启动方案7.数据集成监控7连接管理--连接类型简介连接类型是用于一类或一种系统和集成平台建立连接的技术实现,集成云目前已内置60余种连接器类型菜单路径:集成管理-连接管理-连接类型通用技术连接器:•数据库直连和数据库代理(Orcale、SQLserver、mySQL、PG、informix、Hive,其中Orcale、SQLserver、mySQL类型代理支持触发器监听实现准实时触发)•API接口(RestfulAPI、webservice以及其他通过HTTP访问的API)•MQ(rabbitMQ、kafka、RocketMQ、华为MQS)•FTP服务器•支持以上连接类型的扩展开发,例如Hive数据库、SOFAMQ等都是通过扩展实现的。同时也支持不同协议接口的扩展开发,例如邮件服务、短信服务、离线文件等。应用专属连接器:•EAS、星空、苍穹、SAP、云之家、企业微信、钉钉、WeLink、京东、苏宁、西域、晨光等。•支持通过技术连接器的扩展开发,定制专属连接器,例如京东电商、WeLink等都是通过此方式扩展实现。•除了预置连接器外,还支持两种方式自定义开发第三方系统连接器:WebAPI连接器和自定义连接器工厂类连接类型简介:https://developer.kingdee.com/article/1836818连接管理--连接配置简介使用集成服务云,首先需要配置需要集成的系统连接信息。即新增连接配置建立服务器之间的物理连接。菜单路径:集成管理-连接管理-连接配置•集成云目前支持多种连接类型,包括苍穹当前帐套、EAS系统、星空、Oracle、MySQL、SQLserver、数据库代理等;•选择不同的连接类型,需填写不同的连接配置信息;连接配置简介:https://vip.kingdee.com/article/136489连接管理--连接配置详解集成服务云部署前准备:https://club.kdcloud.com/article/14039苍穹当前账套:https://club.kdcloud.com/article/13693EAS系统:https://club.kdcloud.com/article/14205Oracle:https://club.kdcloud.com/article/13678MySQL:https://club.kdcloud.com/article/13691SQLserver:https://club.kdcloud.com/article/13689数据库代理:https://club.kdcloud.com/article/13696连接类型自定义配置指南:https://vip.kingdee.com/article/136534888760835840自定义连接器类型登记与连接配置:https://vip.kingdee.com/school/89389204685524480连接异常通知:https://vip.kingdee.com/article/14518190813174528010连接管理--数据源管理数据源是系统连接的抽象,定义的是各种数据集成方案中集成对象的数据来源。菜单路径:集成管理-连接管理-数据源管理数据源管理简介:https://vip.kingdee.com/article/13729•数据源绑定唯一的系统连接,仅修改数据源的系统连接即可实现集成对象与系统连接的动态关联。•针对同类型数据结构的数据源,无需调整数据集成方案,只需重新选择数据源的连接信息即可变更其来源系统。应用场景•预置集成方案迁移•集成方案从测试环境迁移到正式环境•应用环境地址调整11提纲1.概览2.连接管理3.集成对象4.数据集成方案5.值转换规则6.启动方案7.数据集成监控12集成对象--集成对象管理集成对象是数据集成的最基本的组成,所谓的数据集成就是从源系统的源对象到目标系统的目标对象数据的传递。集成云提供了集成对象的增删改查和同步数据模型等功能。菜单路径:集成管理-集成元数据-集成对象【批量同步元数据】:针对数据源,首次使用集成服务云或后续元数据有变化时需同步更新;•支持全量或增量同步;•可选择后台执行;•可查看同步日志;【同步选定元数据】:数据模型指集成对象的基本信息、属性、操作、事件、枚举常量等信息,数据源中这些信息发生变化后,需更新数据模型。集成对象简介:https://vip.kingdee.com/article/13774了解集成对象:https://vip.kingdee.com/school/9666106736728243213集成对象--实体使用场景:所选数据源对应连接配置类型为EAS、苍穹(当前账套)、数据库,则可支持元数据同步:•EAS:全名处输入对应实体entityObject,编码处输入实体对应的BOSTYPE,如用户:全名com.kingdee.eas.base.permission.app.User、编码13B7DE7F;•苍穹:全名处输入对应元数据名称即可,如币别bd_currency;•数据库:数据表处输入对应表名即可。(注:苍穹环境数据表名后需添加分库标识)。【属性】:同步的属性中也会将相应的数据模型同步【操作】:相应元数据对应的表单操作【事件】:获取到的元数据操作事件14集成对象--枚举使用场景:需要集成的数据对象为静态常量,该类型集成对象仅包含枚举常量和枚举值;15集成对象--数据表使用场景:数据库同步,输入数据表名即可从数据源系统中同步属性、操作和事件。属性、操作、事件与实体类型类似16集成对象--视图使用场景:需要采用视图类型的集成对象来取数。17集成对象--结构使用场景:主要用于定义服务的调用结果或参数的数据项;也可用于定义一些额外的数据项赋予源单,在数据集成方案中,通过分录表(多行)或外键表(单行)与源单建立关联,以方便字段映射中选择来自结构的字段,而结构字段的值则必须通过“取数脚本”赋值于源单。18集成对象--结构使用场景:“结构”、“查询服务”、“加载服务”类型的集成对象可通过数据集发布;数据集可以通过API的参数Json串直接导入生成对应数据结构模型,并发布到集成对象中供后续使用。19提纲1.概览2.连接管理3.集成对象4.数据集成方案5.值转换规则6.启动方案7.数据集成监控20数据集成方案数据集成方案是对获取-转换-处理数据的方案设计。菜单路径:集成管理-数据集成-数据集成设计-数据集成方案1.来源数据获取:用于获取满足过滤条件的来源数据。2.字段映射:字段映射是数据转换的第一步。字段映射的分两种情况:1.配置了“直接赋值”,处理顺序为“直接赋值”》“值转换规则”;2.没有配置“直接赋值”,则处理顺序为“字段取值”》“聚合运算”》“值转换规则”。【转换脚本】则在字段映射后被执行。3.目标数据处理:配置的处理方式和处理脚本负责将目标数据应用到目标系统。4.高级设置:在需要从多个集成对象中获取数据、来源数据结构复杂需要特殊处理等场景下,此处配置的来源数据处理脚本在过滤条件后被执行。数据集成方案(新增):https://vip.kingdee.com/article/1388821数据集成方案--基本信息&控制参数源对象/目标对象:选择已同步的集成元数据,支持表-表、表-实体、实体-表、实体-实体的同步;编码、名称:自动生成可以修改;模式:支持单个事务、错误时中止、错误时忽略;•单个事务:方案执行时如果发生错误则回滚已同步数据,仅适用于直连数据库的数据集成;•错误时中止:方案执行时如果发生异常则立即停止,并记录日志;•错误时忽略:方案执行时如果发生异常仅记录日志,并继续执行后续数据的同步。记录单据集成日志:如果选中,则自动记录单据集成日志。使用场景:选中这个选项可以记录源单和目标单的集成日志,方便查询单据的集成情况,该日志在菜单“单据集成日志”可以查看(菜单路径:集成管理-集成监控-单据集成日志)。记录源单/目标单ID关联关系:如果选中,则自动记录源单/目标单ID关联关系。使用场景:选中这个选项可以记录凡是通过集成服务云集成的所有单据ID的映射关系,该映射关系在菜单“单据ID映射表”可以查看(菜单路径:集成管理-数据集成-单据ID映射表)。附件同步:在单据同步时将相关联的附件同时同步。回写值转换规则:把源单和目标单的ID写到人工映射规则中,作为其他方案的转换规则。22数据集成方案--来源数据获取为了让开发更好通过API获取数据来进行方案配置。当“数据集成方案”使用“结构”源对象时,可以使用“来源数据查询脚本”调用API获取数据,封装成结构的格式,作为来源数据。功能说明:数据集成方案,来源数据获取页签增加来源数据查询脚本大字段。23数据集成方案--字段映射目标对象字段/源对象字段:选择源与目标的属性映射关系。(双击单元格选择字段);是否候选键:候选键作为唯一标识,用于判断目标数据的处理逻辑,存在时则更新,不存在时则新增;直接赋值:输入常量值,或通过#{expr}的方式输入表达式,例如:#{now}、#{new_int_id()};聚合运算:聚合分录内,通过函数进行处理,例如sum求和,count计数,avg均值,seq序号等;值转换规则:对源单字段值进行转换,配置值转换规则。(字段类型为:REF、ENUM的必须配置);转换脚本:对上述各类字段映射方式的自定义补充,适用复杂映射关系;24数据集成方案--目标数据处理【操作列表】:定义目标数据写入目标系统的方式,如保存(新增+修改),则候选键存在时更新数据,候选键不存在时新增数据;【代理用户】:如果设置了代理用户,则目标系统使用该用户的身份执行单据操作。可以直接设置代理用户的ID编码,手机号,或通过#{field}引用“目标单据”的字段值(注意:当选择的是分录属性,则取第一行的字段值)作为代理用户的ID或编码。;【数据处理】:“目标数据处理类”功能扩展,支持微服务接口调用;“目标数据处理脚本”在脚本中仅允许访问目标系统。25数据集成方案--高级设置【关系映射】:使用分录表和外键表用于扩展源单和目标单的数据,达到从多个集成对象取数或写数的目的;【依赖资源】:引用自定义函数或外部系统API用于在数据集成方案的各处数据处理的脚本上下文中进行使用;【层次结构】:当目标对象数据是层次结构时,指定层次结构信息,优化数据集成执行过程;26提纲1.概览2.连接管理3.集成对象4.数据集成方案5.值转换规则6.启动方案7.数据集成监控27值转换规则•支持7种规则类型:常量转换、SQL、集成脚本、人工映射、候选键映射、Java/微服务以及组合规则•关联查询:支持值转换规则之前调用关系的查询•支持值转换规则的测试,方便追踪映射关系配置问题用于集成方案中字段映射关系的特殊补充,即适用于直接赋值、字段取值、聚合运算等方式都不能满足源单数据转换的场景。菜单路径:集成管理-数据集成-数据集成方案设计-值转换规则28值转换规则--常量转换常量转换:维护固定值的映射关系。29值转换规则--SQLSQL:基于输入值,通过SQL脚本的方式,联查输出值。30值转换规则--集成脚本集成脚本:通过脚本编程,实现复杂的业务转换逻辑。31值转换规则--人工映射人工映射:手工维护映射关系,系统会基于编码、名称匹配,未匹配的数据需要手工维护。针对数据量较小,手工易维护的场景,数据量过大不建议使用。32值转换规则--候选键映射候选键映射:根据已配置的集成方案中候选键关系,自动映射目标输出值。33值转换规则--Java/微服务Java/微服务:通过写Java代码(需要部署到集成与目录应用下)方式,针对更加复杂场景,不推荐使用。原则:能够通过在线配置实现的内容,一定不建议使用JAVA/微服务实现,会对后续维护会带来极高成本。34值转换规则--组合规则组合规则:串联执行方案,上一个方案的输出,作为下一个方案的输入,最终得到目标输出值。35值转换规则–目标值不存在时执行数据集成目标值不存在时执行数据集成:当根据参数值找不到目标值时,以参数值作为集成方案源对象的主键值自动执行数据集成,结果单的ID作为本规则的目标值。36值转换规则–快速测试测试功能:可以直接将源字段值作为输入,通过测试直观的获取到转换结果,方便快速验证值转换的转换逻辑。37提纲1.概览2.连接管理3.集成对象4.数据集成方案5.值转换规则6.启动方案7.数据集成监控38启动方案启动方案是数据集成方案启动执行的方案设计,集成云提供了人工、定时、事件触发、消息启动等多种启动机制,支持基于一个数据集成方案设计多种启动,完成一个完整的业务集成;菜单路径:数据集成-数据集成设计-启动方案•启动方案类型有定时启动、人工启动、事件触发和消息驱动四种;•支持启动方案分类(与集成方案一致);•支持增删改、启用/禁用、导入/导出管理;•支持立即执行:人工启动和定时启动类方案直接执行,事件触发类方案的立即执行主要用于人工补偿•支持查看执行结果、执行日志、分批结果和附件日志;•事件触发类方案支持查看触发日志(触发的事件及推送的数据);39启动方案--人工启动仅支持在启动方案列表中选中该方案后点击【立即执行】按钮时触发执行。适用场景:适用于调试或者测试环境,或者同步时效要求很低的场景。【控制参数】:控制启动方案运行时的性能参数,重试间隔,重试策略等,详见各参数tips;【执行计划】:可查看最近触发时间和触发次数;【数据过滤】:设置启动方案的源数据过滤条件,该设置与数据集成方案的过滤条件同时生效;【高级设置】:重定向,重新指定来源系统或目标系统,使同一个数据集成方案可以用于其他同类系统的数据集成。【传输方式】:定义来源数据获取方式和目标数据推送方式;【任务编排】:数据集成方案之间存在前后依赖关系时,可以采用任务编排的方式配置启动方案;同时启动多个方案。40启动方案--定时启动在状态为“可用”时,将按照启动方案中配置的【执行计划】在“启用时间”开始后,“过期时间”结束前,依据“执行频率”执行启动。适用场景:同步时效一般,可以集中在某个时间点批量同步。【执行计划】:定义定时启动的执行频率、启用时间、过期时间后自动生产调度作业和调度计划,方案中可查看最近触发时间和触发次数,更详细的调度计划,请前往”系统管理-调度管理-调度计划-集成服务云“查看;41启动方案--事件触发在状态为”可用”时,将按照启动方案中配置的【执行计划】在监听到“触发事件”中的事件(如保存,此处配置的事件仅支持集成方案中集成对象的所有事件)时触发执行。适用场景:适用于同步时效要求极高的场景或者上下游业务有依赖的场景。【执行计划】:定义触发启动方案的事件,可选的事件由数据集成方案中的源对象决定。42启动方案--消息驱动仅在启动方案中配置的【传输方式】-【来源数据获取】中配置的“消息订阅主题”对应的消息队列中产生消息时触发执行。适用场景:同步实效要求不高,异步执行数据集成,适用于大批量数据异步分批处理的场景;【传输方式】:消息驱动类型的启动方案,需在来源数据获取方式中选择“消息队列”并选择消息订阅主题;43启动方案–数据集成通知通过发送消息的方式,及时的对启动方案执行的结果信息进行同步,做到及时运营监控执行状态:完成、失败、部分成功44提纲1.概览2.连接管理3.集成对象4.数据集成方案5.值转换规则6.启动方案7.数据集成监控45数据集成监控--概览集成云提供数据数据集成的实时监控功能,全面掌握数据集成方案的执行情况。执行结果简介:https://vip.kingdee.com/article/13931执行日志简介:https://vip.kingdee.com/article/13935集成管理执行日志介绍视频:https://vip.kingdee.com/school/102403758146859520启动方案支持源单分批:https://vip.kingdee.com/article/69485595890104320启动方案支持按时间戳属性过滤同步数据:https://vip.kingdee.com/article/76676468927080192单据集成日志:https://vip.kingdee.com/article/147745数据集成方案支持附件同步:https://vip.kingdee.com/article/4807851609278976046数据集成监控--执行结果•支持失败的方案进行重试/发起人重试;•支持执行中的方案进行撤销;•每个执行结果可以查看执行日志;显示启动方案的执行概览,即数据集成的成功、失败、忽略数和总行数及执行耗时统计。菜单路径:(全部数据集成)集成管理-数据集成-执行结果(单个启动方案)集成管理-数据集成-启动方案-执行结果47数据集成监控--执行日志•失败日志会自动记录,如果需要记录成功记录,请在启动方案基础信息中打开保存全部日志开关;•记录了源、目标的数据,方便快速定位问题;•支持单条失败数据重试;•支持快速下载日志内容;•支持快速查看值转换异常详情及查看解决办法显示启动方案执行结果的日志详情,包含每一条数据的集成日志。菜单路径:(全部数据集成)集成管理-数据集成-执行日志(单个启动方案)集成管理-数据集成-启动方案-执行日志48数据集成方案异常检查流程连接管理集成元数据数据集成方案启动方案•源系统的连接配置处于“活跃”状态•目标系统的连接配置处于“活跃”状态•源对象已同步•目标对象已同步1、来源数据获取检查2、字段映射检查3、目标数据处理检查4、值转换规则检查5、过滤条件配置6、参数调整1、配置合适的启动方案(初始化、即时触发、定时任务、补偿同步等场景)2、启动方案参数调整(日志开关、线程数、重试策略等)3、异常任务处理(重试、补偿执行等)49案例实操50案例一场景:将集成管理->其他->演示单据中的demo1数据同步到demo2中要求:仅过滤开头是“TEST_sw_1103_demo”的数据,且在转换时,将名称字段右截取,将不需要的“(勿动)”信息去掉。51案例一场景:将集成管理->其他->演示单据中的demo1数据同步到demo2中要求:仅过滤开头是“TEST_sw_1103_demo”的数据,且在转换时,将名称字段右截取,将不需要的“(勿动)”信息去掉。52案例二场景:将集成管理->其他->演示单据中的demo1数据步到demo2中要求:demo1同步到demo2,仅过滤开头是:“TEST_sw_1103_demo”的数据,且当源对象名称等于”TEST_sw_1103_demo_2“时,忽略该单,并在转换脚本中将名称中的"勿动"替换为"修改名称测试",且将分录中用户名称为“李华”的标记为“离职”。53案例二场景:将集成管理->其他->演示单据中的demo1数据步到demo2中要求:仅过滤开头是:“TEST_sw_1103_demo”的数据,且当源对象名称等于”TEST_sw_1103_demo_2“时,忽略该单,并在转换脚本中将名称中的"勿动"替换为"修改名称测试",且将分录中用户名称为“李华”的标记为“离职”。54案例二场景:将集成管理->其他->演示单据中的demo1数据同步到demo2中要求:仅过滤开头是:“TEST_sw_1103_demo”的数据,且当源对象名称等于”TEST_sw_1103_demo_2“时,忽略该单,并在转换脚本中将名称中的"勿动"替换为"修改名称测试",且将分录中用户名称为“李华”的标记为“离职”。55案例三场景:将集成管理->其他->演示单据中的demo1数据同步到demo2中要求:对于过滤条件,针对不同的场景,需要动态修改对应过滤的值信息。56案例三场景:将集成管理->其他->演示单据中的demo1数据同步到demo2中要求:对于过滤条件,针对不同的场景,需要动态修改对应过滤的值信息。57案例四场景:将集成管理->其他->演示单据中的demo1数据同步到demo2中要求:通过事件触发,当新建demo1保存或修改保存后,在demo2中同步创建相应信息基础资料。58案例四场景:将集成管理->其他->演示单据中的demo1数据同步到demo2中要求:通过事件触发,当新建demo1保存或修改保存后,在demo2中同步创建相应信息基础资料。59案例四场景:将集成管理->其他->演示单据中的demo1数据同步到demo2中要求:通过事件触发,当新建demo1保存或修改保存后,在demo2中同步创建相应信息基础资料。60案例五场景:将集成管理->其他->演示单据中的demo1数据同步到demo2中要求:通过定时触发,增量同步将创建时间为近两分钟的demo1数据同步到demo2。61案例五场景:将集成管理->其他->演示单据中的demo1数据同步到demo2中要求:通过定时触发,增量同步将创建时间为近两分钟的demo1数据同步到demo2。62案例六场景:值转换规则使用要求:基本的常量映射、SQL类型、脚本类型值转换初体验。63Thanksterimakasih感謝谢谢ありがとうขอบคุณ