基于J2ME的嵌入式移动数据库应用系统设计
1. 引言
随着移动设备的普及和移动通信技术的进步,人们对移动数据处理和管理需求的不断提高。与各种无线设备紧密结合的移动数据库技术已经得到了广泛应用。嵌入式移动数据库因其具有任何时间,任何地点的自由访问等特点,因而随着移动终端的普及,嵌入式移动数据库应用逐渐成为数据库应用的一个主要应用方向。因此本文在基于B/S结构的应用系统的基础上,采用J2ME设计开发了一种应用于RDGSM的嵌入式移动数据库系统。
2.基于J2ME的嵌入式移动数据库系统设计
2.1总体设计
在嵌入式移动数据库应用中J2ME(Java 2 平台微型版)是支持智能移动客户端的完美平台,整合了移动关系数据库的J2ME客户端能够管理在设备上的复杂数据并能在需要时和后台服务器同步。而 J2EE(Java 2 平台企业版版)以其可扩展性,灵活性已经成为服务端事实上的开发标准。J2ME与J2EE的结合使建设一个无线接入网络成为可能,任何时间,任何地点的自由访问不仅方便了用户的自由使用,提高客户服务水平,而且降低了运行成本。图1为J2ME与J2EE结合实现移动数据应用的原理图,J2ME手机客户端通过无线网络发送请求,J2EE服务器根据请求类型从数据库提取信息,并返回到J2ME客户端,用户就像随身带着一个数据库一样。
图1:嵌入式移动数据通信原理图
客户端通过J2ME的Midlet程序访问网络,向服务器发送服务请求,服务器接收到请求以后,则通过相关的servlet程序对数据库作出相应的查询和操作(如插入和删除记录),并且返回相关信息到手机客户端。在客户端设计中,需要解决的关键主要包括网络连接和信息的安全。
J2EE为企业开发提供了丰富的技术组件。EJB(Enterprise Java Bean)封装业务逻辑,并将它们应用于后端的企业信息系统,JSP,Servlet提供Web层与用户的信息交流,协调用户和EJB之间的交互。这些组件相互关联构成了服务端J2EE的应用。在设计中要解决的关键问题有数据库连接池和数据同步。
HTTP协议在MIDP框架和J2EE平台搭建了传输的桥梁。Servlet通过HTTP建立起与客户端基于主求与回应的动态模式。MIDP支持 HTTP1.1,使用GET和POST与网络层进行通信,产生HTTP报头和数据。为了使报文清晰,在HTTP请求是应包含content-type属性,某些网关不接收未定义或非标准content-type的报文。无线传输的大量时间耗时在连接的建立过程中,所以客户端设计应避免频繁的发送消息,将需要发送的消息积累起来,减少发送的次数将极大提高客户端的运行效率。JAVA提供了许多内置的联网功能,使开发基于互联网和Web的应用程序变得容易,JAVA可以指定多线程的并行执行,可以使程序在全球范围摸索信息,还可以与计算机上运行的程序相互协作。J2ME将移动设备上的客户应用与后台服务环境完美结合起来,基于J2ME+J2EE的移动数据解决方案将JAVA技术的可移植性,可扩展性,易于编程充分体现在移动数据库的的应用中。
2.3 数据库连接池
在多用户数据库情况下,用户创建一个新的数据库连接所消耗的时间主要取决于网络的速度以及应用程序和数据库服务器的网络距离,而且这个过程通常是一个很消耗时间的过程。采用数据库连接池技术连接数据库可以显著的改善接入数据库的速度和访问质量。
2.4 传输数据序列化
客户端与服务器需要交互的信息很多,但是通过HTTP方式与服务器进行网络传输,只能传输地二进制数据。所以需要把二进制数据序列化。数据序列化就是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,就使得数据能够被轻松地存储和传输。既然移动数据系统要客户端与服务器端交换不同类型和格式的数据,所以最好把这些信息按照集合划分,编写成为序列化格式的类,这样可以避免数据同步传输时客户端和服务器端处理数据的时候格式不统一而带来的问题。本系统共有3个类分别序列化项目信息,采样信息,用户信息等。
2.5 数据同步
移动数据库也属于分布式数据库,为保证其数据一致性,RDGSM移动数据库也需要进行数据同步,这里使用的是SQL Server Mobile 复制。SQL Server Mobile 复制基于 Microsoft SQL Server 合并复制。使用 Microsoft SQL Server 2000 数据库来实现合并复制。合并复制非常适合移动应用程序,因为它允许分别在便携式设备和服务器上自行更新数据。之后可以对该设备和服务器上的数据进行同步,以将客户端的更改发送到服务器,或从服务器接收新的更改。
3. 基于J2ME的嵌入式移动数据库系统在RDGSM上的应用
RDGSM(the Regional Database for Geothermal Surface
- Java技术在嵌入式系统中的应用(07-11)
- 基于JAVA的工业控制移动数据通信解决方案(01-23)
- KVM在嵌入式Linux上的移植(05-02)
- 基于J2ME的无线网络应用开发(05-24)
- 智能手机的无线网络会议白板软件系统开发(10-29)
- 基于J2ME的手机相册系统(10-29)