基于J2ME的防汛信息系统的研究
一、 引言
在雨季,汛情瞬息万变,防汛管理与决策对时效性要求非常高。如果防汛人员不能及时掌握最新的防汛信息,将会给防汛工作带来极大的困难,甚至灾难性的后果。因此,非常有必要建立完善的防汛信息系统。但是防汛工作往往覆盖地域广大,涉及人员众多,而且工作环境复杂,这都会影响信息及时准确的传达。移动通信覆盖范围广,具有三A(任何时间、任何地点、任何方式)的特点,正好可以满足防汛工作的需要。手机上网主要通过两种方式:WAP和J2ME。WAP只能访问使用WML语言编写的网页,功能受到很多限制;J2ME可以和J2EE无缝结合,并且J2ME程序界面友好,输入输出方便,安全性高。所以本文采用J2ME和J2EE技术,开发了一套防汛信息系统来提高防汛工作的效率。
二、J2ME
J2ME是Sun公司专门为开发小型的资源受限的消费性电子设备的应用程序所提供的Java版本,被广泛应用于手机、PDA和电视机顶盒等小型资源受限设备。J2ME实际上是一系列规范的集合(JSR)。因为所涉及到的设备在硬件配置和性能上千差万别,为了方便应用程序的开发,J2ME体系结构采用模块化、可扩展的设计,主要包括了4层:主机操作系统、配置、简表和厂商可选包。不同层次的规范相互协作来提供一个完整的移动Java平台。
J2ME的优点包括:
(1) 编写一次,到处运行。J2ME程序具有良好的跨平台性和可移植性。
(2)与J2EE无缝结合。
(3)良好的安全性
J2EE是一种利用Java平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构,它规范了分布式体系的应用开发。J2EE也采用了分层结构,典型的J2EE结构的应用程序包括四层:客户层、表示逻辑层(Web层)、业务逻辑层和企业信息系统层。每一层上定义了相应的组件和容器。各层相互独立,通过标准的JavaAPI来调用和传递参数。J2EE作为一个广泛而通用的标准,大大简化了应用开发和移植的过程。
三、防汛信息系统
本系统采用WebLogic做为应用服务器,数据库管理系统为MS Sqlserver2000。整个系统主要包括四个模块:用户登录模块、水情查询模块、天气查询模块、用户定制模块。
(1)用户登录模块
该模块实现用户身份验证功能,只有合法用户才能登陆系统来获得数据信息。手机每次上网的IP地址都是动态分配的,用户在登录时会向数据库中写入本次登录的IP地址,用于用户定制模块中服务器通过Socket主动向客户端发送信息。
(2)水情更新和查询模块
这个模块是是防汛信息系统的重点。只有保持各水文测站数据的实时更新并保证数据的准确可靠,才能保证防汛工作的正常进行。通过手机登录系统后,各水文测站可以更新数据,其它用户可以查询各水文测站当前的和历史的水情数据。因为考虑到手机输入数据比较困难,服务器还应该提供通过Web方式网上更新数据的功能。
(3)天气更新和查询模块
天气情况也是防汛工作要考虑的一个重要因素。用户可以通过手机查询各主要城市的天气预报及历史同期天气,以便对天气情况做出正确的判断。
(4)用户定制模块
在汛期,水情瞬息万变,防汛信息系统应该具有在出现紧急情况的时候能够主动通知相关责任人的功能。用户定制模块可以让用户根据自己情况定制所需的信息,系统会在定制信息出现的时候自动向用户手机发送信息来提醒用户及时处理。
客户端和服务器端的连接如图2所示:
在本系统中,客户端和服务器之间主要通过HTTP协议进行通信,工作流程如下:
(1) 用户启动手机上的MIDlet进入登录界面,输入用户名和密码进行登录。MIDlet用Connector类的open方法建立一个到服务器端的连接,并把这个连接强制转换成为HttpConnection类型。
(2) 客户端用HttpConnection类的openInputStream方法和openOutputStream方法来返回输入输出流并通过它们来发送请求和接收响应信息。
(3) 服务器端接收到客户端的连接请求后,把它封装成一个HttpServletRequest对象,调用相应的Servlet,通过EJB或JavaBean访问数据库,并把处理结果返回客户端的MIDlet。
(4) 客户端MIDlet使用输入流接收服务器端返回的结果,根据返回的是”station”(测站)、”person”(普通用户)还是”none”(无此用户)而在屏幕上呈现不同的界面。
(5) 登录成功后,MIDlet重新建立HttpConnection来进行数据更新或查询操作。
四、技术难点和解决方案
4.1 用户定制信息的接收
用户定制的信息有两种发送的方式:
(1)定时发送。用于把用户定制的日常信息每天定时发送给用户。
(2)紧急发送。当出现紧急汛情时即时把信息发送到相关的责任人。
在客户端,对相关信息
- 基于DSP的音频会议信号合成算法研究(05-10)
- 基于定点DSP的MP3间频编码算法研究(07-04)
- DSP的并联电力有源滤波器的仿真研究(02-15)
- PCI总线数据采集系统的硬件研究(09-12)
- PIC单片机在温度测量领域的应用及仿真研究(11-23)
- 嵌入式软PLC 的设计与研究(06-27)