精诚新闻
行业新闻
煤炭科技

 

山东精诚电子科技有限公司总工程师孙华晨总在《山东煤矿信息化技术交流会》的发言

 

尊敬的各位领导、专家:
上午好!
        我是山东精诚电子科技有限公司,副总经理兼总工程师,孙华晨。今天很荣幸在此就“基于CAB技术和SOA架构的煤矿安全生产信息化建设”的议题,向各位领导专家汇报。
        首先,在此我介绍一下山东精诚电子科技有限责任公司,公司成立于2008年1月,是在原“泰安精诚软件有限责任公司”的基础上成立的,实际上最早是成立于2002年10月。2002年至2004年公司属于初创阶段,将“科技兴煤,科技兴安,精诚服务,推动煤矿信息化建设”定为企业发展宗旨。随着公司的不断发展,逐步进入发展阶段,2004年8月,公司将研发、服务迁至山东煤矿安全监察局大楼,同时公司被国家局通讯信息中心授权为华东技术服务中心。2004年至2006年,不到三年的时间,在领导关心和省内各煤炭企业的支持下,公司有了长足的发展。山东的煤炭企业管理、安全建设、信息化建设都远远地走在了全国各省的前列,精诚生在山东,成长在山东,是依托山东煤炭行业技术和管理经验发展起来的,为了公司自身的发展,同时也是要把山东的经验推广到全国去,2006年5月在北京成立商务中心,开始了全国市场的拓展。此时,公司将目标定为,“将公司建设成中国煤炭行业安全信息化首选合作伙伴”。
         经过四、五年的发展,精诚靠质量、靠服务,在全国煤炭行业赢得了一大批的朋友,逐步向国内煤炭行业信息化名牌企业迈近。2008年山东精诚电子科技有限公司成立后,公司成为山东省重点扶持上市的百家软件企业之一。
         公司是山东煤炭学会技术支持单位,山东煤炭学会为了充分利用信息化的手段为广大会员企业服务,建设了山东煤炭学会网站,公司也是专门购买了专用服务器,并挂在省级的节点上,为了增加网站科技论文及信息的容量,及时完善网站,公司从2008年7月份抽专人进行维护,目前“山东煤炭科技”杂志的2008年份基本电子化,广大会员单位及个人可以免费网上浏览,希望各位领导、专家关注http://www.sdcoal.org.cn,并提出宝贵意见。
         
         2007年初至今,在近几年对国内大中小煤矿服务经验的基础上,紧跟现代工业化信息发展趋势,着手开发了煤炭信息化平台和E-MINES的信息服务平台,在原有产品得到行业管理机构和广大煤矿企业认可的基础上,往平台上转移,从而通过信息平台,将煤矿企业、行业管理和技术服务机构连接起来,不断开发和推广平台化的煤矿企业管理框架,最终形成企业往“立足煤炭行业的服务、咨询和传媒增值服务”转化。公司的经营业绩目标是能够在公司成立十周年的时候,在创业版上市。
        煤矿安全生产信息包含很多专用系统的数据,比如各种安全监控、地理信息数据、生产技术、人力资源信息、生产调度信息等,如何将这些信息有机地结合起来,并能够重复利用,获得更多的管理和决策信息?精诚煤矿信息平台就是在此出发点上规划设计的。
        在此首先对精诚煤矿信息化平台建设涉及到的一些技术要点给各位专家领导汇报一下。
        ● 基于CAB技术的智能客户端。
        自从微软公司.NET战略推出以来,智能客户端作为一个新的概念也逐渐厂为人知。越来越多的人发现:在.NET框架下,B/S(Browser/Server,浏览器/服务器,也被称为瘦客户端)架构虽然得到了很好的支持,但是对于不断出现的新的需求,依旧有心无力,许多事情仍需要回归到C/S(Client/Server,客户端/服务器,也被称为胖客户端)架构,于是有人提出了“回归胖客户端”。
        面对当前B/S架构的种种问题,软件业提出了一些新的架构作为解决方案,现在的应用在技术架构经历了从大型机到C/S,然后再到B/S的发展历程之后,经过探刻的反思,摈弃了各个阶段不同软件架构的缺点,具有更加丰富的表现力又契合开发、应用和维护需要的新型技术架构应运而生了。智能客户端正是这样的技术架构的典型代表。可以预见的是,在未来的几年内,智能客户端将成为应用开发的主流架构。

 

    上图展示了B/S、C/S和Smart Client之间的特点关系,我们说的智能客户端(Smart Client)是一个连接到互联网的设备,它允许用户的本地应用程序通过web服务(Web Service)和服务器应用程序交互,从而将胖客户端应用程序和瘦客户端应用程序的优点很好地结台在一起。 
                                                                                      

 


         上图展示的是CAB(Composite UI Application Block组合界面应用程序)的Model-View-Presenter (MVP)模型。
        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为灵活构建客户端应用程序提供了一个的基础框架。有点基本上可以概括为:
        1:允许构建由各个具有协作关系的独立模块组合成的复杂应用。
        2:分离关注点,能将各个模块的开发的关注点和Shell的开发分离开来。

        3:提供了一个能支持高质量的桌面应用开发的框架。
