生产类主数据应用集成开发

Posted 数通畅联

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生产类主数据应用集成开发相关的知识,希望对你有一定的参考价值。

主数据管理可以促进业务经营发展,洞悉业务数据中所隐藏的价值,加强客户互动式的营销和销售管理,提升数据回报率。将企业组织、人员、客户、供应商等高度共享的数据进行统一管理,对需要的业务系统进行同步分发,提高各业务部门之间的沟通效率,形成企业数据资产。增强IT结构的灵活性,构建覆盖整个企业范围内的数据管理基础和相应规范,并且更灵活地适应企业业务需求的变化,同时降低接口成本、数据清洗和维护成本等,帮助企业远离高成本和高风险。

近期主要工作为北方某制造业主数据治理项目做实施服务,谈到制造行业的主数据,除了基础的组织、人员、岗位、客商外,总是离不开物料、BOM以及物料分组,这些生产类的主数据是制造行业的核心数据,也是各业务系统重点管控数据,通过对生产类主数据调研以及学习理解,对生产制造类主数据有了自己的了解,对集成开发过程总结如下。 

1名词解释 

主要介绍在项目需求中涉及到行业术语以及应用系统及其主要作用,业务系统方面包含PLM系统,基础架构系统包含MDM主数据系统及ESB企业服务总线等,具体生产名词包含BOM物料清单以及BOM分类到最终的零部件、原材料、制造零件等。 

1.1业务系统 

1.MDM:基础数据平台帮助创建并维护整个企业内主数据的单一视图,保证单一视图的准确性、一致性以及完整性,从而简化数据清洗工作、提高数据质量、加快业务系统对接、业务流程再造速度,提高业务响应速度。同时各业务系统复用一套主数据,各系统就像一个大系统的各个业务功能模块,企业IT架构可以实现柔性调整、升级、改造,从而支撑企业的业务战略目标落地。 

2.ESB:AEAI ESB主要作用是作为企业信息系统的“龙骨”来集成各业务系统,实现异构系统的互联互通,用来拉取、调度各个业务系统的数据,一般被称为企业服务总线。ESB主要包含三个模块:服务器ESB Server、设计器ESB Designer以及管理控制中心。ESB Server是运行环境,基于定制的Tomcat 扩展开发,管理控制中心则是部署在ESB Server的Java Web应用,基于开发平台构建的。ESB Designer是基于Eclipse Plugin开发的图形化、拖拽式的设计Web服务、消息流程的构建工具。 

3.PLM产品生命周期管理系统:是以产品为中心,以应用软件为手段,是一种战略性的业务模式,它应用一系列相互一致的业务解决方案,支持产品信息在全企业和产品全生命周期内(从概念到生命周期结束)的创建、管理、分发和使用,集成了流程和信息等众多要素,以灵活应对市场需求为目标,通过对企业知识型资产的管理,实现对产品的数据管理、项目管理、变更管理、协同管理、标准化管理、安全管理等,为制造企业提供了一个可伸缩的研发管理平台。 

1.2业务相关 

1.BOM物料清单:狭义的BOM (Bill of Material)是指物料清单,从不同的系统来看,BOM的含义具有一定的差别。从研发人员来看,研发人员主要在CAD系统中绘制产品总成图或部件图,BOM是一种产品结构的技术描述文件,它表明了产品组件、子件、零件直到原材料之间的结构关系,以及每个组装件所需要的各下属件部件的数量,偏重于产品信息的汇总,如明细表;从工艺管理上看,BOM不是技术文件,而是计划文件或指导生产文件,包括加工工序卡、锻铸热处理卡、工装材料等汇总信息。 

广义的BOM是产品对象的属性集合。从集合论和线性代数理论出发,广义BOM可以用n维属性空间来描述,其中n代表产品对象属性空间中相互独立属性的最大个数,记为BOM (Xl,X2,…,Xn)。具体来说,产品BOM属性信息包括以下部分:零件编码、零件图号、材料、重量、体积、物料生效日期等信息;部件内的各个单一零件(包括标准件、外协件、外购件、借用件、自制件等)的装配数量、零部件图号等信息;总图信息,包括零部件清单、技术文件、产品说明书、保修单等。 

