3.1 集成的总体框图
MB处于系统的中心,起到一个总线的作用,所有应用都直接连接到MB,而不是应用之间直接互联,这样做的好处是可以极大地降低应用之间的耦合性。由此引出MB的2大核心功能:消息路由和数据转换,因为各个应用都插入到MB上,所以应用系统只需把消息丢给MB,MB自动根据消息字段以及业务逻辑,判断要把消息交给谁,有点像路由器,根据数据包的头把包路由到相应地址。MB是由一些组件构成的,代理、路由、转换和补充当前信息,Message Brokers Toolkit是WMB的集成开发环境,在该工具中可以开发消息流、消息集、消息映射、ESQL代码、消息格式(XML)、转换模式(XSL)、Java代码等。开发工具将开发完成的成果打包归档部署到运行环境中,在运行环境中生效。
图4 基于MB的集成架构
3.2 集成过程
消息传送有2种方式:消息从一个应用程序直接发送到另一个应用程序,这称为点到点消息传递;另一种消息传递方式称为发布颀订。发布应用程序将关于一个主题的消息发送到代理,代理将发布的消息传递到已注册的对特定主题感兴趣的应用程序,发布者和订户都不知道对方的存在。基于MB的集成属于发布/预订方式。
MB提供了3种方式与应用系统互相连接:MQ、文件和Web Service。
MQ方式利用MQ将MB与应用互联;文件方式则是指定某个目录,MB会自动监视那个文件目录,一旦文件有改变则认为是新的消息到来,MB自动读取指定文件的内容,利用Web Service进行通讯。MB支持这些互联方式也是为了最大化兼容性,特别是对于那些遗留系统或是不支持主流通讯方式的系统。
在应用企业中,不仅复合材料厂的MES系统需要PDM系统上的信息,其他生产制造部门,即其他相关制造部门的MES系统也需要PDM上的信息,因此PDM系统将其BOM主题信息发送到代理,代理将发布的消息传递到注册了该主题的订户。对于MES系统,具体过程为:PDM系统将其BOM主题信息放入队列BOM_PUBLICATION或者Real-timebomln队列中,其中BOM_PUBLICATION为PDM系统中的E-BOM,当工程更改或版次发生变化时,将更改的信息放入Real-timebomln队列中,根据产品图号条件进行过滤,选择不同的订阅方进行发布。经过过滤后,若订阅方需要对BOM信息进行修改,可用Compute节点通过ESQL代码实现对消息的处理和数据表的操作,再发送到订阅方。Publication节点是按代理订阅表发布消息,过滤和消息处理后可用该节点进行消息发布,图5所示为详细的消息流设计。
图5 消息流的设计
当部署启动时,会编译和封装消息流,并将其发送到配置管理器,配置管理器会解包消息流并做记录,然后将它们路由到相应的代理,在代理中消息流经过消息映射、消息过滤等步骤,将BOM信息转换成MES需要的BOM信息进行发布,在MES系统收到后就可以更新其数据库。
例:PDM系统将所有的BOM信息以XML文档形式放入BOM PUBLICATION队列中,文档结构是如图3所示的结构,而MES系统如果需要产品图号为DD-090514-1-B1的BOM结构,则需要在Filteron productid节点进行如下的ESQL编程:
CREATE FILTER MODULE productid Filter
CREATE FUNCTION Main () RETURNS BOOLEAN
BEGIN
IF Dataarea.productid=‘DD-090514-1-B1’THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END IF;END;
END MODULE;
Publication则将处理后的消息按照订阅表发给MES系统,MES系统便可以更新数据库。在消息过滤后,如需要对BOM信息进行合并或修改,则在compute节点进行ESQL编程,首先遍历各个节点,对物料和层次都相同的物料数量进行合并,形成新的XML节点树,这样便可以得到我们所需要的MBOM。
4 结束语
MES在企业中起着承上启下的作用,在没有实施MES系统时,管理系统往往掌握不了生产层的实时现场数据,使得生产层和管理层脱节,而MES的实施便能很好地解决这个问题。MES的实施需要产品的基础数据,这就需要企业的异构系统间实现信息集成,否则靠大量手工输入数据,容易造成错误,而且效率低下。本文介绍的2种集成方式,利用XML作为数据交换的中介,使BOM信息和MES信息的数据以统一的格式呈现在客户面前,简单通用,但当需要互连的应用有多个时,这种简单的方式会因为环境的复杂性而显得无所适从。而Websphere MB消息代理中间件,通过对消息流各个节点的ESQL编程,节点映射,数据库操作,最后进行归档和部署来实现异构系统间的集成,很好地解决了“一对多”的现象,从而为更高层次上的业务整合做好了准备。尽管实现系统间集成的中间件有很多,但IBM WebSphere MB以其强大的服务互通性,支持多种通信协议和多种数据格式实现了一系列的广泛需求,使得企业的解决方案更加灵活。