●     Click Once 部署
        信息系统的部署是信息维护的部门最关心的问题之一,使用部门关心的核心问题是能否达到业务需求,而我们关心的是一个易于部署和实用的系统。所谓Click Once 就是一个网络发布安装、自动版本识别安装更新的信息系统部署技术。
        对于企业里的用户,一台客户端电脑可能由不同的几个用户来使用。当一个用户用自己的用户名登录操作系统,并通过浏览器请求安装系统,安装服务器会自动将应用程序客户端安装到客户计算机上。当另外一个用户也用自己的用户名登录操作系统,并通过浏览器请求安装系统,安装服务器也会自动将应用程序客户端安装到客户计算机上。但是,这是两个不同的拷贝,保持两个客户端环境的独立性,一个用户的卸载并不影响另外一个用户的使用。
        当有新的系统版本发布的时候,我们信息系统维护人员只需将新版本的系统部署到安装服务器上,当某个用户在客户端启动应用程序的时候,应用程序将在运行之前自动识别安装服务器上有没有新的版本,当有新的版本的时候,系统会自动在后台安装,当系统启动的时候,用户使用的就是新的版本。Click Once 既保持了版本的多样性又使系统维护量降到了最低,这是传统的C/S和B/S架构都做不到的。
●     Windows Communication
       Foundation (WCF) Window 通讯基础
       WCF是建立在XML(扩展标记语言)基础上的以消息和元数据为形式的通讯架构,为 
Internet和Intranet网络通讯提供了基于安全、 可靠消息和事务处理的通讯架构,它与Web Service一起可以构建安全灵活的SOA架构系统。
WCF提供了对可靠性、事务性、并发管理、安全性以及实例激活等技术的有力支持,它们均依赖于基于拦截机制的WCF体系架构(WCF Architecture)。通过代理与客户端的交互,意味着WCF总是处于服务与客户端之间,拦截所有的调用,执行调用前和调用后的处理。当代理将调用栈帧(Stack Frame)序列化到消息中,并将消息通过通道链向下传递时,WCF就开始执行拦截。通道相当于一个拦截器,目的在于执行一个特定的任务。每个客户端通道都会执行消息的调用前处理。例如,一个通道对消息编码(二进制格式、文本格式或者MTOM),另一个通道传递安全的调用上下文;还有一个通道传播客户端的事务,一个通道管理可靠会话,另一个通道对消息正文(Message Body)加密(如果进行了配置),诸如此类。客户端的最后一个通道是传输通道,根据配置的传输方式发送消息给宿主。
在宿主端,消息同样通过通道链进行传输,它会对消息执行宿主端的调用前处理。宿主端的第一个通道是传输通道,接收传输过来的消息。随后的通道执行不同的任务,例如消息正文的解密、消息的解码、参与传播事务、设置安全准则、管理会话、激活服务实例。宿主端的最后一个通道负责将消息传递给分发器(Dispatcher)。分发器将消息转换到一个栈帧,并调用服务实例。
●     Service Oriented Application(SOA)面向服务应用程序
      SOA(Service Oriented Application,面向服务应用程序),是软件工程最近发展成熟起来的,作为应对面向对象以及面向组件缺陷的解决方案提出。
