基于J2ME的无线网络应用开发
扫描二维码
随时随地手机看文章
J2ME是SUN公司提出的基于消费类电子设备的嵌入式开发技术,它将为新一代无线Internet提供交互式的、可移植的、部署灵活的、安全的应用。J2ME省略了WAP网关,直接通过HTTP或Socket协议进行网络通信,大大提高了传输速度。运用J2ME技术能在小型电子设备上实现更丰富和更有价值的应用系统,如企业无线MIS系统,它结合企业ERP系统可提高企业的运作效率。
1 J2ME体系结构
J2ME是Java2技术架构的组成部分。随着Java技术的不断发展,SUN公司根据市场的不同需求进一步将Java2细分为三个版本:企业版J2EE(Java2 Platform Enterprise Edition)是面向企业环境开发应用程序的解决方案;标准版J2SE(Java2 Platform Standard Edition)是面向桌面开发和低端设备应用的解决方案;小型版J2ME(Java2 Platform Micro Edition)是致力于消费类电子产品和嵌入式设备的最佳解决方案。
1.1 J2ME的层次结构
J2ME是专门面向小型设备应用的简易平台,这里的小型设备指移动电话、PDA、网络电话、电视机顶盒、自动娱乐系统、导航系统以及家用自动电器等。为了支持品类繁多的设备类型,满足市场对灵活性与个性化的需求,J2ME采用了模块化、可升级的体系结构。其底层是宿主机的操作系统,内部则分为:Java虚拟机(JVM)层、配置(Configuration)层和框架(Profile)层。
(1)Java虚拟机层
本层是Java虚拟机执行层,它是专门针对特定设备的嵌入式操作系统定制的,支持特定的J2ME配置。J2ME支持的Java虚拟机有二种:①CVM,其功能与传统的虚拟机非常接近,适用于拥有至少几兆字节内存的高端消费类设备,如网络电话、电视机顶盒等;②KVM,专用于内存小、资源有限、能上网的设备,如移动电话、PDA等。
(2)配置层
这一层定义了Java虚拟机的最小功能集和Java类库的最小集合,是框架层的基础。J2ME目前有二种配置:一种是连接设备配置(CDC),它的基础虚拟机是CVM;另一种是有限连接设备配置(CLDC),它的基础虚拟机是KVM。可以将CDC设备描述为共享的、固定的连接信息设备,将CLDC设备描述为个人化的、移动的连接信息设备。
(3)框架层
在配置层的基础上,框架层又为一些特定的纵向市场、设备类型或者工业界额外定义了一些API和特性。框架中的类库使开发人员可以访问一些设备特有的功能,如图形用户界面、网络通信、持久存储等。任何一种框架都是在特定的配置层基础上实现的,扩充了附加的JVM功能集与类库,而一种配置层可以同时支持多种框架层。如果设备支持相同的框架(如不同厂家生产的手机),则同一个Java应用程序可以在不同的设备之间通用。目前在CLDC上只定义了一种框架,即MIDP(Mobile Information Device Profile)。用于PDA设备的基于CLDC配置层的框架PDAP正在制定当中。目前,构建于CDC上的框架有基础框架和RMI框架。基于CDC的个人框架(Personal Profile)也正在定义之中。
1.2 用于无线设备的J2ME
MIDP、CLDC和KVM组成了开发无线Java应用的基础。图1列出了用于无线应用的J2ME体系结构。|
MIDP应用可称为MIDlet,它必须扩展javax.microedition.midlet.MIDlet类并实现其定义的三个抽象方法:startApp()、pauseApp()和destroyApp()。MIDlet在执行过程中包括运行、暂停和销毁三个有效状态。这三种状态间的转换是由AMS(Application Management Software)通过调用MIDlet类定义的以上三个方法控制的。这是一种基于回调(Callback)的机制。图2展示了通过调用这三种方法实现三种可能状态间的转换。
2 基于J2ME的无线网络应用开发研究
2.1 服务端设计
在当今电子商务应用中,J2EE以其可扩展性、灵活性成为服务端事实上的开发标准。J2EE为企业开发提供了丰富的技术组件,如JDBC、EJB、JSP和Servlet等。这些组件相互关联构成了服务端的J2EE应用。
J2ME将移动设备上的客户应用与后台J2EE服务环境完美结合起来,使建设一个无线接入的企业网络成为可能。任何时间、任何地点的自由访问功能不仅扩大了企业市场影响力、提高了客户服务水平,而且降低了企业IT运行成本。
2.2 客户端设计
基于J2ME的无线网络应用的开发可以使用CLDC和MIDP规范中定义的丰富类库。这二个规范定义了无线设备开发的各个方面,包括用户界面、数据存储和网络访问能力等。
在CLDC中为网络访问定义了通用连接框架,其通用格式是:Connector.open(″:
:″)。该通用格式连接框架实现了一种运行时绑定的机制,协议、地址等信息都作为Open函数的参数来传递。因此MIDP规范支持的各种协议(如HTTP、Socket、Datagram、SMS、串行端口通信和文件I/O等)都使用这种一致的方法。运行时由该通用框架为客户选择具体的实现。MIDP通过HTTP协议连接互联网的实例有:Connector.open(http://www.jnu.edu.cn:8080)。HTTP协议是所有支持J2ME的无线设备必须实现的,它在MIDP框架和J2EE平台之间搭建了传输的桥梁。JSP、Servlet通过HTTP协议建立起与客户端基于请求/响应的动态模式。MIDP支持HTTP1.1,使用GET和POST与网络层进行通信,产生HTTP报头和数据。在MIDP2.0中,通用连接框架还将支持HTTPS协议,通过HTTPS连接可确保信息的安全传输。
下面以一个网络运行状态监控系统的无线应用模块为例,具体说明基于J2ME的无线网络应用的开发。
(1)系统及模块功能
该网络运行状态监控系统的设计目的是对企业的计算机网络系统的运行状态进行实时监控和报警。该系统可以实时采集网络运行资料、判断网络运行状况并对网络故障报警。无线应用模块的主要功能是:通过手机等无线设备进行网络故障报警,对网络运行状态、网络设备、维护负责人等信息进行查询,方便对网络运行的实时监控和维护工作。
(2)代码演示
本文以一段MIDP程序为例,演示MIDP程序的开发。下面的MIDP程序首先让用户输入账号和密码以便登录到服务器。登录成功后显示一个报警和信息查询的列表(如故障报警、网络运行状态等),然后根据用户的选择从服务器查询相应信息,最后将从服务器返回的信息显示给用户。限于篇幅,这里只给出部分代码。
①以下代码主要实现MIDlet类中与生命周期相关的抽象方法。
②以下代码片断完成与服务器交互、读取查询信息的功能。
3 结 论
J2ME平台把Java技术引入到了嵌入式设备平台。它定义了功能强大的、安全的、可移植的应用开发的标准平台。随着移动通信设备的日益普及,移动通信增值服务正成为新的业务增长点。因而J2ME必然会在无线设备应用程序开发领域大显身手。J2ME将以其强大的功能,增进对各厂商产品与技术的兼容性,加强服务的交互能力,使移动通信增值服务更加个性化和智能化,从而更大地发挥移动通信的优势。