网站首页 | 网站维护 | 标志设计 | 平面设计 | 网站设计 | 技术文章 | 企业早知道 | 网站优化 | 客服案例 | VI设计 |画册设计
革新设计理念 和谐和简单造就不同凡响:商务万维理念 我们一直在努力 卓越塑造成功!
用心服务 携手进步 · 首 页 · 包装设计 · 海报设计 · 广告设计 · 网站推广 · WEB技术 ·行业新闻
 专业设计团队 网站建设专家 革新设计理念 构建和谐网络生活 携手客户 共求发展

基于Web Service技术的远程监控系统

作者:佚名    文章来源:本站原创    点击数:    更新时间:2007-5-23

 

  引言 
计算机已被广泛地用于对各种工业过程监控系统。但早期的监控系统大多采用计算机直接控制的方式,只能在工业现场进行操作,难以进行远程监控。随着计算机网络和工业控制网络技术的进步,20世纪80年代以来,集散式控制系统(DCS)和现场总线控制系统(FCS)逐渐发展成熟。这些监控系统不但具有控制算法先进、开展精度高、响应速度快、安全性高、易于维护等优点,由于采用了网络技术,使各种设备可以联接成网,相互协作,使用了各种分布式对象的软件技术,开发了大量不受地域限制的远程监控系统。这些远程监控系统多采用分布式对象技术,如Microsoft的DCOM、Sun的RMI、OMG(对象管理组织)的CORBA,DCOM、RMI、CORBA等技术,每个远程监控系统系统都有自己的协议和私有格式。但一种协议下的服务,往往只能被采用同一种协议的客户访问。各种协议采用不通用的二进制数据结构进行通讯,受到特定的开发者、平台、语言和数据编码格式的限制,降低了互操作性,其紧耦合的体系结构也限制了服务的重用性和灵活性。此外,这些分布式对象协议不能直接通过防火墙[1]。

2  Web Service技术
Web Service技术有助于克服以上传统分布式对象技术的不足,是建立优化的远程监控系统比较理想技术。本文提出了一种基于Web Service的远程监控系统结构,并使用一个远程监控系统的实例来说明这种结构的有效性。
随着网络技术、电子商务技术的发展,以及可扩展标记语言XML作为一种标准的数据格式被广泛的接受,一种新的技术构架Web Service技术已迅速成为应用集成发展的重点。由于Web Service技术建立在标准性与开放性基础之上,彻底打破了以前封闭式的实现方法,通过Web Service技术,使用不同语言开发、运行在不同平台上的客户可以无缝的获取所需的应用,达到资源效率的最大化。
构筑Web Service技术的主要成员有XML Schema、SOAP、WSDL和UDDI,它们都是完全基于新一代Internet种子技术XML的[2,3,4]。
2.1  XML规范
XML是W3C制定的文本标记语言规范,它是严格定义的结构化数据,可以用来定义和描述数据,更重要的是它采用文本标记的形式定义各种可交换数据结构,并利用标准的网络协议进行传输。正因为这些特性,XML实际代表了平台中性和进行网络计算的趋势。XML是Web Service的技术基础,Web Service应用的其他协议规范都是以XML为标准来描述和表达的。XML Schema为在不同系统之间交换数据提供了一个核心的跨平台数据建模工具。
2.2  SOAP协议
SOAP完全集成了XML的开放性和描述可扩展性。它使用基于TCP/IP的应用层协议HTTP、SMTP、FTP等,可以与现有通信技术最大程度的兼容。SOAP为使用XML在松散、分布的环境中对等地交换结构化和类型化信息提供了一套基本的元规则和跨平台消息机制,是Web服务体系中的服务交互的基本架构。它本身并不定义任何应用语义,而是定义一种简单的机制,通过一个模块化的包装模型和对模块中特定格式编码的数据重编码机制来表示应用语义。SOAP是一个基于XML的,用于分布式环境下数据交换的简单、轻量级协议,包括三部分:
(1) 定义了消息描述和消息处理的框架的封包(SOAP封包);
(2) 表达应用程序定义的数据类型实例的编码规则(SOAP编码规则);
(3) 描述远程过程调用和应答的协定。
2.3  WSDL标注
WSDL是Microsoft公司的SDL(Services Description Language)和IBM公司的NASSL(Network Accessible Services Specification Language)结合并被W3C接纳后形成的标注。它提供了以XML格式描述Web Service请求的标准方法,描述一个Web Service能做什么、位置在哪里、如何调用等信息。WSDL把Web服务定义为网络端点的集合。它有一个根元素,用类型(Types)、端口(Port)和服务(Service)等元素来定义Web服务。
2.4  UDDI规范
UDDI是分布式Web服务的信息注册规范。Web Service可以根据这一规范进行注册,以便被其他需要该服务的用户发现。UDDI规范描述了Web服务的概念,同时也定义了一种编程接口,这种编程接口提供了描述各种Web服务的简单框架。规范包括几份相关的文档和一份XML Schema,用来定义基于SOAP的注册和发现Web服务的标准。UDDI真正实现了Web Service信息访问的“一次注册,到处发布”,是动态服务集成解决方案的有益尝试,它把Web服务与用户联系起来,起中介作用。这种技术使得底层平台对应用交互透明,应用的互操作能力得到了前所未有的提升。
2.5  Web Service的实现思想
Web Service的实现思想是Web技术在更广泛程度上应用的结果,是基于请求——响应模式的扩展,基本构架见图1,其过程描述如下[5,6]:

 

 

