论文部分内容阅读
摘要:J2ME(面向资源受限设备)与J2EE(面向企业用户)技术的结合为移动电子商务提供了很好的解决方案。讨论了如何利用J2ME,Servlet和MIDlet等进行移动终端应用程序开发,并结合传统网站,实现了基于J2ME的移动商务模型。通过实验验证了建立移动商务网站的可行性。
关键词:J2ME;J2EE;移动电子商务;MIDlet;Servlet
中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)03-10704-01
1 引言
随着3G宽带无线网络的引入,快速的数据传输率以及足够的带宽使企业通过无线网络向移动设备提供大型的Web服务成为可能。通过无线网络,使用无线设备构筑大型的企业级应用,进行移动电子商务的模型(Mobile-Commerce)由此应运而生。本文主要介绍基于J2ME/J2EE技术设计的移动电子商务模型,并结合笔者参与的某省水路规费征稽系统开发中移动收费与查询模块的实现来说明基于J2ME技术实现小型移动商务平台的可行性。
2 技术背景
2.1 J2ME的体系结构
J2ME是用于嵌入式系统的Java全称为Java 2 Micro Edition,它J2SE,J2EE一起构成了整个JAVA 2平台。J2ME是一种高度优化的Java运行环境;具有Java的“与平台无关”特性,可以在各种支持Java的小型电子设备上移植,使移动无线设备之间能共享应用程序。Motorola、Nokia、Siemens、Panasonic都是J2ME的主要支持者。在J2ME规范中,J2ME的体系结构总的可以划分为两个大模块,分别命名为配置(Configuration)和描述(Profile),Java虚拟机是J2ME技术的核心,而配置和描述提供特殊环境的类应用程序接口。配置是用于一组通用设备的最小的Java平台,而描述则为具体的系列设备或特别的应用程序提供更具体的能力。
目前J2ME的版本中定义了两种配置规范,即它只针对两大类设备,分别是CDC(连接设备配置Connected Device Configuration)和CLDC(有限连接设备配置Connected Limited Device Configuration)。CLDC是为具有少量的资源的设备设计的,这类设备的处理器能力是有限的,存储器小,网络连接速度慢,并且能源有限(经常是电池供电)。这类设备从性能上来讲属于低端设备,如移动电话、双向寻呼机、PDA等。而CDC用于资源比PC机小但是具有比512K内存多的设备,像电视机机顶盒、网络电视系统、互联网电话与汽车导航、娱乐系统等等。J2ME的描述层(Profile)是定义在配置层之上,它主要提供配置层中所缺少的功能以支持特定的设备。这些功能包括对UI和对持续性存储的支持等,它比配置层的针对性更强。如果说配置层是针对某一类设备的话,那描述层针对的是该类设备中范围更小的一部分设备。每一种设备都有自己的用户界面、输入机制和数据存储方法,这些往往不是配置层的最小要求的范围之内所能满足的,描述层就是为此而存在的,它为特别的应用程序提供更具体的功能。描述层定义了如下Profile:Foundation Profile、Personal Profile、RMI Profile、MID Profile、PAD Profile。而其中的MID Profile(移动信息设备描述Mobile Information Device Profile,简称MIDP)是目前J2ME平台中发展相对最成熟、最广为人知的Profile。它补充了CLDC并且提供应用程序语义和控件、用户界面、持久存储器、网络和用于移动电话、双通道呼叫器等无线电移动设备。由此看出J2ME规范总是把整个系统分成一层层,把各层看成一个模快,让它们实现一定的功能的同时,又上下层相互补充。图1是J2ME 体系的一个完整的总结。
图1 J2ME体系结构
2.2 MIDP 开发浅析
在MIDP上开发出来的应用程序被称为MIDlet。这些MIDlet可以通过扩CLDC/MIDP的包获得支持,却不能直接访问底层设备,但是J2ME规范中还是允许设备厂商(OEM)针对各自的设备产品的功能而增加各自的专用类库,其中有些就可能访问到底层设备的操作系统。J2ME有个不同于传统JAVA的过程叫做预审核过程。编译好的程序要被预审核器预审核后,才能生成可以被下载到目标设备上运行的类文件,这样做的目的是为了减轻实际运行时设备的负担。MIDP的开发运行过程:编写MIDlet原始程序代码;编译MIDlets;预审核Class;编写Jad 描述文件;将Class与Jad合成为JAR文件;在模拟器中调试;下载到设备上运行。在设备中,程序的安装与运行是由一个叫应用程序管理(applicationmanager)来控制的。当程序在设备中运行时,MIDlet进入其生命周期。MIDlet有下面四种不同状态的变化。周期一:创建实例(构造函数);周期二:进入暂停状态(pauseApp());周期三:管理器调用startApp()进入活动状态(startApp());周期四:管理器调用pauseApp()进入暂停状态(pauseApp());周期五:管理器调用destroyApp()来结束程序的运行。
2.3 利用servlet与web服务器通信
基于J2ME平台开发手机客户端程序,支持打开网络连接、传送数据、访问远程服务器,但并不支持直接访问数据库的能力,因此我们需要编写一套服务器端程序来接受手机客户端的请求指令,通过解析请求、与数据层交互、执行逻辑、响应结果的方式把数据再传回给手机。一个解决方案是利用移动设备客户端程序MIDlet通过与web服务器上servlet的交互完成访问网络数据库。流程如图2。
图2 Serlet访问数据库示意图
3 系统实现
系统采用3层框架结构,即比较常见的MVC设计模式。表示层是用J2ME编写的一些MIDlet套件,提供与客户的交互界面。中间是企业应用服务器层,运行与J2ME进行通信的Servlet程序和EJB,最后是数据库,存储交易相关数据。
用户在移动设备端输入要查询的船名船号,midlet程序將参数传送web服务器端servlet,servlet程序根据传来的学号,通过JDBC连接数据库服务器mysql,将读取的船舶缴费信息以UTF8格式编码传送给手机端midlet程序。主要解决的两个问题包括midlet与servlet的通信以及servlet与数据库的通信。
4 结束语
目前基于J2ME的移动信息管理和数据应用还很少,但J2EE已经为业界描述了一个java 移动计算和嵌入式应用的良好前景,通过J2ME客户端和java servlet服务器端的软件开发, 本系统实现了一个基于J2ME/J2EE 的典型移动电子商务,并在一些技术问题上进行了有益的探索。
参考文献:
[1]黄聪明. Java移动通信程序设计[M]. 北京:清华大学出版社,2002.
[2]胡静, 基于J2ME的无线Internet应用方案[J]. 江苏通信技术,2002.
[3]石乐义. 基于J2ME/J2EE技术实现移动数据应用[J]. 微型机与应用,2004-23,10-12.
[4]徐翔斌, 方水良. 用J2ME构建企业移动电子商务系统[J]. 计算机系统应用,2004,6-9.
本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
关键词:J2ME;J2EE;移动电子商务;MIDlet;Servlet
中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)03-10704-01
1 引言
随着3G宽带无线网络的引入,快速的数据传输率以及足够的带宽使企业通过无线网络向移动设备提供大型的Web服务成为可能。通过无线网络,使用无线设备构筑大型的企业级应用,进行移动电子商务的模型(Mobile-Commerce)由此应运而生。本文主要介绍基于J2ME/J2EE技术设计的移动电子商务模型,并结合笔者参与的某省水路规费征稽系统开发中移动收费与查询模块的实现来说明基于J2ME技术实现小型移动商务平台的可行性。
2 技术背景
2.1 J2ME的体系结构
J2ME是用于嵌入式系统的Java全称为Java 2 Micro Edition,它J2SE,J2EE一起构成了整个JAVA 2平台。J2ME是一种高度优化的Java运行环境;具有Java的“与平台无关”特性,可以在各种支持Java的小型电子设备上移植,使移动无线设备之间能共享应用程序。Motorola、Nokia、Siemens、Panasonic都是J2ME的主要支持者。在J2ME规范中,J2ME的体系结构总的可以划分为两个大模块,分别命名为配置(Configuration)和描述(Profile),Java虚拟机是J2ME技术的核心,而配置和描述提供特殊环境的类应用程序接口。配置是用于一组通用设备的最小的Java平台,而描述则为具体的系列设备或特别的应用程序提供更具体的能力。
目前J2ME的版本中定义了两种配置规范,即它只针对两大类设备,分别是CDC(连接设备配置Connected Device Configuration)和CLDC(有限连接设备配置Connected Limited Device Configuration)。CLDC是为具有少量的资源的设备设计的,这类设备的处理器能力是有限的,存储器小,网络连接速度慢,并且能源有限(经常是电池供电)。这类设备从性能上来讲属于低端设备,如移动电话、双向寻呼机、PDA等。而CDC用于资源比PC机小但是具有比512K内存多的设备,像电视机机顶盒、网络电视系统、互联网电话与汽车导航、娱乐系统等等。J2ME的描述层(Profile)是定义在配置层之上,它主要提供配置层中所缺少的功能以支持特定的设备。这些功能包括对UI和对持续性存储的支持等,它比配置层的针对性更强。如果说配置层是针对某一类设备的话,那描述层针对的是该类设备中范围更小的一部分设备。每一种设备都有自己的用户界面、输入机制和数据存储方法,这些往往不是配置层的最小要求的范围之内所能满足的,描述层就是为此而存在的,它为特别的应用程序提供更具体的功能。描述层定义了如下Profile:Foundation Profile、Personal Profile、RMI Profile、MID Profile、PAD Profile。而其中的MID Profile(移动信息设备描述Mobile Information Device Profile,简称MIDP)是目前J2ME平台中发展相对最成熟、最广为人知的Profile。它补充了CLDC并且提供应用程序语义和控件、用户界面、持久存储器、网络和用于移动电话、双通道呼叫器等无线电移动设备。由此看出J2ME规范总是把整个系统分成一层层,把各层看成一个模快,让它们实现一定的功能的同时,又上下层相互补充。图1是J2ME 体系的一个完整的总结。
图1 J2ME体系结构
2.2 MIDP 开发浅析
在MIDP上开发出来的应用程序被称为MIDlet。这些MIDlet可以通过扩CLDC/MIDP的包获得支持,却不能直接访问底层设备,但是J2ME规范中还是允许设备厂商(OEM)针对各自的设备产品的功能而增加各自的专用类库,其中有些就可能访问到底层设备的操作系统。J2ME有个不同于传统JAVA的过程叫做预审核过程。编译好的程序要被预审核器预审核后,才能生成可以被下载到目标设备上运行的类文件,这样做的目的是为了减轻实际运行时设备的负担。MIDP的开发运行过程:编写MIDlet原始程序代码;编译MIDlets;预审核Class;编写Jad 描述文件;将Class与Jad合成为JAR文件;在模拟器中调试;下载到设备上运行。在设备中,程序的安装与运行是由一个叫应用程序管理(applicationmanager)来控制的。当程序在设备中运行时,MIDlet进入其生命周期。MIDlet有下面四种不同状态的变化。周期一:创建实例(构造函数);周期二:进入暂停状态(pauseApp());周期三:管理器调用startApp()进入活动状态(startApp());周期四:管理器调用pauseApp()进入暂停状态(pauseApp());周期五:管理器调用destroyApp()来结束程序的运行。
2.3 利用servlet与web服务器通信
基于J2ME平台开发手机客户端程序,支持打开网络连接、传送数据、访问远程服务器,但并不支持直接访问数据库的能力,因此我们需要编写一套服务器端程序来接受手机客户端的请求指令,通过解析请求、与数据层交互、执行逻辑、响应结果的方式把数据再传回给手机。一个解决方案是利用移动设备客户端程序MIDlet通过与web服务器上servlet的交互完成访问网络数据库。流程如图2。
图2 Serlet访问数据库示意图
3 系统实现
系统采用3层框架结构,即比较常见的MVC设计模式。表示层是用J2ME编写的一些MIDlet套件,提供与客户的交互界面。中间是企业应用服务器层,运行与J2ME进行通信的Servlet程序和EJB,最后是数据库,存储交易相关数据。
用户在移动设备端输入要查询的船名船号,midlet程序將参数传送web服务器端servlet,servlet程序根据传来的学号,通过JDBC连接数据库服务器mysql,将读取的船舶缴费信息以UTF8格式编码传送给手机端midlet程序。主要解决的两个问题包括midlet与servlet的通信以及servlet与数据库的通信。
4 结束语
目前基于J2ME的移动信息管理和数据应用还很少,但J2EE已经为业界描述了一个java 移动计算和嵌入式应用的良好前景,通过J2ME客户端和java servlet服务器端的软件开发, 本系统实现了一个基于J2ME/J2EE 的典型移动电子商务,并在一些技术问题上进行了有益的探索。
参考文献:
[1]黄聪明. Java移动通信程序设计[M]. 北京:清华大学出版社,2002.
[2]胡静, 基于J2ME的无线Internet应用方案[J]. 江苏通信技术,2002.
[3]石乐义. 基于J2ME/J2EE技术实现移动数据应用[J]. 微型机与应用,2004-23,10-12.
[4]徐翔斌, 方水良. 用J2ME构建企业移动电子商务系统[J]. 计算机系统应用,2004,6-9.
本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。