吴添富
摘要:智能建筑管理系统(IBMS),采用Internet/Intranet技术,将各个分散的、相互孤立的子系统,在统一的控制平台中进行集中监控和管理。为了提升用户在B/S架构中的体验,引入富互联网应用—RIA,而Silverlight作为RIA的力作之一,克服了传统Web应用程序的缺点,实现跨浏览器、跨平台的优质体验。该文就RIA架构结合分布式技术在智能建筑系统中的应用进行研究与实现,为管理人员提供一个高效、便利、可靠的管理手段。
关键词:IBMS;RIA;OPC;Silverlight;智能建筑
中圖分类号:TP311文献标识码:A文章编号:1009-3044(2012)07-1665-03
The Research and Implementation about IBMS Integrated System Based on RIA Architecture
WU Tian-fu
(Department of Automation, Xiamen University, Xiamen 361005,China)
Abstract: Intelligent Building Management System (IBMS), using the Internet/Intranet technology, scattered, isolated subsystems,can be centrally monitored and managed in a unified control platform. In order to enhance the users experience in B/S architecture, the introduction of rich Internet applications-the RIA, and Silverlight as one of the masterpiece of the RIA, to overcome the shortcomings of the traditional Web applications, cross-browser, cross-platform, high-quality experience. in this paper, We use RIA architecture combined with distributed technology in the intelligent building system research and implementation, providing an efficient, convenient, and reliable management tools for managers.
Key words: IBMS; RIA; OPC; Silverlight; intelligent building
1概述
智能建筑系统集成的概念在中国智能建筑学术领域内的提出,已经有近20年的时间了,特别是中国科学院徐兴声研究员1992在国内建筑界权威性学术刊物《建筑学报》上首次提出“智能建筑系统集成技术”—系统集成的内涵[1]。我国基于Web平台的智能建筑管理系统(Intelligent Building Management System,IBMS)的技术还不是十分成熟,同时随着互联网技术的革新,用户在操作的过程中已经不是单纯的关注所平台拥有的功能,而是越来越关注交与用户交互的体验。但是传统的B/S应用程序由于受访问终端和浏览器的限制,目前已经无法满足用户多样化的需求,因而Web应用程序转入一个崭新的时代—RIA。作为RIA的代表作之一,Silverlight继承了传统B/S应用程序的优良特性,同时采用新的框架,可以创建具有较强交互性和绚丽多彩的用户界面,将给用户带来更佳的用户体验。
在实际的项目中,智能建筑管理系统不是简单的将各个子系统进行集成,而是能将各个子系统相关信息进行综合,并根据管理需要实现各个子系统之间的相互联动。本文就基于Silverlight(基于微软Prism框架)、WCF RIA Service、OPC(OLE for Process Control)等集成技术进行分析,设计并实现一套跨平台的综合管理系统。
2 IBMS简介
IBMS,它是以目前国际上先进的分布式信息与控制理论为基础而设计的计算机分布式系统。一般来讲,智能建筑管理系统应具备五个自动化模块,即所谓的5A--楼宇自动化系统BA,办公自动化系统OA,信息自动化系统CA,消防自动化系统FA和保安自动化系统SA这五个部分构成。它综合利用了现代计算机技术(Computer)、现代控制技术(Control)、现代通信技术(Communication)和现代图形显示技术(CRT),即4C技术[2]。
现今的系统集成技术的概念本身已与几年前显著不同,无论是大厦内的控制系统,还是信息系统已不再以处理器或服务器为中心,而是网络化架构的,甚至有人提出:网络就是计算机。同时集成应用系统的开发也不再面向过程,而是面向数据。
OPC(OLE for Process Control)技术在IBMS中有着举足轻重的作用,OPC是一种工业标准,支持多种开发协议,它由微软公司和各个自控公司共同指定,并采用微软COM/DCOM,ActiveX等标准和先进的软件技术。这就使得我们可以通过OPC技术将各个孤立的子系统进行集成,实现同一平台进行集成控制的目的。
3 RIA模型的优势及其实现技术
3.1 RIA模型的优势
RIA(Rich Internet Applications,富互联网应用程序)一词来源于Macromedia公司在2002年3月发表的一份白皮书[3],RIA是一种全新的Web应用程序架构,它结合了Client/Server架构应用程序良好的用户体验和Web应用程序易于部署的优点[4]。
RIA和HTML的不同之处还在于,RIA拥有更健壮的客户端描述引擎。因此,RIA可以在客户端实现HTML所无法实现的体验效果。更多的内容、更快的反应速度以及对设计人员来说更多的可用控件,甚至RIA还允许通过一些技术来即时的构建所需要的图形。
3.2 Silverlight介绍
微软Silverlight是一种跨跨平台、浏览器的.NET Framework实现,用于为Web生成和提供下一代媒体体验和丰富的交互式应用程序。Silverlight统一了服务器、Web和桌面的功能,统一了托管代码和动态语言、声明性编程和传统编程的功能[5]。
Silverlight技术框架如图1所示。
图1 Silverlight的技术框架[6]
Silverlight可以跨平台和浏览器创建相同的用户体验,使得用户无论使用哪种终端进行访问,所产生的效果都是一致的。因此Silverlight使开发人员在研发的过程中不必拘泥于过多的细节问题,只要专注于实现其功能即可,并且Silverlight平台还提供了多样化的跨平台构件。3.3 Prsim框架介绍
Prism是Composite Application Guidance for WPF的简称,由微软P&P(patterns & practices)小组设计,基于MVVM模式(Model-View-ViewModel),是用于Silverlight的企业级框架。Prism框架最强大之处就是把界面与逻辑相剥离,从而实现设计与编程解耦。这样我们就可以把界面拆分成若干模块,从而使模块间的交互实现了最大的松散耦合,降低了“牵一发而动全身”的风险。此外,在部署的时候,也可以实现按需加载和更新,尤其是对Silverlight而言,极大的增强了用户体验。另外Prism使用了TDD的设计理念,开发和测试也可以独立地进行,缩短整个软件的开发周期。鉴于此,本文的实例运用的便是基于这个框架的Silverlight应用程序。
4设计与实现
4.1平台架构
为了简化IBMS集成系统的开发,还需借助.NET平台的又一大利器—WCF RIA Service,其简化了N层结构的RIA应用程序的开发,它所提供的框架组件、工具以及服务来使RIA客户端不用手动复制程序逻辑就能调用位于服务器上的应用逻辑,而且所建立的RIA客户端当每次解决方案编译时会自动更新中间层逻辑,实现真正意义上业务逻辑上的统一。[7]
集成平台采用集散控制系统,分散控制、集中监控管理,按“危险分散”原则设计,任一节点出现故障时均不影响系统的正常运行和信号的传输,保证每个子系统都能相对独立控制。为此,引入分布式控制技术的,一方面实现上述的功能需求,另一方面极大减少了子系统向主平台的响应时间。在研发的过程中,将各个子系统的点位映射为I/O点(设备点的读写操作),各个分布式自服务负责相应的子系统点位信息的读取操作,再借助于负载均衡技术,各个子系统的信息通过中转服务器(其中部署着IO服务)反馈给客户端,这样就避免了向IIS轮询造成的网络开销和时间延迟,达到实时请求的目的,同时实现了集成平台和各个子系统的解耦,提升了实施人员部署的效率。具体的架构图如图2所示。
图2平台架构图
4.2平台访问流程
在整个集成系统的运行过程中,用户充当非常重要的角色,贯穿始终。具体的流程分为一下几个步骤:一、启动Silverlight应用程序,根据Prism框架加载初始模块,Silverlight客户端接收用户访问请求;二、通过WCF RIA Service将请求反馈给IO服务,IO服务接收到数据请求,根据相应点位信息标识的子系统名称,将请求转发给分布式子系统点位信息读写服务;三、分布式子系统点位信息读写服务接收到操作后,直接根据相应的协议类型(通常是将其他协议转换为OPC协议)读写相应的设备点位信息;四、如若是读取子系统点位信息,则分布式子系统读取服务将数据传送给IO服务,而后IO服务再转发给Silverlight客户端,完成一个完整的链路。在这整个过程中,一切都是以用户的访问需求为导向。
5智能建筑系统集成目标
访问智能建筑管理系统(IBMS),无论是位于局域网(LAN)还是位于广域网(WLAN)上的客户端设备,只需初次通过Silverlight客户端安装程序,之后的操作与桌面应用程序一致,达到与C/S与B/S的统一。未来的系统是不可能独立存在的,“开放和连接”是智能建筑集成系统的口号。
我们常说防范于未然,尤其是时下提倡以人为本的,所以如何保障各个楼宇自控子系统正常运行变得尤为重要。在当下互联网技术高速发展的背景下,我们相信后续能够有更先进的技术融入到智能建筑管理系统平台中,使不同厂商的不同设备无缝集成到同一个系统中成为可能。
6结束语
基于RIA架构的思想在IBMS集成系统中,引入富客户端这个模型,和传统的集成系统相比,主要存在以下两大优势:1)摒弃传统的浏览器访问结构,崭新的类客户端应用程序展示于用户,提升用户体验;2)便于实施人员对集成系统进行部署和维护,减轻了系统变更产生的风险。而且,基于RIA架构的平台为各个子系统的联动提供了更可靠的保障;同时也为业界提供了一套创新型的平台,推动IBMS技术的革新。但是由于RIA架构相对应会带来子系统设备点位信息读取的时间损耗,所以如何加快与子系统之间交互成为下一个阶段需要攻克的难题。
参考文献:
[1]徐兴声.评析建筑智能化系统集成的误解[J].电气时代, 2001(9).
[2]彭龙飞.智能建筑的系统集成(IBMS)技术[J].广东科技, 2008(5):56-57.
[3] Jeremy Allaire.Macromedia Flash MX - A next-generation rich client[M]. San Francisco,Macromedia, 2002.
[4]朱永光. RIA大潮中,哪种技术适合你?[J].软件世界,2007(8):38-41.
[5] Silverlight概述[EB/OL]. http://msdn.microsoft.com/zh-cn/library/bb404700(v=vs.95).aspx.
[6] Silverlight结构[EB/OL]. http://msdn.microsoft.com/zh-cn/library/bb404713(v=vs.95).aspx.
[7] Nick Lecrenski. Silverlight 4 RIA开发全程解析[M].北京:清华大学出版社,2011.