图1     Web Service的基本服务框架
(1) 服务提供者对服务进行包装并在UDDI中注册、发布其应用服务;
(2) 使用者根据应用请求在UDDI中查找所需的服务;
(3) UDDI为使用者提供服务提供者的位置的相关描述(WSDL);
(4) 使用者使用UDDI提供的相关WSDL创建代理对象;
(5) 使用者使用这个代理对象远程获取所要的服务。
2.6  Web Service具有一些明显的特点
(1) 互操作性
通过SOAP协议可以在任何Web服务间进行交互,避免了在CORBA、DCOM等协议间转换的麻烦,可以使用任何语言来编写Web服务,无需变更开发环境;
(2) 普遍性
任何支持HTTP和XML技术的设备都可以拥有和访问Web服务;
(3) 简易性
Web Service技术易于理解,不仅IBM、微软等提供的开发工具能够快速创建、部署Web服务,而且现有的COM组件、JavaBean等也能方便地转化为Web服务;
(4) 标准性
Web Service技术是基于现有以及有待发展的开放的标准,具有标准性;
(5) 支持的广泛性
几乎所有的供应商都支持SOAP和Web服务技术,包括微软、IBM、Sun、HP等。
由以上特点可以看出,Web Service技术将成为今后互联网发展的主要技术,基于Web Service的企业应用构架将成为今后研究和应用的重点。

3  基于Web Service技术的企业应用集成结构
考虑到要保持现有应用系统的原状,因此在引入了Web Service后,把现有应用中那些能够提供服务的、需要暴露出来的功能包装成Web Service(称为Web Service Wrapper),这样该应用就能被其它的客户通过Web Service进行调用,它不改变原有系统,实现企业应用系统很好的集成,体系结构见图2。

 

 