2.EBOM:主要是设计部门产生的数据结构,产品设计人员根据客户订单或者设计要求进行产品设计,生成包括产品名称、产品结构、明细表、汇总表、产品使用说明书、装箱清单等信息,这些信息大部分包括在EBOM中。EBOM是工艺、制造等后续部门的其它应用系统所需产品数据的基础。 

3.PBOM:是工艺设计部门以EBOM中的数据为依据,制定工艺计划、工序信息、生成计划BOM的数据。计划BOM是由普通物料清单组成的,只用于产品的预测,尤其用于预测不同的产品组合而成的产品系列,有时是为了市场销售的需要,有时是为了简化预测计划从而简化了主生产计划。另外,当存在通用件时,可以把各个通用件定义为普通型BOM,然后由各组件组装成某个产品,这样各组件可以先按预测计划进行生产,下达的PBOM产品可以很快进行组装,满足市场要求。 

4.MBOM:是制造部门根据已经生成的PBOM,对工艺装配步骤进行详细设计后得到的,主要描述了产品的装配顺序、工时定额、材料定额以及相关的设备、刀具、卡具和模具等工装信息,反映了零件、装配件和最终产品的制造方法和装配顺序,反映了物料在生产车间之间的合理流动和消失过程。PBOM和MBOM也是提供给计划部门(ERP)的关键管理数据之一。 

1.3生产相关 

1.外协件:外协件一般是由自身购买原材料,由外协单位代加工,然后按照协议价格回购,一般在组织的生产范围内按组织的要求作业和服务,并由组织验收,如电焊部件、五金制品等。 

2.外购件:外购件一般指没有标准化的零件,需要单独进行设计和定做,也就是从外部订购获得,所以称为外购件。外购件是针对标准件来说的,外购件的质量好坏直接影响着企业产品的质量水平,如汽车产品的外购件有变速器、轮胎、喇叭等。 

3.虚拟件:虚拟件是用在PLM系统里的BOM构成方法,它的作用主要是做为产品结构中的一种过渡件方式;虚拟件可以用于代表一组、一系列、一种属性或者一类规格的物料;在一个可选物料的基本组件里(产品结构呈模块化),也就是特征件,也可以用虚拟件描述,虚拟件是库存不存在的物料。虚拟件可作为共用件,让物料清单比较容易维护,减少资料量或电脑运作时间。作为规划用料号,供预测、规划之用。作为工序中的过渡性料品,只为了显示,不入仓库,不报完工量。更好的显示加工的顺序,方便工艺路线的维护。 

4.标准件:标准件是指结构、尺寸、画法、标记等各个方面已经完全标准化,并由专业厂生产的常用的零(部)件,如螺纹件、键、销、滚动轴承等等。广义包括标准化的紧固件、连接件、传动件、密封件、液压元件、气动元件、轴承、弹簧等机械零件。 

5.通用件:通用件是指在不同类型或同类型不同规格的产品中可以互换使用,给予通用编号(或单独管理)的整(部)件和元器件。 

6.原材料:原材料是指企业在生产过程中经加工改变其形态或性质并构成产品主要实体的各种原料及主要材料、辅助材料、燃料、修理备用件、包装材料、外购半成品等。 

2总体需求 

总体需求共分为两大部分,首先描述MDM+ESB主数据治理方案的典型业务应用场景,分析企业痛点,以企业实际问题出发,以生产类(物料分组、物料、设计BOM、制造BOM)主数据为切入点,描述从源头数据抽取——数据清洗转换——基础数据落地——数据分发的全生命周期;其次是实际功能需求,包括主数据的大类划分及ESB流程开发和预期达到效果等,现从企业整体主数据需求及功能需求总结如下。 

2.1业务需求 

随着各行业信息化政策的不断推进及各个企业决策者对信息化的重视,信息化系统不断增多,孤岛系统数量不断增加,跨系统间业务处理频繁,系统集成趋势明显,各系统之间数据分散、重复,未完全形成业务闭环,数据不一致,难以进行整合,没有形成数据资产,各系统间孤立的数据信息不能为运营决策提供有效支撑,首先需要将企业内部主数据、基础数据进行整合,形成业务闭环,形成企业数据资产。 

