基于SOA的MES系统及其应用 | ||||||||||||||||
来源:名易软件 基于SOA的MES系统及其应用1 随着MES的深入应用,制造型企业对系统集成的要求也越来越高。据统计,全球40%的IT预算是应用于系统集成的,而系统集成问题在MES方面显得更为突出,这是因为,MES是一个将企业的厦门和底层的集成在一起的中间层管理软件,主要用于对车间的生产、质量、设备等方面进行详细计划、信息反馈和数据分析,是一个承上启下的软件,需要与厦门OA系统和自动化系统实现双向的信息集成,接收厦门OA下达的车间生产计划,并进行详细计划和任务分配,向厦门OA系统反馈生产、质量等信息,对自动化系统进行控制,读取相应的数据,并进行分析。MES涉及底层的硬件系统、实时数据库等专业技术,属于一种复杂的集成技术。由于数据结构和信息系统的异构性,离散的制造车间信息和控制仍然十分困难。从高层次的厦门OA系统到底层的控制系统之间的纵向集成较难实现。现有的解决方案可以在MES系统中通过静态的过程逻辑编程来实现集成,但是这种集成方法往往缺乏适应性和可拓展性。因而,这种集成方式不能满足当今动态制造环境的需求。 面向服务的体系结构或面向服务架构SOA是指为了解决在Internet环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。SOA(面向服务的体系)采用面向服务的商业建模技术和Web服务技术,实现系统之间的松耦合,实现系统之间的整合与协同。Web服务和SOA的本质思路在于使得信息系统个体在能够沟通的基础上形成协同工作。因而,融合SOA的基于Internet的制造可以实现分布式的信息系统,这种解决方案可能使静态的或动态的车间管理系统集成进人整个企业架构。将MES系统构建在SOA架构的基础上,不但使整个企业应用系统紧密集成在一起,而且可以实现动态的应用组合,从而满足当前动态制造的环境的需求。罗克韦尔自动化的FactoryTalk集成化生产与绩效套件正是提供了基于SOA的MES解决方案,通过应用SOA架构将所有通用需求因素集中起来放到FactoryTalk服务平台上,成为一个统一的工厂生产模式。本文介绍了SOA相关的关键技术,并结合这些技术描述了如何应用SOA实现可集成的、可扩展和通用的MES系统,并以九江昌河汽车总装MES系统为例,介绍了MES系统的应用。 1关键技术 1.1SOA SOA服务具有平台独立的自我描述XML文档。Web服务描述语言WSDL是用于描述服务的标准语言。SOA服务用消息进行通信,该消息通常使用XMLSchema来定义,也叫做XSD(XMLschemadefinition)。消费者和提供者或消费者和服务之间的通信多见于不知道提供者的环境中。服务间的通信也可以看作企业内部处理的关键商业文档。在一个企业内部,SOA服务通过一个扮演目录列表(directorylisting)角色的注册中心(registry)来进行维护。应用程序在注册中心寻找并调用某项服务。 统一描述、发现和集成UDDI(universaldescription,discovery,andintegration)是服务登记的标准。每项SOA服务都有一个与之相关的服务品质QoS(qualityofservice)。QoS的一些关键元素包括安全需求(例如认证和授权)、可靠通信、以及谁能调用服务的策略。如图1所示,基本的SOA架构包含了SOAP、WSDL、UDDI等支持服务请求者和服务提供者进行交互,以及用于Web服务发现的规范。服务提供者通常用WSDL来描述它所提供的Web服务,然后将该WSDL描述发布;服务请求者可以通过UDDI或者其他注册中心来获取WSDL描述,请通过向服务提供者发送一个SOAP消息来请求执行服务。基于SOA的MES系统的关键是如何对服务进行合理描述,描述后发不到UDDI中,服务的请求者则要调用服务发现引擎找到需要使用的服务。 企业服务总线ESB(enterpriseservicebus)是一种可以提供可靠的、有保证的消息技术的新方法。ESB中间件产品利用的是WebService标准和公认的可靠消息接口协议MOM。ESB产品的共有特性包括连接异构的MOM、利用WebService描述语言接口WSDL封装MOM协议,以及在MOM传输层上传送简单对象应用协议(SOAP)传输流的能力。大多数ESB产品支持在分布式应用之间通过中间层如集成代理实现直接对等沟通。 ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案。同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并提供了一系列的标准接口。 ESB不是一个应用程序框架,也不是一个企业应用的解决方案,它只是一个基于消息的调用企业服务的通信模块,它可以嵌入到应用程序框架中,例如嵌入到spring容器里面,或者嵌入到工作流系统中。ESB为实现可集成的MES系统提供了一个框架和简便的方法。
|