用户中心

资讯 > 技术专题

面向服务的架构(SOA)及其在自动化领域的影响

作者:Dennis Brandl,Control Engineering2010.10.15阅读 3589

        SOA并不是一种产品或是一种技术,甚至连一种结构也称不上。它是软件集成应用的一系列规则CONTROL ENGINEERING China版权所有,可以最大限度的减少应用的复杂程度以及应用和应用之间的接口数量。因此,它能够对软件升级和支持提供最大的模块化程度。
        SOA的规则定义了一些方法,以判断何种软件应用应该支持何种功能,以及此种应用需要交换什么种类的数据。因此,SOA结构系统的潜能在于它们具有定义清晰的接口,该接口与容易理解的商业数据或运行数据相关,以及应用聚焦于容易理解的商业过程或作业规程。
        相反地,SOA的缺点在于缺少成功案例,因为很多IT组织虽然正在使用SOA工具,但是仍未安装SOA规则。SOA工具包括Web服务、企业服务总线、XML网关、SOAP(简单对象访问协议)模型和REST(表象状态转移)模型。这些工具是目前解决应用集成的最佳办法。然而,仅仅使用SOA工具并不意味着系统就遵循了SOA概念。
        SOA的两种模型:策划模型和设计模型。策划模型以粗粒度服务和商业过程的协同作业为特点。设计模型不具有这种协同性,取而代之,粗粒度服务会引发另一个粗粒度服务。

        执行中的SOA规则
        理解SOA对于制造业相关技术和过程的意义,就要聚焦于软件服务。对于与SOA相关的服务大体可分为两种:处理小段数据的细粒度服务和处理大段数据的粗粒度服务。大段数据被称为商业对象,而此服务就是针对它进行作业。通常粗粒度和细粒度的划分方法对于任何一种集成对象都适用。
        商业界的粗粒度服务处理CONTROL ENGINEERING China版权所有,例如采购清单、发票、账单、运输收据、运输单、预先发货通知和库存等对象。典型的作业包括创建采购清单、发送预先发货通知和在工厂之间转移库存。SOA系统具有遵循作业对象接口模型(接口可以指定作业和作业的对象)的集成接口,可以针对大型复杂目标完成更大的作业。例如,此时商业系统接口将会按照如下思路思考:“创建发货收据”、“对供应商付款”、“支付发票”和“创建运输单”。
        在制造业领域,粗粒度服务处理诸如生产流程、生产报告、分析认证、实验室测试结果、维护计划和库存等对象。典型的作业包括发布生产计划、创建实验室测试结果,以及在生产地点和仓库之间转移库存。制造系统接口,如“执行生产计划”、“移动原材料”以及“将原材料分配放置于容器中”等。
        细粒度服务是数据咨询服务,不是作业服务。咨询服务负责由一个系统管理但是由多个系统使用的小段数据。典型的细粒度咨询包括“获得物料存储位置”、“获得新的物料ID”以及“活动设备状态”。如果系统仅具有细粒度作业服务而没有粗粒度服务,那么它就不是SOA系统,哪怕它使用了SOA工具。安装SOA的一个普遍问题就是大量细粒度服务的使用,而商业对象又未提供独立的服务。
        制造服务大体分为如下几种:
        •  生产单管理;
        •  生产响应管理;
        •  维护作业管理;
        •  实验室管理;
        •  库存管理;
        •  生产能力管理;
        •  进货管理;
        •  发货管理;
        •  生产主数据管理(MDM);
        • KPI(关键过程指示)和OEE(设备综合效率)计算、监控和管理。
        这些服务处理组织、位置、人员、物料、设备、容器和工具。以SOA的观点来看,粗粒度对象更接近于ANSI/ISA95对象,例如生产计划、生产性能报表、作业计划、作业能力和配方。
        模型的安装
        SOA大体包含两种模型:策划模型和设计模型。在策划模型中控制工程网版权所有,具有等同的服务,包含了粗粒度服务针对商业过程作业的规则。在定义明确的SOA系统中,粗粒度服务也可以使用细粒度服务,等同的服务通常使用BPEL(商业流程执行语言),来执行商业规则。BPEL是一种OASIS (www.oasis-open.org) 标准,用于指定与Web服务之间的交互作用。
        策划模型将商业流程独立于一个等同层中,允许粗粒度服务聚焦于商业对象。很多现代商业系统遵循着策划模型,因为它提高了服务的模块化程度和重用性。虽然使用这种集中的等同服务导致了性能的下降,然而,在低速商业过程中,下降的幅度通常不大。在以分钟为单位的实时场合,仅当每分钟需要处理数以百计的信息时,额外的信息和规则解释才变得重要。
        设计模型与策划模型的不同点在于CONTROL ENGINEERING China版权所有,设计模型中没有整体等同层。粗粒度服务可能引发下游的粗粒度服务。这种商业流程由一系列粗粒度服务的规则所定义。设计模型具有更快的处理时间,因此,此种模型大多应用在生产应用和面对客户的以太网应用。这两种应用每分钟都必须以最小的响应时间和延迟处理数以千计的信息。
        规范和工具
        SOA基于6大规则
        1. 应用之间松散地耦合。当一个系统的可用性并未对另一系统造成重大影响时,以及当服务执行对于请求服务的应用不可见时,应用就松散地耦合在一起。
        2. 接口事务是无状态的。无状态接口不含带历史信息www.cechina.cn,对接口的每次使用仅仅基于此次的交互数据,而与那些由服务提供者维护的隐藏信息无关。
        3. 接口遵循RPC(远程过程调用)模型。RPC模型意味着接口看起来就是一项本地功能或者子程序调用,而调用程序并不操作具体信息和通讯协议。
        4. 接口是基于消息的。基于消息的接口使用企业服务总线(EBS)在不同应用之间发送消息。通过使用事件驱动和基于标准的消息引擎(总线),EBS可以为复杂结构提供基本的服务。
        5. 消息使用XML数据。消息是基于XML数据的——平面文件或专有二进制接口。
        6. 接口可以支持同步和异步事务。服务可以是同步的,即请求然后等待。相应地,接口也可以是异步的,应用发出服务请求,同时继续执行其他过程,响应会在之后到来。
        SOA规则是SOA规范和SOA工具的精髓。SOA规范包括松散耦合的商业或者作业过程的定义、执行过程的服务,包含服务信息的对象和定义了等同服务和对象的作业。SOA工具是执行商业服务的应用,表征商业对象的标准信息,和执行事务的集成服务。

        SOA将影响制造系统,因为他们的使用在内部和外部互联应用中变得十分普遍。正是如此,操作系统和控制系统将不得不工作于SOA环境中,并与其他SOA定义的应用协同工作。这意味着控制应用将需要将其核心商业功能扩展为松散互联的粗粒度服务,并通过细粒度同步服务扩展其共享数据。
        例如,一个粗粒度服务可能是一个来自于MES系统的一个命令,用于控制自动导航车辆在仓库和生产地点之间运送物料,而细粒度服务可能是一个被移动的托盘的条形码请求。
        SOA规则的应用将会简化制造系统,因为规则包含了最优的松散耦合商业模型和制造系统。SOA规则,也是可以完全地符合制造系统安全性的最好方法。在SOA被越来越多地使用的今天,为了保持你的系统不过时,你应该在你的制造应用中广泛地采用SOA规则。
版权声明:版权归控制工程网所有,转载请注明出处!

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2020    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688