基于ESB流程的分页处理开发总结

标签: #无关联标签#
作者: 管理员  

2023-09-13 09:12 阅读量(92)

MDM主数据管理是把企业的多个业务系统中最核心的、最需要共享的主要数据进行整合,集中进行数据的清洗和标准化,并且以集成服务的方式把统一的、完整的、准确的、具有权威性的主数据分发给需要使用这些数据的应用系统,而ESB则是主要作为企业信息系统的“龙骨”来集成各业务系统,实现异构系统的互联互通。

本文是对ESB和MDM协同使用实现客户数据定时同步的分页调用进行总结。在对MDM产品的功能及接口进行了解与熟练使用之后,进行功能开发,实现数据从源头系统分页调用到MDM的数据同步、再从MDM到目标系统的数据分发功能。在本文中会介绍到功能的设计实现思路、具体的实现过程、数据架构、功能的测试及分析总结等。

总体说明

总体需求主要包括对同步流程的业务需求进行说明,并对同步流程的功能需求进行整体分析,另外,对于整体的集成架构进行介绍。

1.集成架构

集成架构以ESB+MDM为主,通过ESB实现数据的定时分页同步,整体架构图如下:

1.以MES系统为数据源头,提供客户数据;

2.通过ESB定时流程分页将数据推送到同步流程

3.ESB同步流程将数据推送至MDM中;

4.由MDM中调用BPM流程将数据分发至下游业务系统。

2.业务需求

本次同步流程基于实际业务需求,需要在同步的过程中,将MES系统客户数据定时分批次同步至MDM,由MDM调用分发BPM工作流将数据下发至下游业务系统中。

3.功能需求

本次定时同步流程的需要如下:

1.MES系统作为源头提供客户数据

2.通过定时流程将数据进行分页处理分批的将数据写入同步推送流程;

3.通过同步流程将数据同步到主数据当中;

4.由MDM调用BPM工作流分发数据到下游业务系统。

实现方式

本次同步分发流程主要包括两个部分,一部分是对主数据进行主数据的模型创建,另一部分是对ESB企业服务总线进行集成流程配置,本次同步分发流程的核心目的是通过定时同步流程一键将源头系统的数据分批次同步MDM再自动分发到目标系统中。

1.前期准备

首先,对ESB、MDM等产品进行调试,尽量使用最新版本,避免出现产品问题,其次,先行熟悉这些产品的操作,了解ESB一些组件的使用,MDM在功能实现过程中需要用到的接口,掌握调用其需要的入参格式、调用方式等等。

2.实现思路

在上文已经对本次工作的需求做出了阐述,在拿到需求之后,先整理出大体的实现思路,有了一个大体的实现思路之后,再根据实现思路进行更为具体的实现过程的设计,本次开发工作的大体实现思路如下:

1.在主数据配置基础模型、功能模型、BPM流程;

2.通过ESB开发定时分页流程、同步流程、模拟业务接口服务;

3.配置MDM中配置分发接收地址;

4.整体测试。

3.流程设计

在此将根据从需求整理出的大概实现思路进行更为具体的设计,对于角色同步流程的开发过程进行整体概述。本次的流程整体如下:

1.在MDM配置客户数据的基础模型;

2.在MDM配置客户数据的功能模型;

3.在MDM配置MDM的BPM分发流程;

4.在ESB创建ESB的动态模型;

5.在ESB注册MES的客户查询服务并配置出参入参;

6.在ESB注册主数据的客户接收服务并配置出参入参;

7.在ESB配置客户同步流程的场景配置;

8.在设计器生成同步流程并进行调整;

9.在ESB配置客户定时同步流程的场景配置;

10.在设计器生成定时同步流程并进行调整;

11.配置MDM应用配置中MDM和业务系统的字段接收权限以及业务系统的接口地址

12.流程测试。

前置配置

在开发流程之前,首先需要在MDM中创建基础模型、功能模型以及BPM工作流,之后配置MDM的分发接口,最后在ESB中对于ESB流程中用的模型进行配置。

1.数据模型

本次流程开发首先需要创建主数据的基础模型、功能模型,之后需要创建ESB流程所用到的动态模型,下面分为数据模型和流程模型进行详细的介绍。

> > > > 数据模型

数据建模是正式开始工作的第一项,主要分为基础模型和功能模型,其创建步骤如下:

1.基础模型

在MDC的基础数据建模中点击新增,配置该主数据的基本信息、来源系统以及分发系统,如图:

双击新增的数据模型即可对该模型进行字段的配置,如图:

2.功能模型

数据的显示格式以及页面的展示效果可以通过主数据系统的功能模型进行调整,具体配置过程如下:

在MDC的功能配置中点击新增,如图:

在填写并配置完成主数据功能模型的基础信息之后,点击表单信息可以对该主数据的具体页面显示效果进行调整,位置如图:

打开管理列表对主页面中的显示进行调整,如图:

打开管理表单调整数据页面的数据格式,如图:

在SQL中点击解析SQL并进行部署即可完成功能模型的调整,如图:

> > > > 流程模型

ESB企业服务总线的模型主要包括两类,动态模型以及JavaBean静态模型,JavaBean对象是在设计器配置,可以基于数据库、XML以及SQL等方式进行配置,而动态模型则是通过SMC管理控制进行创建,并在设计器端引用使用即可,本次模型的清单如下:

具体实现步骤,以人员导入动态模型的创建为例,创建步骤如下:

在ESB管理控制台中,选中工程并打开服务模型,并点击新增,如图:

填写基础信息之后,如图:

点击解析可以查看配置效果,如图:

最后点击部署即可完成动态模型的创建。

