离散制造企业应用集成开发研究
2010-05-10秦海平王美清
秦海平,王美清
(北京航空航天大学 机械工程及自动化学院,北京 100191)
0 引言
企业应用集成(Enterprise Application Integration, EAI)对企业信息化建设和消除“信息孤岛”意义重大。目前,成功的EAI案例多集中在电信、金融、物流等行业,而离散型制造企业鲜有成功的案例。究其原因是:前一类行业普遍具有业务流程贯穿的应用系统较少、海量数据但数据结构简单、信息化基础较好等特点[1];而后一类企业存在应用系统跨越领域大、生产周期长、业务流程复杂、数据源分散且数据结构复杂等特点。这些特点加大了离散制造企业EAI的难度。目前,对制造企业应用集成研究多倾向于小范围的几个应用系统之间的集成,如ERP/MES、PDM/ERP/MES系统集成[2,3],而对整体集成架构研究还不多见。同时,离散制造企业业务流程上的复杂性和企业共享数据的特点,使得其在各层次集成实现方式上与一般企业也有所不同。但目前的研究多倾向于一般性,很少针对离散制造企业特点。以数据集成为例,常规方法是对各应用系统数据库进行分析整合,建立统一的元数据模型[1,4],进行数据共享和存取。但离散制造企业基于既有数据结构的集成特点使得上述方法并不适合。因此,结合离散制造企业信息化环境,研究其企业应用集成特点和集成方案,将有助于离散制造企业EAI的成功实践。
针对上述情况,本文提出了面向离散制造企业的EAI集成框架,针对离散制造企业应用集成特点,对集成进行了分类,并给出了针对性的技术实现方案,并通过具体的集成实例验证了集成方法的有效性。
1 离散制造业EAI架构与实现
综合离散制造企业EAI的特点,离散制造企业EAI所要实现的目标如下:
1)实现各应用系统之间信息与数据共享;
2)实现应用系统之间过程协同与流程管理;
3)实现流程处理过程中的统一的界面管理;
4)实现特定信息的实时动态提取与展现。
1.1 集成框架
目前较为常见的集成框架有:中心-辐条式(Hub-spoke)、企业服务总线式(Enterprise Service Bus,ESB),面向服务的体系架构(Service Oriented Architecture,SOA)等。文献[1]采用了网络集线器模式,这种结构容易造成效率瓶颈,同时存在单点失效问题。ESB模式将集成中心扩展成分布在多个物理节点上的总线,有效解决了hub-spoke模式的单点失效和效率问题。但面向组件的集成技术,使得其实现起来过于复杂。SOA架构模式面向粗粒度的服务,具有良好的可扩展性和灵活性[5]。但同ESB一样,均采用集中式的消息路由和数据转化模式,这在离散制造企业复杂的EAI环境下实现起来难度较大。而且,多数业务流程具有周期长,签署多,角色性强等特点,使得这些流程很难基于工作流模型通过服务编排来实现,此时采用直通式的处理方式更合适。
综合上述分析,为了避免整体架构上功能过于集中与实现上的复杂性,使得功能实现趋于分散和简单化,提出如图1所示的基于分布式网络和Web Services技术的集成框架。
其中,企业集成管理平台是整个集成框架的核心部分,与其他应用系统共同构成企业分布式应用网络系统。
图1 离散制造企业EAI集成框架
集成框架的主体即集成管理平台组件功能如下:
1)工作流引擎 定义并解释执行工作流。WSFL将业务过程中的每一个步骤都定义为一个活动,将业务过程的一次执行看成是各活动按照指定顺序的激发。
2)流程管理组件 监控集成平台业务流程和应用系统间业务流程执行状态。
3) Web服务引擎 负责完成Web服务的发布、调用等相关处理;实现应用系统之间的信息交互。
4)服务管理器 统一管理应用系统服务注册和登记,详细标识服务的WSDL地址、提供服务说明等。
5)信息管理组件 通过Web服务获取各应用系统相关信息视图,进行数据处理,动态发布展现数据信息。
6)界面管理组件 完成与CA的用户认证,管理各子系统的统一登录与用户验证。
对业务往来频繁的应用系统间集成通过Web Services进行直通式信息交互。交互时,直接通过Web服务寻址发送到目标应用系统,由目标应用系统自身完成对消息的处理,不需要经过集成服务器进行路由逻辑判断和消息处理。降低了集成管理平台的路由负荷和复杂度。
各应用系统组件功能:
1)Web服务引擎 完成本系统的Web 服务封装、发布,处理对其他系统Web服务的调用;
2)数据转换 在调用其他服务时完成相应的数据转换、解析等处理;
3)页面管理 定制开发并管理过程集成中的部分协同页面。
1.2 集成类别
根据离散制造企业信息化特点和EAI的具体需求,将企业应用集成分为信息集成、过程集成和界面集成。又依据其信息类型的不同,将信息集成细分为:结构树类型、消息类、复杂对象类信息集成。综上,将离散制造企业应用集成分为如下五类:结构树类型信息集成、消息集成、复杂对象类集成、过程集成和界面集成。如图2所示,依次用A、B、C、D、E五个符号分别来标识。
图2 离散制造企业应用集成分类
X轴表示企业内各个应用系统集,Y轴表示集成类别,Z轴表示某个应用系统,各应用系统处在企业的分布式网络Internet/Intranet环境中。三者构成的空间为企业应用系统之间的集成空间,三个维度上的交点表示应用系统之间的信息集成、过程集成、界面集成点。
以上的集成类别通常是按一定顺序依次实现的。信息集成是整个EAI的基础,过程集成则是各类信息集成的有机结合,而表现则依赖于界面集成。
1.3 集成实现
下面依次对五类集成进行分析并给出技术实现方案。
首先是信息集成。信息集成的方法有:数据聚合、数据复制、面向接口集成和析取、转换等。
1)A类集成点为结构树类型数据,在离散制造企业中主要是产品BOM和组织人员信息等。这类信息通常存在多层次的父子关系,数据量大,重用度高。常规集成方式是建立产品信息和人员组织信息的元数据模型,合并数据库,实现统一存取。但在离散制造企业有如下不足:很多系统有着独立的产品结构树和人员组织结构树管理方法,集成是基于遗留系统既有数据模型和表结构的,重构元数据模型势必造成应用系统代码的大量修改;不同系统有着不同的人员角色与权限控制方法,元数据信息模型很难统一维护。基于以上分析,只能通过数据的结构化解析和映射转换,在遗留系统独自维护,集成方法如图3所示。
图3 产品人员类信息集成方案
该方法将Web Service和传统的数据复制、触发器、JDBC/ODBC等技术相结合。整个集成流程可分为以下几个部分:
(1)产品和人员组织信息源将相关数据复制到中间数据库,供其他系统读取,避免了数据源与外界直接交互,提高安全性;
(2)通过监听及触发器技术, EAI平台及时捕获产品、人员信息的最新变化,获取相关标识信息;
(3)EAI平台通过调用Web服务,将产品或人员组织的标识信息传递给各个应用系统;
(4)应用系统依据相关标识信息,通过JDBC/ODBC连接方式从中间数据库查询并获取数据[6];
(5)应用系统通过数据转换和析取,将产品、人员结构化数据增量式更新到本地。增量式更新是针对产品BOM不同版本而言的,避免产品信息的丢失,对相关信息如质量信息在产品追溯上有重要意义。
2)B为消息类集成。消息通常是在业务过程中为配合其他业务活动执行情况而动态产生的。它具有内容简短,结构简单的特点。在程序中可能是一个字符串、整型、布尔型变量等。
本文所提出的EAI架构模式中,消息传递通过应用系统之间直接调用Web services方式实现。服务调用参数或返回值为简单对象类型,不需要转化和解析,可以直接引用。
3)C类集成为复杂对象类集成。主要是完成过程集成和系统间功能集成中所需要的数据共享等。如制造流程中ERP向MES下达生产订单任务,质量管理系统向PDM系统反馈产品质量文档等。采用Web Services方式,参数为复杂对象,可以是一般意义上的类对象,也可以是文件对象等。
4)D类集成为过程集成。为了满足离散制造企业业务流程处理周期长,跨应用系统多,签署人员广等的需要,跨应用系统执行时,采用直通式的处理方式。一方面可以通过将附加参数的URL链接到定制的操作页面,同时触发调用Web Services将集成数据传送到目标应用系统。另一方面,也可以采用可交互Web服务技术(Interactive Web Service,IWS)[7],直接将Web服务与显示界面和用户交互界面绑定。交互式Web服务技术不同于传统的Web服务,它能将用户界面像它的Web方法一样提供给用户使用,从而真正实现Web 服务在应用系统中的即插即用。
5)E类集成为界面集成,是EAI表现层的集成,着眼于企业用户对应用集成的整体性体验。主要实现CA认证、单点登录、界面风格的统一性等。其中CA认证由集成平台/企业门户实现;单点登录指企业用户在登录企业门户界面后,登录应用系统时不需进行显式的身份验证,而只要用获取的用户信息在后台隐式地验证;界面风格统一性针对企业新业务流程执行过程中的用户交互界面,由EAI平台定义页面统一样式,各应用系统按既定样式定制开发相关页面。
2 应用实例
某厂所是一个典型的离散型制造企业,有着较为成熟的企业信息化环境和计算机集成制造环境。在该厂所进行企业应用系统整合过程中应用了本文提出的EAI架构和技术实现方案。整体集成解决方案如图4所示。
图4 某厂所应用系统集成解决方案
上述方案基于分布式网络环境,运用Web Services技术,通过构建企业EAI集成平台,采用直通式交互处理方式,实现了包括工程设计自动化、经营管理、制造自动化和质量保证等子系统在内的系统间应用集成。
其中,经营管理子系统包括 (office automation,OA)、ERP、人力资源管理(human resource management,HR)、供应链管理(supply chain management,SCM)、客户关系管理(customer relationship management,CRM)系统等;工程设计自动化子系统包括产品数据管理(product data management,PDM)、CAD、CAPP、工时管理(work hour system,WHS)系统等;制造自动化子系统包括MES、装配过程控制系统等;质量保证子系统为质量管理系统(quality management system,QMS)。
针对集成的五个类别,下面以QMS系统为例,介绍其与其他应用系统的集成实现。按照图2所示方法,确定QMS与其他系统集成内容和所属类型,如表1所示。
表1 QMS与其他系统的集成交互点
结合各应用系统软件平台、开发语言,依据集成类型,运用本文提出的各个类别的集成方案,进行系统集成开发,实现相应的集成内容,运行结果正确且稳定。如通过对作业计划、质量信息等数据对象的序列化/反序列化解析与封装,进行信息动态传递,实现制造业务上的过程协同;通过用户信息在后台进行隐式验证,获取其功能角色及权限,实现单点登录等。图5为EAI集成环境中的质量管理系统的运行界面。
3 结束语
图5 质量管理系统集成管理界面
本文结合离散制造企业信息化环境,研究了离散制造企业EAI特点,分析了几种典型集成模式在离散制造企业EAI应用中的不足之处,继而构建了适合离散制造企业的应用集成框架,并依据集成实现技术上的不同,将离散制造企业集成划分为五个类别,分别进行了分析,并给出了针对性的技术实现方案。该集成方案已应用于某企业的信息化建设项目中,并取得了较好的应用效果。
[1] 王睿,李从心.离散制造企业EAI架构[J].中国机械工程,2007,18(8):933- 937.
[2] 谢黎明,杨娟,等.基于机床制造的PDM/ERP/MES系统协同集成研究[J].科学技术与工程, 2007,20(7):5348-5350.
[3] 刘晓冰,薄洪光,等.钢铁集团企业集成化生产计划管理模型研究[J].计算机集成制造系统,2008,14(1):24-32.
[4] 陈超,王睿.制造信息资源元数据描述及其在EAI中的应用[J].江苏科技大学学报,2007,21(5):44-48.
[5] ERASALA N,YEN D C,RAJ KUMAR T M.Enterprise application integration in the electronic commerce world[J].Computer Standards & Interfaces,2003,25(2):69-32.
[6] 王彬,王美清.离散型制造企业生产质量信息管理与集成[J].航空精密制造技术,2007,43(1):47-50.
[7] 刘英丹,董传良.用户界面集成中可交互Web 服务的应用研究[J].计算机工程,2005,31(22):125-126.