图2     基于Web Service技术的企业应用集成结构图
基于Web Service的企业应用集成技术充分利用了Web服务的先进性,以一种松散耦合的关系来组织企业应用之间的互联,实现了企业内部的信息共享,与传统的EAI方法相比,它具有以下的优点:
(1) 简单,与传统的EAI解决方案(包括分布式对象技术如DCOM、CORBA和EJB)相比,Web Service更便于设计、开发和维护,因为每个Web Service Wrapper都是独立包装实现的。
(2) 基于开放标准,Web Service是基于开放标准如XML、HTTP等,这使得Web Service技术能够被更广泛接受、采用。其开放性的特点,也有利于减少企业构建应用集成中的投入。
(3) 灵活性,基于Web Service技术的应用集成是以请求——响应来实现请求服务与应用之间的松散耦合的。该特点使得应用更易于更改,在局部出现问题的情况下能更好更快地恢复,使系统获得更高的健壮性。
(4) 高效性,Web Service技术允许把应用划分为一些小的逻辑组件,而在小粒度基础上进行Web Service Wrapper包装集成将变得更容易,这也使基于Web Service技术的EAI解决方案比传统的EAI解决方案更高效。
(5) 动态性,Web Service是通过提供动态的请求-响应模式实现动态的集成。在运行中,Web Service的服务接口是可能改变的,这时请求方根据本地缓冲的WSDL进行服务调用就会失败,此时,应用有能力再次到UDDI注册中心重新获得服务应用的WSDL,实现重新的服务定位、绑定。因此它有别于传统的静态绑定模式。
Web Service是新一代的Web应用程序,是一类可通过开放的Internet协议访问的软件组件,它代表了组件技术和Web技术的结合[7]。其体系结构基于三种角色(Web Service提供者、服务注册中心和服务请求者)之间的交互,如图3所示。交互涉及服务的发布、查找和绑定操作。将提供者定义 Web Service的描述(WSDL)发布到服务请求者或服务注册中心。服务请求者使用查找操作从本地或服务注册中心检索服务描述,然后将服务描述与服务提供者进行绑定,并调用 Web Service以实现交互。

 

 

图3     Web Service体系结构
Web Service使用可扩展标记语言(XML)作为基本的数据表示方式,消除了使用不同组件模型、操作系统和编程语言的系统之间所存在的差异。简单对象访问协议(SOAP,Simple Object Access Protocol)是用于交换XML编码信息的轻量级协议。它的主要作用是为各类XML消息,提供一个简单统一的传输机制。Web Service使用SOAP来包装XML数据,通过HTTP(或MSMQ、SMTP、TCP/IP)作为传输协议,在不同平台、不同软件、不同组织之间进行传递。Web Service的描述语言为WSDL。它提供了一种描述服务接口的标准方法,定义了一种描述接口的抽象语言,使服务的接口定义独立于底层协议和编码方式。通用描述、发现和集成(UDDI)是Web Service的信息注册的标准规范,用来对服务提供动态的注册功能。
可见,Web Service采用XML、SOAP、HTTP、WSDL、UDDI等标准协议。这些协议与特定的操作系统、对象模型和编程语言无关。因此,利用Web Service来建立远程监控系统时
(1) 由于采用标准的协议,不受特定的开发者、平台、语言和数据编码格式的限制;
(2) 开发的Web Service可以供不同的客户调用;
(3) HTTP作为传输协议可以穿过防火墙,提供在Internet上的连接和访问[8];
(4) 如果知道Web Service的地址并具有相应权限,就可以在网络的任何地方进行调用。

3  远程监控系统结构
为了实现工业过程的远程监控,基于Web Service技术的远程监控系统结构如图4所示。

 

 

