公司项目类型共分为两类:第一种为产品加交付类项目,需要公司内部出实施人员进行项目交付;而另一种为产品加培训类项目,需要合作商或客户自身进行项目的开发相关工作,由我方提供产品培训。本篇文档大背景主要针对主数据治理产品加培训项目中的数据分发开发场景进行全方位说明。
主数据分发整体分为两个部分,首先是配置部分,进入到主数据内的数据在分发时需要对字段、系统以及相关分发权限进行授权;另一部分是使用ESB企业服务总线进行应用集成流程的开发工作,在开发过程中需要调用主数据任务读取以及日志回写接口等,本篇文档主要是用于为合作伙伴或客户提供分发相关参考资料。
数据分发配置整体架构如下:
进行主数据分发的相关配置,首先需要了解主数据的分发模式。主数据分发是将源业务系统同步过来的数据以任务的形式进行打包处理生成任务ID,之后在主数据流程配置内调用接收数据业务系统的接口,将任务ID传入该接口中,并提供跟据任务ID解析数据的task接口,由接收数据的业务系统自行进行数据同步,并将数据同步信息进行主数据日志回写(接口方式)。主数据分发有两个分发的场景,一是数据自动分发,第二是平台手动分发。本次主要介绍自动分发的情况,具体场景说明如下。
分发的应用场景主要包含两个模块,一个是自动分发,另外一个是手动分发。自动分发主要对数据同步应用集成流程进行调整,使其生成任务ID,通过调用流程触发按钮自动进行数据分发;另一个手动分发是在主数据管理控制台生成任务进行分发功能的触发操作,具体分发场景详见下文。
自动分发主要是对数据同步集成流程进行调整的基础上为其提供数据审核BPM流程,在审核的节点上调用外部数据接收接口,将任务的taskId传给外部接口即可。自动分发需要对数据同步流程、主数据审批流程等进行调整,具体配置详见文章第四部分。
手动分发针对主数据手动触发功能,在主数据管理平台某一类主数据的数据管理模块,选择需要分发的单条/多条数据,点击生成任务按钮。
接下来选择关联的应用系统及分发操作。
点击保存按钮,就会将这些数据打包生成一个分发任务,接下来选择分发的流程。
点击提交即可完成分发操作。
基础信息的配置主要是对分发字段、系统以及分发权限等进行授权,例如分发MES系统则对该系统需要的某几个重要字段进行添加字段信息即可,不需要将全部字段信息分发至该系统中,具体配置如下。
在主数据应用管理—应用配置模块,将需要分发的业务系统进行注册,例如注册MES系统。
在该模块点击“新增”按钮。
在编辑页面录入对应信息。
例如要分发物料主数据的信息,双击打开上述注册的应用系统,添加主数据。
选择物料主数据。
接下来配置MES系统需要的元数据字段,在后续通过task接口获取数据时就能查出当前配置的字段信息。
在配置完成分发字段需要对当前应用系统进行授权,授权功能模块在数据的分类数据建模。
接下来在左侧下拉选找到物料主数据,在分发权限行点击添加按钮,增加分发业务系统权限。
点击保存按钮完成权限操作。
以人员主数据同步流程为例,整体流程如下:
首先需要对MDM同步数据接口Sync-data接口参数进行调整;
将isCreateTask参数N改成Y,这样就会在主数据自动生成任务,具体调整如下:
接下来在流程内增加三个节点,一个java转换节点、两个http调用节点。在java转换节点直接拓展代码,增加下列代码:
红色字体是需要调整的内容,调整内容为文字4分发流程调整模块的流程编码。
接下来获取该应用系统tokenID,获取tokenId有两个入参,具体如下:
流程调用URL:
得到返回值tokenId,样图1:
点击下一步样图2:
主数据内BPM流程触发是通过接口的方式进行流程触发,在Http调用节点,输入对应的流程调用接口:
其中taskId和flowCode是前边定义好的变量信息,并且数据已经赋值,样例图片如下:
图2:
入参类型为Json格式,在请求头设置区增加key值tokenId,在内容处选择文章3.3获取的tokenId变量。
本章主要针对标题1.2自动分发场景,自动分发主要是对数据同步集成流程进行调整的基础上为其提供数据审核BPM流程,在审核节点上调用外部数据接收的接口,将任务的taskId传给外部接口即可,其中还涉及部分全局变量的配置以及流程的配置,具体详见下文。
在主数据管理平台流程建模—流程定义列表点击“复制流程按钮”,可以复制主数据定义好的模板。
选择默认主数据分发流程进行复制。
在模板变量配置模块第一个输入框内输入主数据的编码,在第二个输入框内输入主数据大写编码,样图如下:
接下来点击保存按钮完成流程模板的复制。
在默认流程分组下可以找到刚才所复制的流程。
选择流程点击编辑按钮,调整流程的编码、名称及分组,分组调整到对应主数据下。
点击保存按钮提示流程保存成功。
根据编码或者名称找到刚才所复制的流程双击打开,流程情况如下:
修改其中调用节点即可,其它节点已配置完成无需修改,调用节点示例图如下:
修改任务设置中的获取许可、初始化分发日志及接收任务接口调用三个节点。
1.获取许可调整:在获取许可处点击编辑按钮,调整appCode和appPwd,此处配置依然和2.1录入参数一致。
调整完成点击保存按钮。
2.初始化分发日志调整:调整当前分发主数据的服务地址,下图举例组织主数据地址:
主数据的每个服务可以通过主数据openAPI查看,地址如下:
3.接收任务接口调用调整:此处接口是接收系统提供的外部接口,入参为taskId,在此处直接URL拼接任务参数即可。
调整完成将流程进行保存,并进行流程发布。
本次数据分发的接口均以组织主数据为例进行说明,组织主数据服务调用地址如下:
可以通过SaopUI、Postman等工具进行调用查看接口。
在任何应用系统调用主数据时都需要获取一个密匙,这个密匙就是tokenId,其调用服务如下:
调用请求:Get
入参:
样例出参:
SoapUI调用样例:
全量数据接口主要针对ERP、MES、PLM系统进行数据初始化所用,接口地址如下,注意只能获取主数据已发布的数据:
调用请求:Get
入参:
出参(Json):
SoapUI调用样例:
在主数据向接收系统传入taskId时可以通过task进行数据解析,接口地址如下:
调用请求:Get
入参:
出参(Json),其中data参数是打包好的数据,可以通过key值解析:
SoapUI调用样例:
在业务系统解析任务同步数据成功后需要返回成功或者失败日志到主数据内。接口地址为:
调用请求:Post
入参(Json):
出参:
通过本次的对外部人员分发配置的文档的撰写使自己在一些做事方法上有了很大的感悟,同时也总结了一些心得,现从做事方法、意识形态以及能力提升层面总结如下。
通过过程中对技能点的随手记录,在撰写这篇文章的过程中,再次缕清自己的逻辑。在后续工作中,应该将文档分门别类的整理出来,例如教程类的归为一类、错误信息及解决方案的归为一类、知识点归为一类,以便自己日后的快速查找。笔者认为写文档不仅没有浪费时间,还间接的给了我许多便利,比如代码的复用、类似错误信息的快速调试等,都节省了很多时间。
伴随着自身专业知识的不断积累,对知识的认知不断提高。回过头来看自己之前记录的工作文档,会发现很多漏洞,这时就需要再次完善。在完善的过程中把初学时的理解和当下做比较,可以了解到当时的自己有哪些不足,思维逻辑有了怎样地改善。技术、认知在不断地更新,工作文档也在不断地更新,在这个不断迭代更新的过程中,使自己的知识点由点到线,融汇贯通。
在工作学习过程中通过不断地记录文档,可以从多方面提升自身的综合能力。一方面可以感觉到自己的逻辑思维有了很显著地提升,尤其是在记录教程类文档时,例如某些系统的使用手册,通过对系统梳理,可以提高自己的逻辑思维。另一方面在有了清晰的逻辑思维后,对自己的技术能力和水平都有了系统地提升。同时撰写文档也是一个总结、反思的过程,能够帮助个人促进深入思考的能力。
就目前的IT行业来看,撰写文档也并不是毫无缘由的。一个优秀的IT从业者势必需要有过硬的笔头功夫。除此之外,不管是项目实施、项目管理、项目经理或是后端开发等任何方向的发展,都会有撰写项目总结、实施进度汇报、需求设计文档的要求,因此提升文档撰写能力刻不容缓,重视并培养自己撰写文档的能力至关重要,将文档记录形成习惯,为个人成长助力。