徐荣照 洪中华 沈立东 邹欣延 赵旭 粟源 刘洋博
摘 要 MES(Manufacturing Execution System,生产制造执行系统)是集团推进企业信息化建设的重要系统,依靠现代信息技术实现生产智能化,提升生产过程柔性化。ESB是工厂各执行系统与MES系统间集成的重要手段,其通信方式与传统的编程对接相比具有灵活可变、即插即用等诸多优点,但是其实施难度大,主要体现在标准统一管理方面。
关键词 MES;ESB;系统集成
1ESB概述
ESB是传统中间件技术与XML、WEB结合的产物,提供了网络中最基本的连接中枢。它可以消除应用间的技术差异,让不同应用服务器协调配合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口[1]。
2ESB的核心架构
ESB的核心架构分为三个组件或子系统,即偏开发态的设计器,偏运行态的ESB核心引擎和SOA治理管控平台三个方面的内容。以上三者组合和集成形成一款完整的ESB服务总线产品[2]。
首先对于ESB总线引擎是一个完全相对独立的内容,即常说的ESB的Server端,一个完整的ESB引擎一般都有集成消息中间件的能力。类似ServiceMix的ESB可以看到核心是基于OSGI运行框架下的ActiveMQ+CXF组件来实现基础核心功能。没有设计器和管控平台,引擎也可以独立部署和运行,即可以自己写代码或写配置文件,将开发好的服务包部署到ESB引擎环境里面。
一个ESB引擎本身也需要部署在application server里面,即引擎可以部署在类似weblogic,jboss或tomcat等各种中间件容器中。而对于很多开源的ESB可以看到引擎本身已经集成了更加轻量的Jetty作为服务运行容器。
其次是ESB设计器,设计器是属于开发和设计态的一个内容,重点则是对http,rest,消息等各種内容进行集成。当前类似talend和mule等都提供了很强大的服务设计器能力。即我们常说的服务代理,http和soap服务集成,数据库适配,路由,消息集成和适配,分支和条件判断,异常处理,任务作业,组合服务等都是设计器需要支撑的核心能力。
设计器往往是给服务开发和设计人员使用,目的是为了简化服务的开发和封装,提升开发效率,一个开放的架构模式最好的方式就是脱离了设计器仍然可以通过其他手工方式进行服务的开发和封装,而不是被设计器绑定。而对于设计器本身的输出,一种是转化为了普通的java代码,还有一种方式是设计器的输出为xml配置文件。可以看到对于xml配置文件这种方式更加方便和解耦,在设计器产生部署包或测试运行的时候,设计器端首先是读取xml配置文件的内容再动态生成和部署服务[3]。
最后一个内容是SOA管控平台,主要的作用是实现服务的全生命周期管理,包括服务的元数据管理,服务目录库,服务的申请,服务的开通和鉴权,服务运行日志审计和监控,服务运行分析,服务预警,服务SLA等各种功能。即SOA管控平台提升了对ESB引擎本身的管控和治理能力[4]。
ESB数据传输流程:
(1)推送流程:接收、校验、构建SOAP响应、推送数据、保存响应。
(2)获取流程:接收、校验、构建SOAP响应、请求数据、保存响应。
(3)服务检测:定时触发、构建SOAP响应、调用检测、更新状态。
(4)数据重传:定时触发、根据失败数据查找对应服务和方法、构建SOAP响应、发送[5]。
3ESB在工厂的实施
ESB在系统间通讯方面就起了很重要的作用。所有通讯都通过ESB服务器,并且对所有系统开放的接口都是一样的,在未来有新系统需要与原有系统进行通讯的时候就可以只进行一次开发。ESB主要解决系统异构集成、 业务功能扩展、数据共享和数据交换的问题,同时具有不错的拓展性,能很好地适应未来企业现代化发展趋势。
工厂目前使用的ESB是使用WEB并通过XML通讯的,可以在ESB服务器上查看所有系统间的通讯过程,并可看到具体的申请和反馈信息。我们可以通过监控服务调用的成功率、服务响应平均时间、调用违规次数等指标来了解服务的运行情况。
4结束语
MES作为生产调度指挥系统,需要与其他所有生产相关的系统进行通讯,从而指挥整个生产系统相互配合。本文针对企业服务总线ESB进行了使用及技术方面的说明,详细描述了ESB的核心架构和重要作用,结合工厂的实际情况,将现有系统进行整合,而整合这些系统的通信手段就是ESB。所有需整合的系统依照ESB的接口标准修改或开发统一的接口,系统的连接方式由原本体外通讯修改为:系统?ESB?系统。
参考文献
[1] 赵万青.数据交换与共享系统的设计与实现[D].湖北:华中科技大学,2012.
[2] 薛军超.MySQL网络数据库开发[M].北京:人民邮电出版社,2001: 229.
[3] 王翔,孙逊.模式-工程化实现及扩展(设计模式C# 版)[M].北京:电子工业出版社,2012:10.
[4] 赵朋飞.基于ESB的Web服务管理系统的设计与实现[J].计算机与现代化,2013,(10):204-207.
[5] 杨毅,杨杰.一种提高软件需求分析质量的方法[J].计算机系统应用,2014,23(5):16-20.