图4     基于Web Service的远程监控系统结构
3.1  基于Web Service的远程监控系统结构
传统的远程监控系统多使用OPC技术来获取各种现场设备的数据,包括实时采样值、历史数据、报警数据等等。该系统也使用OPC来与现场设备进行数据交换。图4中的OPC服务器由设备供应商提供。OPC技术是以Microsoft的OLE/COM 技术为基础。因此,与其他组件技术一样,它不是防火墙友好的,难以通过防火墙从OPC服务器获取所需的数据。即使在同一局域网内,位于不同计算机上的OPC客户端要连接到OPC服务器都需要经过复杂的DCOM和安全性设置,这增加了系统开发的难度,为此要对OPC服务器的数据进行封装。通过网关(命名为“过程网关”)的形式来为各个系统提供数据。过程网关作为OPC客户端从OPC服务器获取各种过程数据,将这些数据按照一定规则重新组织,并封装在Web Service内,过程网关也从已有的控制系统中获取所需的数据,并以服务的形式暴露给各种应用。
Web已被广泛用于监控系统中,它可以提供统一的人机界面,并且操作简单友好。该系统结构使用Web来建立监控系统,Web监控系统通过过程网关获取现场设备的数据,将这些数据以Web的形式提供给远程用户。远程用户通过PC、PDA、笔记本电脑或手机访问Web页,将各种控制数据送回Web监控系统。Web监控系统再将这些控制数据通过过程网关传送给现场设备,这样就完成了对现场设备的远程监控。
当然,远程的用户也可以通过直接访问过程网关来实现远程的监控。由于Web监控系统以HTML的形式来传送消息和过程网关提供的Web Service的防火墙友好性,因此不管使用那种方式来进行远程监控,都不会受到防火墙的限制。
3.2  过程网关
过程网关是现场设备与监控系统的桥梁,起着重要的数据中转作用,其结构如图5所示。

 

 

图5     过程网关与监控应用
(1) 数据获取
过程网关需要获取
●来自现场的实时数据,以对工业过程进行及时的监控;
●来自其他控制系统的数据,以允许监控应用与这些系统进行数据交互。
目前主要的自动化设备生产厂家,如Rockwell、Siemens等,都提供了对OPC技术支持,通过OPC来获取现场设备的数据。OPC服务器通过各种现场设备的驱动程序,直接从设备中取得数据,再将这些数据提供给OPC客户端。OPC有几种协议,分别有不同用途。例如,OPC客户端通过OPC DA获取设备或SCADA系统的数据;通过OPC AE获取报警和事件信息;通过OPC HDA获取过程控制中的历史数据。
现场控制系统将各种数据存入数据库中,过程网关通过访问这些数据库来获取控制系统的数据。获取这些数据的目的在于使远程控制系统可以与已有的控制系统进行交互,方便地将这些系统集成到新的系统中,使其获得新的生命周期。成熟的中间件技术,如ODBC、ADO等,为数据库的访问提供了简单快捷的方法。
(2) 数据的Web Service封装
通过4.2.1获取的数据需要封装为Web Service,以便Web监控系统和远程用户能够进行调用。在进行数据封装时,按照功能需求确定需要暴露给调用者的接口(类似于编程语言中的函数接口),然后通过开发工具来开发这些Web Service。这些工具有Microsoft的Visual Studio.NET、IBM的WebSphere、Borland的JBuilder等等。数据封装为Web Service后可以提供WSDL,方便调用者进行调用。
(3) 安全审查
过程网关的某些Web Service可能涉及到保密的数据,因此需要考虑数据传输的安全性,并对客户端的访问进行限制。可用多种方法来提供所需的安全性
●采用WS-Security标准[9];
●使用SSL进行加密和签名;
●使用传输层安全性(Transport Layer Security,TLS)、IPSec[10]等确保数据的安全传输;
●使用服务器,如IIS,的身份验证功能;
●提供用户的角色定义和权限分配。
(4) 服务调用
开发监控应用时,通过查找操作从本地或服务注册中心检索服务描述,然后进行Web监控系统的开发。而开发完成后的系统可以位于网络的任意位置。Web监控系统与过程网关提供的Web Service进行绑定,通过服务的调用实现数据的交互,由于Web监控系统的数据是通过纯HTTP协议传输的,因此是防火墙友好的。
3.3  Web监控系统
监控系统可以有多种形式。传统的监控系统通过各种组态软件开发,如InTouch,iFix、RSView32等等,但这种监控系统一般是针对集散控制系统或现场总线控制系统的,不利于进行远程的监控。每一种应用都需要相应的运行环境,这将增加用户的投资,如采用基于Web的监控系统,就可以提供统一的人机界面,有利于进行远程监控。
(1) Web监控
远程的用户可以通过浏览器访问现场的运行画面,掌握现场数据。同时可以通过浏览器发送控制命令,控制现场设备的运行。Web监控程序还可以实现数据存档、报表打印、故障报警、统计图表及曲线的显示等[11]。在开发Web监控程序时,首先要获取过程网关提供的WSDL(通过在服务注册中心查找获取,或直接通过过程网关Web Service所在的URL获取)。在开发过程中,Web Service的使用与一般的API函数类似。为了提高性能,应尽量使用异步调用的方式。ASP.NET、JSP等都可以用来进行Web监控程序的开发。由于终端设备的性能差异,需要为手机、PDA等设备开发不同于PC的Web监控程序。
(2) 冲突避免
如果多个用户同时进行监控,可能会导致冲突,因此需要限制同时操作的用户数量。当一个用户访问Web监控系统时,如果此时已经达到了允许的最大访问数,则必须进行等待。此时,允许用户查看各种数据,但屏蔽用户的控制操作。当有其他的用户断开连接后,取消对该用户控制操作的屏蔽,可允许其进行相应的控制。
(3) 权限管理
权限管理为每个用户分配不同的权限,只允许用户进行授权范围内的操作。至少应将用户分为三个级别:管理员:主要负责对Web监控系统的管理和维护,对用户进行管理;高级操作员:可以浏览各种数据,并进行相应的控制操作;一般操作员:只具有浏览数据的权利,不能进行修改。
不同的用户登录系统后具有不同的操作权限,这样可以防止控制操作的滥用,增强系统的安全性。
(4) 日志管理
日志可以记录系统的运行情况以及用户进行的各种操作,特别要记录系统运行中出现的故障。对于用户操作产生的日志需要包括用户名、所进行的操作、时间和IP地址。这样可以掌握用户所进行的各种操作,也便于在出现错误时进行追踪和修复。

