基于SOA架构三防应急指挥系统的设计
2016-05-14胡晓东郑晓曦
胡晓东 郑晓曦
摘要:水利工作信息化的过程中,载有海量异构化数据的各种监控系统要被有效地融于“一体化、集成化”的信息管理系统,有利于增加系统内部的联动性、提高三防的技术水平。通过引用面向服务架构理念,采用Web服务技术,将不同应用功能以服务形式出现的业务逻辑可以被共享、重用和配置,对异构的系统进行系统集成。
关键词:面向服务 Web服务 系统集成
中图分类号:TP316 文献标识码:A 文章编号:1007-9416(2016)05-0000-00
1 引言
水利是国民经济的重要命脉,对国家的经济建设及社会发展与稳定起着举足轻重的作用,在水利工作信息化的过程中,载有海量异构化数据的各种监控系统要被有效地融于“一体化、集成化”的信息管理系统,有利于增加系统内部的联动性、提高三防的技术水平。其中视频监控平台、水文数据监控平台、图像分析与识别平台等各种监控系统能提供实时、准确的现场水情、雨情、工情、灾情以及救灾部署等情况,各种数据采集设备自成一体,提供的信息只能在终端设备上独立使用,形成信息孤岛。同时,也形成了各种异构系统。因此,要将视频监控、影像调用、水文数据采集等与实时报警、远程会商、实时指挥有机结合,实现集成数据接收服务及智能报警服务,达到三防应急指挥、部署的目的,必将面临异构系统集成和多元数据集成的困难。为解决这一困难,该课题试图引入面向服务架构SOA的概念,结合Web服务技术规范,建立一种新型系统架构设计实现三防应急指挥系统。
2 SOA架构相关理论及技术
2.1 SOA概述
软件工程发展中,面向对象语言将函数与其操作的数据封装到对象里。应用程序会依赖于它实用的语言。你不能让Java编写的客户端来重C++的类或者继承它。面向对象忽略了很多现实的问题,比如部署和版本的问题。序列化和持久化则是存在的另外一系列问题。面向组件提供了可交换的和互操作的二进制组件。客户端和服务可以共享一套二进制类型系统(如IDL)以及表示二进制组件的元数据格式。然而普通应用程序,开发和调试的大部分时间都发费在并发管理,事务,安全技术问题上,而不是业务逻辑和特征上。大部分组件都是专有的,很难重用或者迁移。
现代软件工程就是对低耦合的不断追求。耦合虽然不好,但是不可避免。在面向服务的应用程序中,开发人员只要关注于编写业务逻辑,以及通过可交换的、可互操作的服务终点公开逻辑。客户端调用这些终结点,而不是服务代码或它的打包。客户端与服务端终结点之间的交换是基于标准的消息,而服务会发布一些描述自己功能的信息、自己能做什么、客户端如何调用服务等。
2.2 Web服务与SOA
Web Services可以建立分布式应用程序的平台,同时也是一套符合W3C标准,能够编写低耦合的,自包含的、基于可编程的WEB的应用程序。它向外界暴露出可以调用的API接口,而其他的应用程序可以远程调用这个接口。Web 服务技术组件主要包括HTTP、 XML、 SOAP、 WSDL 和UDDI等五种。依据Web Service规范实施的应用程序之间,无论它们所采用的编程语言、平台或内部协议是什么, 都可以相互交换数据。WebService是一种比较好的SOA实现,但是SOA和WebService之间是有本质的区别。SOA是一个体系架构,强调系统的逻辑层面的设计,而WebService则是一种具体实现规范,属于技术层面的内容。
3 基于SOA架构三防应急指挥系统设计
3.1 三防指挥系统的需要分析
三防指挥系统平台是三防指挥决策支持系统的核心。它在数据采集、通信、计算机网络系统的支持下运转,集中体现对三防指挥决策过程的支持。
3.2 三防指挥系统架构设计
本系统是借助 SOA 架构设计一个三防应急指挥系统,实现水利工程中视频监控,水文数据监控,图像识别,短信报警等功能,对各个系统业务进行整合。目的是为了构建一个统一、开放、透明的信息平台,既能满足潮涟水利所基本的应急指挥业务需求,又能为政府后续发展壮大提供一系列可重用、便于管理、可持续发展的业务服务。面向服务的架构在实施过程中需要遵循松耦合、可重用、实用性、标准化等原则。
向服务架构开发模式,很好的解决了以上难题,实现了业务服务的最大共享。
3.3 系统服务设计
在三防应急指挥系统的架构中,服务建模设计尤为重要。其中服务建模遵循的原则:可发现性、可复用性、自治性。可发现性要求要求系统不仅在请求服务时能够快速地匹配目标请求,而且能够发现任何类型的业务功能服务。可复用性原则是指各逻辑无关的服务组件是否具有可复用性。自治性体现在系统中必须有独立的组件来实现每一个不同的业务功能。根据业务需求设计服务组件,列出主要的服务组件及其详细设计,不同服务组件按照业务进行划分,使用Web服务技术实现服务业务逻辑功能,其中视频监控服务组件,利用海康威视提供的SDK,用WebService对其中需要的功能进行封装;水文数据服务组件,主要是对水文数据的添加,查询,修改,删除等操作,针对数据库操作;图像识别服务组件,原有的系统利用OPenCV图像处理技术,结合MFC框架做系统,使用Web服务封装时,需要将其页面和业务逻辑进行分离,分离出业务逻辑,用C#语言中EmguCV图像处理技术重新封装;短信报警服务,利用短信猫提供的SDK,用Web服务进行封装。系统其他的服务组件基本都是对数据的增加,查询等操作,直接用Web服务标准,结合数据库操作技术,进行组件封装就可以完成。
4 结语
在该方案中,基于SOA 架构的三防应急指挥系统,将这种业务即服务的理念运用系统集成,将水利监控的各个独立子系统进行服务封装,为系统集成带来极大便利。SOA架构系统,这种新兴分布式计算架构模式,它能够有效解决软件重用,系统业务扩展的需求等问题,开发的系统有较强的灵活性,服务模块也有很强的互操作性,相信SOA架系统开发很好的应用前景。
参考文献
[1]余杨.基于SOA架构的校园网应用系统集成设计与分析[J].信息与电脑,2011.11:125-126.
[2]蔡文华.面向服务的软件体系结构可信演化及实现[D].东华理工大学,2015.6:14-19.