Welcome

首页 / 软件开发 / Flex / 基于Flex的服刑人员监控系统的研究与实现

基于Flex的服刑人员监控系统的研究与实现2010-06-21庄里 朱宏 王伟涛1 引言

在监狱中,服刑人员在监狱里的自由活动或者在组织服刑人员外出劳作的过程中,如果缺乏高效的监管措施,很容易给服刑人员以可趁之机,逃出监管范围。为了能有效地对在押服刑人员进行跟踪,提高监控效率,智能人员监控系统应运而生。通过让服刑人员佩戴特制副机,监管人员使用手持式阅读器读取副机发送的信号,从而能监测副机目前的活动状态,并直接或者通过中继站与主控机站通信,监控系统获取信息并处理数据后及时反馈给监管人员。系统有效地降低了监管人员的工作强度并提高了监管效率。

传统的BS架构的监控系统客户端处理数据的能力并不强,对服务器端的依赖很大,而实时监控需要在客户端与服务器之间频繁传递数据,并且服务器同时也要把显示的页面传回给客户端,这将增大服务器的负担。针对此问题系统以Flex作为表现层,不仅提高了客户端处理数据、展示数据的能力,同时服务器端与客户端传递的只有数据而没有传统的页面,界面的布局变化完全由客户端执行处理。

Flex平台采用面向对象编程语言ActionScript3,不同于现在流行的浏览器编程语言JavaScript,ActionScript3更为强大,事实上,从语法结构上它更像C#和Java[1] 。因此基于Flex开发的RIA应用程序能够创建灵活而强大的业务逻辑。传统基于Web的应用程序的大部分业务逻辑都依赖于服务器端的强类型语言,如Java,C#,而基于Flex的Web应用程序可以将相关业务逻辑转移至客户端处理,极大地减轻了服务器的负担。Flex界面设计和布局采用MXML,MXML是基于XML的声明式标签语言,能方便快速的构建自己的界面布局和界面行为方式,同时能够将数据绑定到相关的MXML控件上,如果数据内容发生变化将动态的更新于界面,无需任何页面刷新的动作。

ActionScript3拥有内建的支持E4X(ECMAScript for XML)的XML操作类,因此在客户端程序里面能够更简单、更灵活有效的处理XML数据。通过E4X,我们处理XML数据的速度将更快于其它客户端编程语言,如Javascript。另外,对XML强大的支持也让客户端和服务器端的交互更为直接和快速。

Flex提供了三种与服务器交互的数据访问组件,分别是HTTP(REST-style)服务,WebService和RemoteObject,可根据服务器的不同技术应用使用不同的访问组件,灵活而强大。

2 系统结构

本文采用Flex框架作为表现层和数据交互引擎,充分利用其客户端运算能力和客户端缓存能力,从而减轻了服务器的负担,减少了响应时间和传递的数据量。在此基础上构建了一个B/S结构的服刑人员监控系统。图1描述了系统的体系结构。系统采用了表现层、业务逻辑层、数据层和串口通信层的体系结构,层与层之间实现了松散耦合。

图1 系统结构