通过上图数据金字塔可以清晰地了解到企业数据都有哪些构成,其中静态数据是指企业的参考数据,例如学历(大学专科、大学本科、研究生等),主数据是指企业核心的关键型数据,例如典型的组织、人员、岗位,本次主数据治理项目甲方单位为某离散制造业,其主数据结构包含物料分组、物料、BOM等,对基础数据治理整合后,基于基础数据围绕企业核心业务会产生交易型数据,如订单、采购单等。而分析型数据是以主数据/参考数据为统一维度,对交易型数据进行分析统计,通常数据以图表的形式展示。 

无论分析型数据还是交易型数据都是由主数据和参考数据构成,所以MDM数据治理的重心也在于此,对主数据和参考数据实现全生命周期的管理,从制定数据标准到数据的质量、数据安全均为数据治理核心要素。 

2.2功能需求 

经过对该企业的业务调研及数据调研,现将其主数据划分为四类,分别为人事类(组织、人员、岗位)、客商类(客户、供应商)、生产制造类(BOM、物料分类、物料、制造工艺)以及知识类(知识产权),上述主数据将会从现有各应用系统以及线下Excel获取基本数据信息,并对数据进行数据清洗及数据落地后,最终同步至MDM主数据平台进行数据管理及分发。 

以制造类主数据为例,以PLM产品全生命周期系统为生产制造类主数据统一源头,通过ESB企业服务总线开发数据同步流程,将数据落地在主数据管理平台内,在数据产生到数据的分发要保证数据的一致性、准确性、完整性,上下游系统数据要统一,下文将按照生产类主数据集成开发的全过程进行实体配置。 

3前期准备 

对PLM命周期管理系统而言,会将物料分为原材料、外协件、外购件、标准件、零部产品全生件、制造零件等等,其中根据零件不同的属性有一部分数据会作为零件的类型,而另一部分则会作为零件的大分类,会产生物料分组,具体物料方面集成从字段调研、集成接口方面进行如下配置。 

3.1字段确认 

对于PLM命周期管理系统来讲,物料分为物料分组及物料基础信息(原材料、零部件、制造零件),对于实际的生产来说分发给ERP、MES系统需要将设计BOM、MBOM以及工艺工序进行分发至上述应用系统,分别对上述主数据的元数据信息进行调研,在字段调研结束后需要整理出对应的元数据文件,例如《XXX元数据及参考数据信息》,并依次交付与PLM系统以及下游接收其物料数据信息系统进行确认。其元数据调研成果如下: 

注意:在元数据字段调研时最重要的是考虑各类主数据的关联关系,上图以物料主数据为例进行展示,其它主数据字段信息不做展示。 

3.2外部接口 

主数据各元数据字段信息确认后,就需要数据源头系统开发对应的接口,并提供接口的调用信息,方便与主数据系统的应用对接,收到接口后需要第一时间进行调用测试确认,并整理出对应的接口文档,方便后续ESB服务注册,以物料主数据为例进行记录展示。 

1.PLM产品全生命周期管理系统WebService服务地址: 

2.调用URL: 

3.接口入参(XML): 

注意:如果mpartId为空,是获取全部数据,如果输入指定ID值则获取指定数据。 

4.接口出参(JSON): 

3.3服务注册 

在服务注册之前需要根据实际业务场景或者业务系统进行服务分组创建,方便后续服务及应用集成流程的管理。下图为以主数据为例进行服务分组的创建,如图所示: 

在分组创建成功后就需要对各个业务系统提供的服务进行注册,在主数据项目中往往会注册三类服务,首先是数据源头系统,其次是中间承载层主数据系统的接口,最后是接收数据系统的服务。 

来源系统服务注册,如图所示: 

并配置对应的入参及出参信息,方便集成场景的配置。 

接口注册后需要确认接口的四个关键点,如果没有下述参数集成流程会生成失败。 

1.接口入参及入参类型; 

2.接口出参及出参类型; 

3.请求动词(post、get、put、delete); 

4.接口操作URL; 

4模型配置 

主数据的模型创建核心是为最终用户提供可视化管理维护页面,并生成对应的主数据接口,主数据的模型的创建是通过主数据平台的数据建模及功能建模来数据管理维护,其创建过程如下。 

4.1数据建模 

