【IT168 信息化】
对于大型企业集团来说,企业信息流复杂、信息量大、生产制造部门众多,不同部门所采用的MES系统不尽相同,具有各自生产部门的特点,同时所需要的总厂PDM信息也不完全相同。在这种情况下,为了实现系统间信息的共享和信息的及时反馈,提高企业的敏捷性,应用信息集成化技术,更好地集成各生产制造部门的MES与PDM系统,实现对复杂的项目型生产的管理,已成为集团化生产企业信息化建设发展的一种必然选择。对某飞机工业集团的调研报告指出,由于不同生产制造部门MES系统的数据库结构不完全相同,造成了MES系统与PDM系统间数据流动不顺畅,因此实现异构数据库的信息集成异常重要。异构数据库的信息集成方案有很多,总结起来大致可以分为以下几种:共享数据库、专用接口、中间数据库、XML数据流以及中间件等。共享数据库虽然简单、快速,但要求PDM与MES数据结构一致;专用接口要求PDM与MES必须了解双方数据结构,因此需要在两系统间公开各自的数据模型。这样才能将PDM的数据转换成MES能够识别的数据;中间数据库要求非常专业的人士对产品数据进行描述,否则容易出错;采用XML能够使不同数据库的数据通过统一的XML数据流进行集成,摒弃了平台和数据间的差异;中间件处于应用软件与系统软件之间,是一种以自己的复杂换取企业应用简单化的可复用的基础软件。针对各生产制造部门异构MES系统,本文拟采用适用于任何需要进行网络通信的系统的消息中间件,负责建立网络通信的通道,进行数据或文件传送。消息中间件的一个重要作用是可以实现跨平台操作,为不同系统上的应用软件集成提供服务。
1 MES与PDM的集成内容
MES作为车间执行系统与CAPP、ERP、PDM、SCM、SSM等信息系统相互联系、相互依存。PDM作为一个集成平台,MES不仅需要从PDM获取BOM结构、工艺规程、设计图纸等信息,MES本身也需要向PDM提供诸如生产进度等信息。二者之间的集成方式主要分为基于XML中间文件的集成和基于企业服务总线的集成,本文将对这2种集成方式进行描述。
在PDM系统与MES系统的集成过程中,PDM系统负责维护产品数据,是产品数据的惟一来源。MES系统作为产品数据的使用者,其产品数据由PDM系统提供。集成主要包括3个方面的内容:从MES系统发给PDM系统的产品数据请求;PDM系统反馈给MES系统的产品数据;PDM系统定期对MES系统中产品数据进行同步处理,以保证产品数据版本最新和2个系统产品数据的一致性。PDM与MES的主要集成数据包括:产品结构信息即BOM、产品工艺信息和产品物料信息。
本文以某飞机工业集团的复合材料公司MES系统为例。MES系统与PDM集成平台进行BOM信息集成应实现以下功能:
MES系统需要导入该部门产品结构关系所需要的物料清单,即BOM结构,这需要对数据惟一性、字段长度与类型进行验证。BOM导入功能可以从设计部门给出的PBOM按照实际需求,快速得到所需要的MBOM。在MES系统中,BOM表结构采用父子型数据结构,通过零部件的装配关系与被装配关系来描述,主要字段有父物料号、子物料号和装配数量,如图1所示,父子型的数据结构能降低BOM的数据冗余性,提高了BOM数据的一致性。
图1 BOM表结构
2 基于XML的集成方案
2.1 总体框图
XML可以实现异构数据之间的数据转换,由于XML是一种元标记语言,它可以应用于任何平台之上,XML的这种特性为异构数据的交互提供了一种数据交换的标准。它是一种公共的交互平台,一种数据源只要能将它的数据转换成XML格式就能够被另外一种数据源有效地识别,这为数据的迁移以及整合提供了很好的工具。图2是MES与PDM系统集成框架图。
图2 基于XML的集成框图
2.2 MES中MBOM结构的导入
在MES系统中,MBOM是对复合材料产品进行计划编制、物料需求、产品配套、项目跟踪的基础。如果没有有效的集成,靠系统维护人员手工录入大量数据,容易造成各种各样的错误,因此选择一种简单易行、准确的方式实现MBOM结构的集成就显得异常重要,本文利用XML作为数据交换格式,建立规范模板,解决不同数据模型、不同数据格式转换传递的集成问题,实现异构数据间的数据转换。
在XML文档库中,XML通常是分成2个区域来描述MBOM:控制区和数据区,如图3所示。
图3 XML文档结构
要验证XML文档对象结构正确与否还需要通过DTD文档进行结构验证,在此略去DTD文档内容。当上述XML文档上传到Web服务器时,便需要修改Change.xml文档中的内容,以表示该BOM信息出现数据变化。
xml_share/bom</directory>
bom</file>
</changexml>
MES客户端则需定时监视Web服务器的文件目录,即定时下载Change.xml文档,然后将change.xml的内容读取到xmlDOM对象中,DOM定义了一组分析元可以显示的标准指令集,通过程序存取HTML或XML的内容,然后通过程序中的对象集合将其显示出来,可以通过创建Document对象,使得应用程序得到对XML文档进行操作的入口,读取节点change.xml中directory信息和file信息,如果信息不为空,则说明有更新文件需要下载,再利用xmlDOM的get方法获得更新文件的内容以及DTD文档的内容,最后一定要将Change.xml文档内容删除,用put方法再上传到Web服务器中,以便下次PDM系统有新的信息进行更新。
当用XML解析器也就是利用DOM方法提取XML文档中的各个节点后,接着就是把真正需要的节点数据信息存入数据库,更新基础数据。
3 基于ESB的集成方案
在大型的企业中,随着应用系统的不断增加,对信息共享、系统的互操作和软件重用提出了更高的要求,而独立的XML中间文档库已经不能充分满足业务不断拓展的需求,因为不同生产制造部门的MES系统需要从PDM系统获取不同的数据信息,这时便需要PDM系统同各个MES系统进行两两互连,而两两互连势必形成网状拓扑结构。随着MES系统的增加,网状拓扑结构会变得越来越复杂并难以维护。在这种背景下,一种面向服务的企业架构(SOA)出现了,SOA指的是企业的应用系统都以服务方式接入企业服务总线(ESB)。企业服务总线类的中间件其实就是一类星型结构的中间件,由于星型结构的中心节点控制着全部的数据传递,因此可以集中进行消息格式转换,将来自源系统的消息格式主动转换成目标系统能够识别的格式。本文将采用Websphere Message Broker(MB)和Websphere Message Queue(MQ)在应用系统之间通过基于消息的异步方式集成各应用系统。