通过金蝶云与旺店通集成作为案例,本文将介绍如何通过轻易云集成平台可视化的轻松配置两个系统的集成方案。
集成系统
金蝶与旺店通系统集成
通过轻易云集成平台可以快速的可视化配置集成方案
系统集成数据流程图
01-配置连接器
连接器-connector
连接器是用户专属配置的服务器连接信息工具,可以分别添加并隔离开发环境和生产环境的数据源,以保护数据安全。根据具体情况用户可以选择三种不同的环境
- 生产 env_production
- 测试 env_test
- 开发 env_development
在完成开发与测试之后,正式运行之前务必将连接器环境切换到"生产"环境当中!
连接器参数配置
每个平台的连接器均不尽相同,各个连接器的配置格式可以参考《集成专题》一节:
如果连接器参数有发生变化,只需要修改连接器参数即可刷新缓存。
第一步:填写基本信息
注意选择【运行环境】,如选择了【开发环境】则后面页签只需要配置【开发环境】页签即可。
第二步:按要求填写连接参数
第三步:确认参数并保存
连接器参数开发
每个平台的连接器均不尽相同,这个配置需要在 PlatformModel 中配置 connector_params 参数来进行配置。这个参数配置是由集成开发者配置的,不需要实施人员进行处理。
连接器配置参数格式如下:
[ { "code":"host", "label":"服务器地址", "value":"http://hu3cgwt0tc.api.taobao.com/router/qm" }, { "code":"sid", "label":"sid", "value":"" }, { "code":"appkey", "label":"appkey", "value":"" }, { "code":"appsecret", "label":"appsecret", "value":"" }, { "code":"targetAppkey", "label":"targetAppkey", "value":"21363512" } ]
02-新增集成方案
集成方案是整个 轻易云集成平台 的核心,每一个集成方案代表一种业务的对接策略,用户可以根据业务的不同新建多个不同规则的集成方案。比如:采购订单同步,线上销售出库同步,线下销售出库同步。
一个集成方案必须要配置源系统,源系统 API,目标系统,目标系统 API。
在新增集成方案之前需要确定两个系统的连接器都已经配置完成。
01-配置基本信息
进入菜单【轻易云集成-列表】,点击上方操作按钮【新增集线器】
填写基本信息【编码】【名称】;
【最大重试次数】表示当单据写入出错时,系统自动重试的次数;
【策略模式】默认为 定时异步-定时异步
点击【下一步】进入下一个配置页签。
02-配置接入系统的信息
依次选择【源数据平台】【连接器】【接口】
注意接入系统页签只能选择查询接口
03-配置写入系统的信息
写入系统配置同样的依次选择【写入数据平台】【连接器】【接口】
注意写入系统页签只能选择操作接口
04-选择可用的标准模板
如果轻易云开发方有为该方案配置过标准集成模块,此时会弹出模板选择页签,可以选择一个标准模板使用。
05-新增成功,开始配置详细信息
新增成功之后你将在列表页面第一个找到刚刚新增的集成方案,点击方案名称可以开始进入详细信息配置。
03-集成方案-源平台配置
01-认识详情配置页面
详情页面中包含两个大区域,分别是表头、子页签区域。
表头区域主要显示一个基本信息,启动方案等操作;
子页签分别为各项明细功能:
-
- 日志管理:用于输出集成方案运行过程中的各项日志记录;
- 数据管理:可以对mongoDB的原始数据进行管理;
-
- 请求队列:查看与维护请求源系统的查询任务;
- 写入队列:查看与维护写入目标系统的写入任务;
-
- 源平台配置:用于配置如何生成源系统的查询任务;
- 目标平台配置:用于配置如何生成目标系统的写入任务;
-
- 调试器:运维、开发人员可以通过调试器激活集成方案的各项指令集(参考《调试器的使用》);
- 异常队列:查看方案运行过程中出现的异常错误;
-
- 加工厂:在一些特殊方案中可以嵌入自定义的脚本代码来做特殊处理(参考《数据加工厂》)
- Throwable:查看方案运行过程中出现的一些代码级的错误异常;
-
- more info:更多的集成方案信息查看,如重试次数、适配器、回调方案等。
02-四大参数
请求参数-requestParams
源平台的请求参数通常是一些用于查询的业务参数,比如查询条件中的日期、部门、物料编码等字段信息;
注意!金蝶云星空的部分查询操作需要特别处理。详情请参考《金蝶云星空集成专题》
其它请求参数-otherRequestParams
源平台的其它请求参数通常是一些非业务类参数,用于分页、单据识别符等字段信息;二者的界定并不是必须的,依照每个平台的适配有所不同。但最终这两部分参数都会去组成最后的请求参数数据;
响应参数-responseParams
响应参数只源平台查询成功之后将会返回的字段信息,这些字段信息通常不包含非业务参数,比如响应成功状态码、message这些系统级别的参数,这些系统级别的字段会在适配器的handleResponse方法中被适配器过滤掉。
注意!金蝶云星空的部分查询操作需要特别处理。详情请参考《金蝶云星空集成专题》
其它响应参数-otherResponseParams
其它响应参数当前并没有发挥任何作用,未来可能用用作配置系统级别参数来自动处理handleResponse方法;
03-源平台配置基本操作
保存配置操作
可以在修改多个参数之后再点击【保存】整个源平台配置。
【配置视图】与【源码视图】在相互切换时会刷新页面数据,所以在切换之前务必已经点击了【保存】按钮,否则刚刚配置的数据不会被保存;
新增一个查询字段
新增新的字段内容时,需要先在左侧选中对应的上级
- 只有object、array的字段类型才支持下一级字段新增
新增字段时,首选需要选择【所属分组】;
新增字段的类型默认情况下选择【字符串string】类型,特殊情况下可以选择object、array的字段类型;
删除一个字段
先在左侧选中需要删除的字段,然后点击【删除】按钮。注意删除之后只是界面保存了,并没有对后端进行包含,你仍然需要点击【保存】按钮将数据提交到后端;
配置源平台的字段值
左侧树形选择字段后,可以开始对该字段的值进行配置。既可以手工输入一个值,也可以在下方【变量选择器】中选择一个变量值。
动态变量使用 {{}}包裹,可以在后面插入 |format 进行格式化,更多的格式化可以参考《值格式化》该章节。
04-源平台的源码配置
ID 与 Number 的配置
ID是在集成平台中用于区分数据的主键,在查询到源平台的数据时,需要定位到源数据的唯一主键字段。因此这里必须要配置一个源平台的可用字段。
Number并不作唯一主键控制,仅仅是用于前端界面方便查询数据。如果该源数据没有编码 你也可以使用ID或者任意字段作为number。
ID 与 Number目前只能在【源码视图】中进行配置。
idCheck 是否允许覆盖数据
源平台配置的 idCheck 参数用于检测是否开启主键检查,默认开启。
如果开启则会排出重复数据;
不开启则会覆盖已有数据;
04-集成方案-目标平台配置
目标平台配置用于配置如何生成目标系统的写入任务;目标平台配置是整个轻易云系统集成平台核心功能,通过可视化的配置可以自动的生成金蝶云API接口数据
01-请求参数
基本字段操作
目标平台的字段值可以直接输入固定值。
点击【源平台响应参数】选择框,可以搜索源平台的响应参数到输入框中。
注意!源平台响应参数来自于源平台的配置界面获取,即使是源平台中没有配置这个字段,但是接口本身有数据返回,用于也可以直接数据动态值。
针对表体字段操作
如果目标字段是一个表体数组,那么需要在该字段上面指定源数据的表体key,在指定这个数组key时不需要{{}}这个动态符号;
在配置一个表体的子字段时,需要用如下格式来配置表体字段;
02-启用数据映射
点击【启用映射】后可以开始配置数据的映射关系。
关于数据映射关系的维护,请参考《数据映射关系》这一章节
03-启用值解析器
对输出的值进行更复杂的格式化处理操作,在金蝶的集成中经常被应用到。
04-自定义函数
参考《进阶应用-自定义函数》一章
05-联查关系型数据
参考《进阶应用-联查关系型数据》一章
06-目标平台特殊操作
金蝶基础资料分配组织
金蝶云星空的基础资料同步需要分配组织操作,目标平台源码配置增加项目:distributionOrg
注意这里的数据使用的是组织ID,而不是组织编码。
{ "distributionOrg":"100016,100017,100018,100019" }
金蝶的多组织编码可以通过直接SQL报表进行查询:
select * from T_ORG_Organizations
05-启动方案&定时策略配置
集成方案启动之后表头信息将不再支持修改,但是表体的平台配置信息可以继续修改,并且会刷新正在运行的缓存数据。已经启动的方案会自动根据配置的定时策略开始运行。
在方案未启动时,队列中的任务并不会真正的进入队列池排队。当你启动方案后可以在队列池中点击【重新排队】以开始激活。
定时策略配置
Linux crontab是用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond 命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
注意:新创建的 cron 任务,不会马上执行,至少要过 2 分钟后才可以,当然你可以重启 cron 来马上执行。
而 linux 任务调度的工作主要分为以下两类:1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置。
crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。
-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。
参数说明:
e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
r : 删除目前的时程表
l : 列出目前的时程表
时间格式如下:
f1 f2 f3 f4 f5 program
- 其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
- 当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推
- 当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推
- 当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推
- 当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推
* * * * * - - - - - | | | | | | | | | +----- 星期中星期几 (0 - 6) (星期天 为0) | | | +---------- 月份 (1 - 12) | | +--------------- 一个月中的第几天 (1 - 31) | +-------------------- 小时 (0 - 23) +------------------------- 分钟 (0 - 59)
常用的配置示例参考
配置 | 释意 |
* * * * * | 每分钟执行一次 |
*/5 * * * * | 每隔5分钟执行一次 |
*/5 6-23 * * * | 6点~23点,每隔5分钟执行一次 |
10 */3 * * * | 每隔3小时 的 第10分钟执行一次 |
15 6,8,10 * * * | 6时、8时、10时的第15分钟执行一次 |
10 2 * * 1 | 每星期1的 2:10 执行一次 |
10,15,20,25,30 */2 * * * | 每隔两小时,当第10,15,20,25,30分钟执行 |