4  远程监控系统应用实例
某技术改造工程按照所提出的远程监控系统结构,开发的远程监控系统的框图结构如图6所示。现场设备为一台PLC(Rockwell,SLC 05/5)、两个控制阀和三个液位传感器。OPC服务器为RSLinx,负责与PLC的数据交换。过程网关将来自于RSLinx的数据封装为Web Service。Web监控系统调用这些Web Service,实现对现场数据的监控。

 

 

图6     远程监控实例
通过IIS的身份验证来提供过程网关的安全审查。过程网关通过C#来开发,提供的重要服务有:
ConnServer(),连接到OPC服务器;GetItemsValue(string ItemIDs),从OPC服务器中获取一组Itme的值;WrtItemValue(string TheItemID, short TheValue),将控制值写入到OPC服务器的某个Item中。
由于已知Web Service所在地址(URL),故不在服务注册中心注册,直接提供URL给Web监控系统。借助ASP.NET开发Web监控系统,通过已知的URL进行Web引用,然后使用Web Service接口进行编程,采用PID控制方式对液位进行控制。Web监控系统可提供冲突避免、权限管理和日志管理等功能。最终通过浏览器访问Web监控系统,其页面如图7所示:

 

 

图7     Web监控页面


5  结束语
上述针对传统远程监控实现中存在的协议瓶颈问题,提出了一种基于Web Service的远程监控系统架构。文中讨论了数据采集、服务部署、发布和调用等的方法。系统设计中采用安全审查、权限管理、冲突避免、日志管理等措施,在基于Web Service的远程监控系统架构基础上,开发了一个远程监控系统。该远程监控系统具有不受特定的开发者、平台、语言和数据编码格式的限制,不受物理位置的限制,是防火墙友好的,易于同其他系统进行协作和开发简单等优点。该结构不针对具体的系统,具有一定通用性。工程实践表明了基于Web Service的远程监控系统的可行性与有效性,需要特别注意的是尽可能提高Web Service的调用速度。
 

 
  • 上一篇文章:

  • 下一篇文章:

  • 联系我们 | 关于商维 | 友情链接 | 网站地图 商务万维:网站设计|名片设计|VI设计|包装设计|广告设计|画册设计|广告设计|海报设计
    Email:info@35www.net 商务万维理念