数据建模的创建主要依据3.1用户最终确认的字段信息,在主数据平台进行模型创建,在主数据建模是配置元数据字段信息,并定义该字段的编码规则、唯一校验、校验规则、是否必填、字段类型、展示类别等。 

首先创建数据模型,定义模型的类型,如图所示: 

主数据预制了简单列表、数据管理、数据表格、主从列表四种模型展示方式,本次生产类主数据设计BOM模型配置主要使用树形表格功能模型,下面进入元数据字段信息的配置,如图所示: 

以单位元数据字段信息为例,进入其编辑页面 ,如图所示: 

下面介绍元数据字段信息配置的几种典型的使用场景。 

1.设置编码规则:可以为主数据编码设置编码,如图所示: 

主数据编码编码规则分为三类,具体包含固定值、流水号以及表单字段三种形式。 

2.显示类型:显示类型对应用户管理维护字段的显示,包括手工输入、下拉选、单选框、widget组件以及隐藏域等; 

3.横向储存:横向储存勾选后会在数据库创建对应的表结构; 

4.是否多值:是否多值主要核心应用场景体现在一人多岗的情况; 

5.校验规则:对用户输入字段信息限制,例如手机号字段信息,可以增加手机号校验规则,防止客户输入失误。 

在数据建模录入完毕后通过提交按钮可以创建数据库表结构并提交到功能建模。 

4.2功能建模 

功能建模其核心主要是依据数据建模的表结构选择功能模型,配置页面的显示(表单配置),包括显示字段、查询SQL的配置、数据质量匹配度的配置等等,首先通过新增按钮创建物料基础数据信息,如图所示: 

在表单页面配置页面显示样式,如图所示: 

最后解析SQL部署并保存,如图所示: 

4.3分类建模 

在功能建模创建模型时勾选了树关联,所以需要到分类数据建模调表单左侧树节点。由物料分类主数据作为左侧分组树,如图所示: 

通过点击配置SQL,选择对应的主数据,如图所示: 

4.4效果展示 

在部署之后进入物料主数据管理页面,查看部署后页面效果,可以在列表页面生成任务,完成数据的分发操作,如图所示: 

进入编辑页面查看详情,如图所示: 

5应用集成 

主数据平台的数据是通过ESB应用集成流程实时同步至主数据管理平台内。本章以设计BOM主数据的同步流程为例进行细致讲解,具体包括根据不同的PLM系统接口出参进行分支判断,在流程内进行数据转换映射,将数据进行实时同步。 

5.1集成说明 

设计BOM主数据同步集成流程数据走向图如下: 

上文3.2已经将PLM系统的接口在主数据内进行注册,本次应用集成采用推拉的方式在PLM系统数据确认发布后绑定ESB应用集成流程推一条唯一值(编码/ID)到集成流程内,另外PLM系统需提供单条数据获取接口,在集成流程内根据ID去反查该条物料信息,获取后再进行数据的转换处理,处理成MDM主数据管理平台标准的入参格式,同步至主数据内,最终由主数据管理平台实现数据分发。 

5.2数据同步 

数据同步以EBOM主数据初始化集成流程为例进行说明,具体包括前台集成场景的配置以及后端流程的调试,最后进行流程的验证。 

5.2.1场景配置 

在ESB企业服务总线,在设计BOM集成分组下新增一集成场景,输入对应的编码和名称后选择数据来源系统及数据来源系统接口,如图所示: 

在选择目标系统及目标系统接收接口,此处目标系统为MDM系统,所以选择MDM的Sync-data接口,如图所示: 

在保存后进行字段信息的映射,如图所示: 

点击提交按钮ESB设计器会基于前台场景配置生成对应的集成流程,开发人员可以在该集成流程的基础上进行调试完善,便可以达到数据实时同步的效果。 

5.2.2集成流程 

在ESB设计器内创建设计BOM集成流程工程,并在MF目录下创建消息流程,如图所示: 

接下来点击刷新按钮,会看到我们创建的场景,如图所示: 

找到我们创建的集成场景,创建即可,并在该集成流程上进行调试,调试完成的整体流程效果如下: 

流程解读开始: 

1.HttpRequest:该节点设置入参partId,用于PLM系统传递ID值,后续流程会跟据ID值查询出全部数据信息; 

