|
基于CAB技术和SOA架构的
煤矿安全生产信息平台建设研究
孙华晨 孙鲁东
(山东精诚电子科技有限公司)
|
|||
|
|||
|
山东省境内煤矿近年来一直保持良好的安全生产形势,这与山东省煤矿安全监察局、山东煤炭工业局、各矿业集团及各矿细致、扎实的安全管理工作密不可分,各基层煤矿的安全信息化工作的日趋深入也起到了重要作用。 作者五年多来一直为煤矿信息化服务,最近一年又专门对省内几个矿业集团和部分煤矿进行了专门的调研,目前我省各矿煤矿安全监控系统均已安装,很多矿已经安装或正在筹备安装人员定位系统、矿井自动化控制系统等,不少矿还开发了一些具有特色的安全管理软件和系统的安全管理信息系统。但个别矿存在信息系统比较分散,各系统数据是孤立的没有关联,不能最大限度地发挥这些数据对安全生产管理和决策的作用的问题。因此,还是有必要对“如何在现有安全信息系统的基础上,建设统一的安全生产信息平台,从而更好地为安全生产服务的课题”进行研究。 一、安全生产信息平台的建设目标 通过调研,结合现在多数煤矿安全生产信息化建设的实际情况,笔着认为,煤矿安全生产信息平台建设要本着“充分利用现有资源,高起点、低投入,兼顾未来发展”的原则。 1、 系统资源整合 煤矿上的安全生产信息化系统,普遍已经完成的是安全监控系统,人员定位系统、无线通讯系统等系统已经安装和筹备安装的矿井也很多,这些系统分别完成不同的业务职能。然而,煤矿作为独立的生产单位,其生产过程、安全管理、生产技术等本来就是密不可分的,已经建立的信息资源应当充分共享。因此,将已经建成的各信息系统资源整合起来便是安全生产信息平台建设的首要目标。 2、 统一资源规划,信息资源共享 信息资源共享,就是把各信息系统的数据有机地结合起来,共同使用,最大发挥数字信息的价值。假定矿上有压力在线监测系统、瓦斯在线监测系统和采掘日调度系统,压力在线监测系统提供了液压支架的工作阻力在整个工作面上随时间的变化关系,瓦斯在线监测系统提供了采煤工作面上的瓦斯随时间的变化关系,采掘日调度系统能够提供采煤工作面的推进情况。对于安监人员、调度人员应用这些单独存在的系统确实也能很好地完成工作,但是对于矿上的设计人员、技术科长或是总工,他可能就想知道矿山压力与推进速度的关系或者瓦斯涌出量与推进速度的关系,也可能想知道矿山压力与瓦斯变化之间的关系,之所以需要这些信息是为了更好地科学地安全生产技术决策。 就像前面提到的例子,要想得到任何一组需要的信息,单独的系统是无法提供所有数据的,比较笨的办法就是分别从不同的系统把数据获得,然后手工整理。然而,很有可能由于各种传感器安装位置的描述不一致,造成严重的源数据错误。因此,规划建设安全生产信息平台,要从统一基础数据信息,统一信息资源规划上着手。 3、 定义并管理业务流程 煤矿安全管理活动都严格遵守一定的业务管理流程,作为安全管理信息平台必须有为平台下运行的各种安全管理信息系统或专业模块提供统一的流程定义和调度的功能,并能根据每个员工的岗位的不同将系统操作权限嵌入到业务流程中去。 4、 为未来信息系统开发建设打好基础 目前传感技术、材料技术以及其他相关的信息化技术都在日新月异地发展,煤矿安全信息化建设也同传统行业信息化建设一样,存在不断完善和周期更新的过程,是煤矿信息化建设的必然规律。规划建设煤矿安全信息化平台,不仅要考虑到目前信息系统的需要,还要为今后信息系统改造和建设新的信息系统做好准备,避免重复建设,提供尽可能多的公共资源,降低资金投入和缩短建设时间。 二、用CAB技术整合现有安全生产信息系统 1、 CAB技术 CAB(Composite UI Application Block 组合界面程序块),提供了一个非常灵活的编程框架,利用这一框架,可以很好的将一个应用分离成不同的模块进行开发。CAB最大的特征是她就是一个IOC界面容器,它可以根据容器内组件的依赖关系自行组装,以解除耦合,CAB中的View,Controler,以及Service组件都是通过该容器自行组装,以完成业务操作。CAB中的 Event attribute 和 command attribute 又为解耦提供了许多方便。在CAB的支持下,完全可以将多个业务点交由不同的开发人员甚至不同的专业化公司进行开发,只要按照同样的既定的规范开发(界面规范,接口规范等),就能很好地进行集成。虽然系统可以模块化的独立开发,各个模块之间实现了松耦合,但是系统运行时,CAB还是能够通过某种方式将各个模块糅合在一起,形成一个有机的整体。 CAB采用Model-View-Presenter (MVP)模型。 该模式将领域模型,视图和基于用户输入产生的行为(控制器)分成3个不同的组成部分。视图部分提供给用户进行交互,交互信息通过视图传到控制器,控制器更新模型,模式触发事件到控制器,同时,控制器负责更新视图。关系图如下:
使用CAB技术开发安全生产信息平台可以做到: • 将不同的功能模块组合成解决方案 • 运行环境提供基础服务 • 降低开发成本 • 灵活方便 2、 采用CAB技术的信息平台 CAB技术为煤矿各类信息的展示界面组合提供了技术手段,充分地利用现有的信息资源,用CAB技术构建的信息平台为各类信息的组合显示和分析提供了场景和界面容器。下图展示了瓦斯监测、矿压监测以及调度信息的组合逻辑。总之,采用CAB技术构建的信息平台可以作为煤矿所有信息系统集中调度、显示的前台界面,让信息切换、分析就在一键之间。
三、SOA 架构为信息的高度共享提供保障 1、 SOA架构 SOA(Service Oriented Application,面向服务应用程序),是软件工程最近发展成熟起来的,作为应对面向对象以及面向组件缺陷的解决方案提出。 在面向服务的应用程序中,开发者只需要关注于业务逻辑的编写,以及通过可交换的、可互操作的服务终结点暴露业务逻辑。客户端调用这些终结点,而不是服务代码或者它的实现包。客户端与服务终结点的交互基于标准的消息交换,服务发布各种标准元数据,描述服务的功能,以及客户端调用服务操作的方式。元数据就是服务,相当于c++的头文件,COM的类型库,或者.NET程序集的元数据。服务的终结点是可重用的,在交互的约束(例如同步、事务以及安全通信)下,服务是与客户端兼容的,而与客户端的实现技术无关。 在开发面向服务应用程序时,我们能够实现服务代码与客户端使用的技术与平台的解耦,也与并发管理、事务传播和管理以及通信可靠性、协议和模式无关。总的来讲,实现从客户端到服务的消息传递的安全,就是对调用者的认证,它属于服务范围之外。服务根需求仍然要实现服务自身的本地授权。在大多数情况下,客户端并不知道服务的版本:只要终结点支持客户端期望访问的契约,客户端就不用考虑服务的版本。为了处理客户端与服务之间传递数据的版本兼容,面向服务同时还构建了版本兼容的标准。
2、 SOA架构下的网络信息共享 要了SOA架构下的网络信息共享,首先我们来看一下SOA应用程序结构。一个面向服务应用程序只是简单地将服务组合到一个单一逻辑的、整体的应用程序(参见下图)中,这类似于聚合了对象的面向对象应用程序。 应用程序自身可以将组合服务公开为新的服务,就好像一个对象可以由多个小的对象组成一样。
应用程序中的不同服务全部可以放到相同的位置上,或者分布放到局域网或互联网上。它们也可以来自于多个开发商,使用各种不同的技术与平台进行开发,版本独立,甚至执行在不同的时区。所有的这些公共基础功能特性对于在应用程序中与服务交互的客户端而言,都是隐藏的。客户端发送标准消息到服务,两端的公共基础功能通过消息以及与平台无关的传输型表示形式进行转换,并对客户端与服务之间存在的区别实现封送。 在没有SOA机构时,我们也提到过信息共享,更多地是指企业或组织内的数据共享,需要不同的应用系统操作另外一个系统的数据库,或者根据另外的系统提供的数据接口来操作数据库,而这些共享的方法都是在数据高度耦合的基础上的,部署在一个机器上,要求使用相同的技术平台。如果我们采用了SOA架构,数据信息的共享是由部署在网络上不同地点的服务提供的,而不同的服务可能来至于瓦斯监测、压力监测等类似的不同的应用程序系统,至于数据实体存储在什么地方,数据操作都是由服务自动完成的,当一个应用程序需要别的应用程序说管理的数据时,只需获取它的服务,这样我们就可以简单地开发出新的应用程序,用最经济、简单的办法做到了数据的共享,而且有可能的话不受地域和具体技术的限制。 四、基于CAB技术和SOA架构的煤矿安全生产信息平台实现 1、 对现有环境监测系统的整合 现有煤矿安全监控系统是煤矿以往安全生产信息化的结晶,将这些系统整合起来,打破部门和应用环境的限制,更大限度地为煤矿安全生产管理服务,需要通过建立安全生产信息化平台整合起来。 具体的方法和思路是,在现有系统的基础上,根据煤矿具体的应用实际建立相应的系统数据接口,然后将这些接口按照SOA架构的要求封装并发布为一个个的服务,利用CAB技术构建信息平台下运行的组合客户端,访问所需要的服务,通过平台级数据字典的对应,做到数据和用户界面的整合。逻辑关系如下图。
2、 面向服务的信息资源共享 不管一个煤矿建立了多少个信息系统,其作用区域都是在一个煤矿内,涉及的信息比如区队、工作面、生产安全技术、采用的标准等都是一样的,在以前进行信息化系统建设的时候,很难做到信息共享,从而带来的片面性和错误是在所难免的。 SOA架构给我们解决真正共享问题提供了一整套解决方案,首先将现有的各种安全生产信息系统改造成分布在企业局域网上的服务,在进行面向服务的系统改造中,参照煤矿统一的数据字典,各信息系统又可以为其他的系统提供服务。通过面向服务的设计和部署,使用数据的应用程序无需关心具体的数据存储位置和有关操作,将资源共享从数据层面上升到服务层面。 3、 安全生产信息平台扩展 一旦采用SOA架构对现有系统进行改造,并建立了基于CAB技术和SOA架构的信息平台,就等于给今后的安全生产信息系统建设指定好了一套标准,在此标准上新建立的信息系统完全可以在不了解以前信息系统细节的基础上使用以前的服务,获得更多的信息资源,基于信息平台的应用程序,仅需关心业务逻辑和交互界面的开发,界面的显现、流程的驱动、权限的划分都由建设好的信息平台完成,平台信息系统的扩展做到了最大限度地提高了速度和减少投入。 五、结论 CAB技术是随着微软.NET技术发展起来的一整套客户端界面开发框架,配合Smart Client(智能客户端)技术和Click Once部署技术,将彻底打破软件开发中的B/S和C/S界限,成为Vista操作系统的应用程序开发标准。CAB技术和SOA框架的在煤矿安全生产信息化的应用和用这些技术构建的信息平台也将为煤矿的信息化建设产生巨大的加速度,并被越来越多的煤矿接受和应用。
参考文献 [1] Juval Lӧwy. Programming WCF Service. O’Reilly. 2007 [2] Mario Szpuszta . Designing Smart Clients Based on CAB and SCSF. microsoft Austria. 2006 第一作者简介: 孙华晨 男,37岁,山东精诚电子科技有限公司副总经理兼总工程师,从事信息化行业15年。
|