在面向服务的应用程序中,开发者只需要关注于业务逻辑的编写,以及通过可交换的、可互操作的服务终结点暴露业务逻辑。客户端调用这些终结点,而不是服务代码或者它的实现包。客户端与服务终结点的交互基于标准的消息交换,服务发布各种标准元数据,描述服务的功能,以及客户端调用服务操作的方式。
                                      

                   
上图简单概括了一个SOA应用程序结构,有助于我们了解SOA架构下的网络信息共享。一个面向服务应用程序只是简单地将服务组合到一个单一逻辑的、整体的应用程序中,这类似于聚合了对象的面向对象应用程序。
     应用程序自身可以将组合服务公开为新的服务,就好像一个对象可以由多个小的对象组成一样。 
     应用程序中的不同服务全部可以放到相同的位置上,或者分布放到局域网或互联网上。它们也可以来自于多个开发商,使用各种不同的技术与平台进行开发,版本独立,甚至执行在不同的时区。所有的这些公共基础功能特性对于在应用程序中与服务交互的客户端而言,都是隐藏的。客户端发送标准消息到服务,两端的公共基础功能通过消息以及与平台无关的传输型表示形式进行转换,并对客户端与服务之间存在的区别实现封送。
     现有煤矿安全监控系统是煤矿以往安全生产信息化的结晶,将这些系统整合起来,打破部门和应用环境的限制,更大限度地为煤矿安全生产管理服务,需要通过建立安全生产信息化平台整合起来。


                                          
     具体的方法和思路是,像上图展示,在现有系统的基础上,根据煤矿具体的应用实际建立相应的系统数据接口,然后将这些接口按照SOA架构的要求封装并发布为一个个的服务,利用CAB技术构建信息平台下运行的组合客户端,访问所需要的服务,通过平台级数据字典的对应,做到数据和用户界面的整合。
●     煤矿信息化SOA实施路线图
实施SOA架构的信息化改造是未来工业信息化的趋势,煤矿也要结合自身的特点建立自己的SOA实施线路图。本人结合其他行业和煤矿目前信息化现状,提出煤矿信息化SOA实施线路图,请各位领导、专家斧正!
    SOA从切入点到整体架构可以分三个阶段走:第一阶段寻找与业务相关的切入点;第二阶段是强调整合,建立集成的平台,更快更好地解决应用集成的问题;第三阶段是建立支持敏捷业务的SOA管控平台,使得企业的业务服务可以大范围重用,SOA进入业务管控阶段。
     具体而言,在第一阶段,企业要做的是寻找与业务相关的SOA切入点。这个切入点既可以从跨系统的流程开始,也可以从门户整合开始,将企业原有不同的门户整合成一个统一的门户;还可以从数据服务入手,使分散在不同位置的数据能被调用和监管;还有点对点的集成等。需要强调的是,这种以切入点开始的SOA项目,一般不需要在项目开始时就需要做整体的规划。这样的好处是容易导入SOA,快速见效,建立信心。
     第二个阶段是基于SOA建立集成平台。在这个阶段,企业需要建立一个基于标准的综合应用集成平台。
     第三个阶段是建立支持敏捷业务的SOA平台。这是理想的SOA,可重用的SOA。在这个阶段,业务组件已经完全服务化,同时建立完整的服务的管理和控制系统。
 建立完整的服务的管理和控制系统。
●     SOA架构煤矿信息平台客户端
     精诚煤矿信息化平台是基于SOA架构的客户端,是基于SOA架构的信息化应用系统的客户端平台展示基础,采用CAB(组合界面应用程序)技术和Click Once部署技术构建的智能客户端。
其特点可以归纳为以下几点:
1、基于消息驱动的平台引擎
2、基于角色的任务管理
3、自定义的流程驱动引擎
4、身份识别的组合界面设计
5、可注册的第三方软件系统管理
6、偶尔连接的数据支持
7、智能安装和更新
8、用户开发接口
●     CMM Framework 与信息平台
CMM Framework(精诚煤矿管理框架),是根据煤矿安全管理、生产技术、运营管理的特点,分解成一个个业务点,通过Web Service、Windows Service以及WCF封装成的符合SOA架构特点的一系列SOA服务组件(中间件)。
通过平台标准制定的业务逻辑接口,在平台上组合成适应于煤矿实际的各信息化应用。
 CMM Framework开发是一个长期的过程,需要大专院校、煤炭企业、煤炭行业管理机构、精诚公司多方的配合和努力,希望领导、专家和朋友们今后多支持我们的工作。
 

 
 
山东精诚电子科技有限公司  地址:山东省济南市堤口路141号山东煤矿安全监察局1208室 北京商务中心:北京市朝阳区和平街西苑14号 
公司总部电话:0531-85685878  传真:0531-85685871  商务电话:010-64264162 
邮编:250031  技术服务电话:0531-85697681  传真:010-64248981  邮编:100013
 鲁ICP备05034379号