2.初始化操作:定义index索引值,后续会跟据index索引值进行循环操作; 

3.获取tokenID:获取主数据tokenId; 

4.源数据调用:通过partId获取PLM系统该partId的全部数据信息,用srcRspText参数进行接收; 

5.数据格式处理:srcRspText的结果值存在两种情况,一种为JsonArray的形式,如图所示:

一种为标准Json格式,如图所示: 

所以需要对两种格式进行不同情况的处理,使用旗帜进行数据格式的判断,如图所示:

5.2.2.1@flag==1 

1.响应文本转为模型:将jsonArray转换成DataSet,如图所示: 

用srcDataSet变量进行接收。 

2.从srcDataSet中获取数据进行根节点拆分,如图所示: 

根节点和其余子节点赋值新变量; 

3.Count赋值:获取masDataSet最大值,如图所示: 

4.根节点查询:使用desDataRow.related_id进行根节点参数查询; 

5.主表数据转换DataRow:masDataSet循环赋值给masDataRow; 

6.查询主表JSON:通过Id查询PLM数据获取接口查询出主表Json数据; 

7.构造Json入参:根据据MDM数据插入接口进行参数构建,如图所示:

8.目标接口调用:调用MDM数据插入接口插入数据,如图所示: 

9.index自增:设置index自增长; 

10.关联物料分组,如图所示: 

11.关联物料EBOM,如图所示: 

5.2.2.2@flag==0 

1.响应文本转为模型:将json换成DataRow; 

2.根节点查询:使用bomDataRow.source_id进行根节点参数查询,如图所示: 

3.构造Json入参:根据MDM数据插入接口进行参数构建; 

4.目标接口调用:调用MDM数据插入接口插入数据; 

5.关联物料分组及EBOM与上述一致,不再做过多赘述。 

5.3功能验证 

打开ESB管理控制台调用该集成流程,如图所示: 

调用显示集成流程成功,查看流程日志情况,如图所示: 

进入主数据管理平台验证数据,如图所示: 

主数据从表验证,如图所示: 

同步展示成功,如图所示: 

6心得体会 

通过本次与PLM系统的频繁对接让我对其业务系统以及我们主数据治理方案有了一定的了解,也为后续主数据治理项目做了铺垫,在实际项目实施与产品开发完善过程中暴露了自身的诸多问题,现从业务积累、经验积累以及产品开发心得层面总结如下。 

6.1经验积累 

通过这个项目的实施工作,让我对主数据治理项目有了更进一步的了解,清晰地认识到了主数据治理项目及企业应用集成的难点。主数据治理项目的实施同其它行业一样,实施难点在于对业务不够了解,只有将企业的整体运营模式吃透后才能对主数据治理及企业应用集成实施做得更加得心应手。 

6.2能力提升 

本次流程的开发,自己花费了很多心力。首先是自己对于业务及产品结构了解不足,对于问题定位较慢,因此自己需要用时间来推动,不断地调试,不断地发现问题,并且很多时候由于自己的急躁很容易忽略细节,在这次开发的过程中也在慢慢地打磨心性,慢慢地沉淀和积累经验。 

6.3集成要点 

本次EBOM及MBOM的应用集成开发实际上最重要的不是技术上的问题,最重要的了解其数据结构,了解各类主数据的之间的关联关系才是最重要的,在生产类主数据集成流程的开发过程中物料的数据关联性是非常高的,例如在制造BOM及设计BOM同步过后需要将对应的物料也进行变更操作。所以说在IT行业了解业务是至关重要的。 

因此,一个能够熟悉、了解、认可业务的技术人员,往往会对自己应该做什么,有比较明确的认知。所以说在保证项目按期保质完成的基础上,花时间去了解需求背后的业务问题和业务变化,扩展自己对业务认知版图,加深自己对业务的理解才是能力提升的最佳方法。 

以上是关于生产类主数据应用集成开发的主要内容,如果未能解决你的问题,请参考以下文章

Hello world主程序类主入口

JDBC获得数据库表中的auto_increment类主键

珠宝类主播带货:为什么大家现在都选择去做直播基地?

MDM主数据管理

部署时如何告诉 Rails 使用生产数据库(而不是开发数据库)?

SSIS 查找 组件