2.BPM流程

BPM流程配置如下:

调用节点配置如下:

1.获取MDMtokenId;

2.创建分发日志;

3.调用主数据分发接口;

4.修改任务状态。

之后进行BPM发布,BPM流程配置发布之后需要调整应用配置的字段权限(字段的分发权限需要先配置MDM系统,之后再配置分发系统)。

首先配置MDM的字段权限,进入MDM管理台,点击应用配置选择MDM系统,选择客户主数据点击需要的字段属性。

进入MDM管理台,点击应用配置选择分发系统,选择客户主数据,选择客户主数据点击需要的字段属性,之后点击接口配置,添加对应分发的地址路径(ESB模拟的业务系统接收接口)。

3.服务清单

本次开发涉及到的服务清单如下:

API服务采用注册或导入的方式生成,每个服务的各个接口均进行入参、出参的配置,具体配置步骤如下:

导入服务点击API服务的导入按钮,选择对应的服务,如图:

注册服务点击API服务的注册按钮,如图:

打开源头系统服务,配置入参和出参信息,如图:

入参:

出参:

至此,流程的服务配置完毕。

应用集成

完成上述配置之后,便可正式开始流程的开发,在本章节中,将从最初的服务创建开始介绍,从集成场景到流程的二次调整再到最后的流程测试分别进行阐述,明确ESB集成流程的具体开发步骤。

1.集成流程

本次开发涉及到的流程清单如下:

在场景配置中点击新增,并填写场景的基本信息,如图:

1.客户数据同步主数据

在设计器中通过配置完成的集成流程创建HTTP流程并进行调整,并完成功能开发,最后流程如图:

(1)获取推送客户数据;

(2)数据转换为接收接口格式

(3)转换为MDM接口入参;

(4)获取主数据认证tokenId;

(5)调用主数据临时表接口;

(6)调用主数据真实表接口;

(7)调用自动提交接口;

(8)写入ESB集成日志。

2.客户数据定时同步主数据

选择客户推送流程之后进行提交。在设计器中通过配置完成的集成流程创建HTTP流程并进行调整,并完成功能开发,最后流程如图:

(1)获取MES客户数据;

(2)判断入参是否有数据:有数据的情况给变量recordCount赋值1走循环,没有数据recordCount赋值0直接结束流程

(3)数据分页处理;

(4)调用客户同步流程;

(5)循环结束后写入ESB集成日志。

3.ESB模拟业务系统接收流程

在ESB设计器创建默认流程添加打印节点,打印请求体即可,具体如下:

2.分页处理

1.获取业务数据;

2.获取数据总条数count;

3.赋值索引index初始值为0;

4.获取每页显示条数pageSize;

5.计算出需要循环的次数number;

6.根据循环次数number循环,并在循环内将当次循环数据放入变量jsonObject;

7.获取变量jsonObject中的当次循环内的数据;

8.在循环中调用推送流程

3.流程测试

对于完成的流程的功能需要进行测试,具体步骤如下:

首先,在ESB的应用集成模块的集成流程中找到定时同步流程,点击调用。

调用之后查看MDM的客户主数据,可以看到客户数据已经进来了。

再到UMC查看ESB的日志,查看数据是否分发。

可以看到数据已经分发,已经完成整体测试。

分析总结

通过本次同步分发流程的开发,使自身在自我认知、工作方法以及产品使用都有了一定的了解和提升,现从工作方法、能力提升以及价值分析几个方面进行总结。

1.工作方法

首先,做事要有规划,将复杂的问题简单化,将复杂问题进行分解,分解成简单的单元进行实现。其次,要有攻克难题的决心和毅力,在遇到不会的问题时,可以先去查找资料进行解决,但是处理不掉时要及时去向领导和同事进行请教,不要使问题堆积,这样效率才会最大化。最后,是要学会举一反三,得到帮助解决问题后要抓住问题的本质,学会解决问题的方法,在下次出现类似的问题时可以很快解决。

2.能力提升

经过本次工作的历练,让我的能力有了很大的提升,使我对于产品更加熟悉,现从以下几个方面进行阐述。

1.产品的使用

随着工作的开展,对于产品的使用从开始的陌生到后来的熟悉,在工作的过程中学到了很多,比如:数据结构之间的相互转换,BPM接口的调用,临时表接口的调用,BPM流程的配置等等。

2.总结与沟通

在本次工作中也认识到了总结与沟通的重要,在工作刚开展的时候会遇到一些问题,有的问题是产品的问题,有些问题则是自己对于配置的失误操作导致,这样的话团队合作便显得尤为重要,所以便需要自己做好问题的总结,然后与相关的负责人进行有效问题的沟通来解决问题。

3.分析与解决

在本次工作中,对自己分析和解决问题的能力有了明显的提升,自己总结了处理问题的方法,出现问题的时候,首先查看日志的报错从而定位。然后,先检查自己的配置是否错误,检查对应主数据、流程和服务是否部署,再手动调用接口查看是否调通,最后如果解决不了,会将问题记录下来,和同事进行讨论。

3.价值分析

从技术角度来看,ESB企业服务总线可以帮助企业在进行系统开发与集成过程中,辅助进行服务接口的开发以及API的统一管理,简化开发的步骤和流程,能帮助技术人员更快进行开发工作,提高工作效率。

企业服务总线产品本身的定位就是对企业数据以及服务的治理,应用集成能够根据集成场景,快速创建对应的服务以及流程,对项目而言有着重要的价值。首先可以提高交付速度,让项目人员更加专注于项目业务集成逻辑,为企业的行业积累提供帮助,其次可以简化维护成本。

返回顶部