基于SaaS的城市公共安全管理系统|城市公共安全管理

  摘要: 在分析研究SaaS模式基本理论、面向服务软件系统架构以及XML和Web Service技术的基础上,利用分层设计的系统架构模式,给出了SaaS在城市公共安全管理系统中的应用架构。利用SaaS模式构建该系统的平台,可实现系统功能的按需配置,单点登录,统一认证,完成资源整合。
  关键词: 公共安全管理;软件即服务模式;分层系统架构
  中图分类号:TP315文献标识码:A文章编号:1006-4311(2012)08-0138-02
  0 引言 城市是人们工作、生活高度集中的场所,同时也是各类机构、企业、公司的聚集地,是社会与经济发展的主要动力。城市的公共安全关系重大,而目前正面临着严峻的挑战。城市公共安全管理系统集自然灾害应急预案系统、突发公共安全事件应急指挥系统、基于地理信息的公共安全监控系统于一体,为城市的公共安全提供充分的保障。SaaS(Software as a Service软件即服务)模式是一种新型的软件提供方式,它将软件的买断模式转变为租用模式,实际上采用的是面向服务的软件架构体系,而城市公共安全管理系统的特点是多系统集成,分布式应用,利用SaaS模式,结合分层系统架构和MVC设计理念,在实现系统各项功能的同时,提高系统的灵活性,增强系统的扩展能力。 1 关键技术分析 构建基于SaaS的城市公共安全管理系统,主要用到SaaS模式技术、面向服务架构技术、Web Service技术等。 1.1 SaaS模式 SaaS模式改变了传统的软件开发思路,将应用软件部署在互联网的服务器上,由用户根据自己的需求调用软件提供的功能,然后以所购服务的数量与使用时间的多少来支付相应的费用,而软件服务的供应商则通过网络实现软件的升级以及向用户提供售后服务。软件的供应商也为用户提供离线操作服务和本地数据存储服务,使用户可以随时随地使用软件功能[1]。 SaaS模式是以互联网为基础,在软件的技术层面与运营层面都有其鲜明的特点。一方面,充分利用了目前网络迅猛发展带来的便利,改变传统的软件开发与部署方式,用户所付的是软件的服务费用,而不是版权费用;另一方面,部署于网络服务器上的软件系统同时为多个不同的用户提供服务,这就要求SaaS模式下的软件比传统的单机软件更注重对不同用户之间数据与配置信息的隔离,从而保证数据的安全性与保密性,同时,不同的用户有不同的界面、业务逻辑以及数据结构等,SaaS模式也应支持用户对这些内容的个性化定制,这就对SaaS模式支撑平台的功能与性能提出了更高的要求。 1.2 面向服务架构 面向服务的体系架构(Service-Oriented Architecture,SOA)本质上是一个组件模型,它将一个应用程序按照一定的粒度分割为几个不同的功能单元,这些单元也被称为服务,同时定义了这些服务之间的接口和协议,并通过这些接口和协议将不同的服务组合联系起来,共同提供用户所需要的功能[2]。 SOA的出现是为了解决在网络的环境下,各业务模块对集成的要求,它可以通过接口和协议,将不同功能,甚至不同物理位置的服务模块组合起来,完成特定功能的一种软件系统架构。它有两个需要注意的地方,一是SOA是一种软件系统架构,它需要靠其他的语言来实现,如C#、Java等,在特定的业务模型下,SOA系统架构可以灵活配置业务服务模块,实现特定的功能;二是SOA的适用范围,对于SOA来说,它最主要的应用场合在于解决网络环境下的业务的集成问题。 1.3 WebService技术和XML规范 Web Service是一种新的Web应用程序分支,他们是自包含、自描述、模块化的应用,可以发布、定位、通过Web调用。Web Service的主要作用是提供实现业务逻辑的功能,包括各种对数据库的操作,可以说所有与业务模型有关的操作都是通过建立Web Service服务来实现的。Web Service技术是当前的发展趋势,因为它体现了软件即为服务的理论,可以说,Web Service技术是未来系统开发的主流技术[3]。 XML称为可扩展标记语言,它是一种标准通用标记语言,目前的应用越来越广泛,因为它是一种在网络环境中跨平台、依赖于内容的技术,所以经常被用于处理结构化文档、存储数据、进行信息传递等方面[4]。 2 城市公共安全管理系统需求分析 构建城市公共安全管理系统的目的在于将多个不同领域与应用对象的公共安全处理系统集成到同一个平台,实现联动处理机制,共同为维护城市的公共安全服务。根据具体的应用要求,系统应具备以下功能。 2.1 针对自然灾害实现紧急预案执行功能 当发生地震、洪水、台风等重大自然灾害时,系统应能够及时启动急需预案,按照预案的部署,调动公安、武警、部队、医院等各个方面的力量,协调指挥各部门及人员,按照应急预案的内容执行抢险救灾工作。相关的信息应及时反馈到公共安全管理系统中,供总指挥决策与部署下一步工作。 2.2 针对重大公共安全事件的处理功能 当发生重大恐怖袭击事件时,系统应能够及时掌握现场的第一手资料,包括影像、具体位置、人员伤亡情况等,能够通过系统指挥警察、消防人员、医生等协同工作,力争将损失降至最低。 2.3 针对日常治安的公共安全监控功能 当发生社会治安案件时,系统应具备连通110报警系统的功能,及时将案件发生的地点标注到地理信息系统中,再根据职责区域的划分以及就近处理的原则,直接指挥警察等人员前往案发地点,提高工作效率。同时,系统就能够对关键地区进行24小时实时监控,并能够将监控资料保存到数据库中。 由以上对城市公共安全管理系统的需求讨论可以看出,这三大功能需求虽然相对独立,但有很多功能是重复的,例如,三个功能都是以地理信息系统为基础,都需要用到通信系统实现指令的上传下达,而这些功能都可能通过面向服务的软件架构技术,利用SaaS模式实现。 3 城市公共安全管理系统架构设计 根据系统需求分析的结果,系统的总体架构采用分层的架构方式,具体分为六层,分别为用户界面层、系统应用层、业务逻辑服务层、服务构件层、基础构件层、数据访问层,具体的逻辑架构视图如图1所示。 如图所示,城市公共安全管理系统的逻辑架构有六个层次。不同的层次提供的功能模块和服务不同,软件单元的粒度也不同。原则上,上层的软件元素调用下层的软件元素,一般不能隔层调用。从总体看,层次越高,越接近于用户,层次越低,与底层数据与应用组件结合得越紧密。 用户界面层主要提供了与用户的接口。在该层实现接收用户的输入信息,并将系统的信息展现给用户,该层是应用系统层的集成界面。由于城市公共安全管理系统包括了多个子系统,因此系统应按需为用户提供不同的界面显示。 应用系统层主要是根据需求分析确定的不同的功能应用模块来设计的。每一个模块完成一个相对独立的系统功能应用。应用系统层提供给用户的是系统的实用功能,用户通过这些模块实现某些操作,获取操作的结果。 业务逻辑服务层主要是完成为应用系统层中各功能模块提供相关功能服务的工作。应用系统层中的分系统是由一个或者多个功能单元构成的,如要完成公共安全监控系统的所有功能,需要调用单点登录服务、用户认证服务、地理信息服务、数据库管理服务、视频监控服务等,而这些服务模块又可以被其他分系统复用,通过组装不同的服务可以实现应用系统层中各分系统的功能。 服务构件层。业务逻辑服务层提供的服务模块功能的实现需要多个不同的更小粒度的组件来协同完成,而服务构件层就是这些小粒度组件的集合。该层的服务构件完成的功能较单一,但复用性更好。选取适合的服务构件,加上特定于某种应用的业务逻辑,即可实现上层中业务逻辑服务的功能。 基础构件层是系统开发环境为互动新闻系统提供的开发与运行组件环境支持。系统的开发是基于微软公司的。NET FrameWork开发平台,通过调用平台提供的各类库函数以及相关的组件实现系统功能。此外,Windows操作系统本身提供的应用程序接口(API)也是一些功能实现过程中需要调用的。 数据访问层主要是处理系统所有与数据库相关的功能与业务逻辑操作。数据库的形式除了包括传统的关系数据库外,还有基于XML文件的轻量文件数据库,用于保存一些结构化形式的配置信息等内容。系统中的上层软件单元可通过调用数据访问层的相关组件与函数功能,实现对数据库的操作与控制。 4 总结 SaaS模式主要是基于面向服务的软件架构技术,为用户提供灵活可配置的软件服务,增强系统的灵活性和可扩展性。在城市公共安全管理系统中应用SaaS模式,可以将原本相互独立的各子系统集成到统一的框架下协同工作,并为以后功能的扩展打下基础。 参考文献: [1]Wei Sun, Kuo Zhang, Shyh-Kwei Chen, et al. Software as a Serivce: An integration perspective. In: Proceedings of the 5th international conference on Service-Oriented Computing. Germany: SPRINGER-VERLAG, 2007,558-569. [2]HICSS. Service-Oriented Architecture Adoption Patterns. In:Proceedings of the 42nd Hawaii International Conference on System Sciences. System Sciences. Hawaii: System Sciences, 2009, 1-9. [3]王安全.SaaS模式下大数据量统计框架的研究和实现[J].计算技术与自动化,2009.02. [4]高怡新编著.XML基础教程[M].北京:人民邮电出版社,2006:184-190.

推荐访问:管理系统 公共安全 城市 SaaS