摘 要 本文针对移动商务环境,提出了一种基于Java ME和Java EE的移动商务系统架构,并进行系统分析与设计,采用Eclipse、WTK等开发工具编程实现,经过实验证明该系统能够有效地实现移动商务处理,该架构和开发技术可以应用于移动商务服务系统以及其它移动应用系统的构建。
关键词 Java ME;Java EE;移动商务;MIDlet1 引言
随着网络技术的普及,电子商务技术迅猛发展,现今Amason、ebay、淘宝、阿里巴巴等提供的电子商务服务已经深入人们的生活,成为商务交易的主要手段之一。近些年来,无线通信技术日益强大,移动通信设备逐渐普及,据统计截至2007年12月,我国手机用户数达到5.47286亿户,手机普及率为41.6%[1],手机网民数达到5040万人[2],并有增长趋势,而3G技术一旦普及,手机网络用户还将进一步增长。手机网络的发展,促使手机应用不再局限于电话、短信等业务,进一步包含了信息检索、移动证券、电子邮件、即时通信、移动娱乐等。而电子商务发展的成功经验也使众多的消费者对商务获取渠道有了新的期待,手机、PDA等无线通信设备都是进行商务活动的媒介,发展移动商务应用是必然的趋势,是具有广阔用户市场的应用方向。并且随着无线接入网络GPRS和3G的发展,在无线网络中数据传送速度越来越快,也为移动电子商务提供了良好的网络通信环境[3]。移动商务作为传统电子商务的扩展手段,能够进一步解决商务平台的限制,使客户能够随时随地利用移动设备进行商务活动,达到更大程度上的交易自由性、及时性、方便性、地域无关性。 本文主要讨论构建移动商务系统一种架构模型,以及利用Java ME和Java EE实现移动商务系统的技术,该系统能够通过手机访问服务器,获取商品信息,并进行一系列订购活动,能够有效地实现移动商务活动。2 Java ME与Java EE技术
在进行系统开发的技术选择上,我们采用Java ME和Java EE技术,原因包括两个方面:首先是Java语言具有平台无关性,Java ME作为JDK的微型版,适用于手机应用开发,现在很多品牌手机支持Java应用,开发方便并且有利于系统集成;另一方面,Java EE适合构建大型商务应用服务器,在传统电子商务领域已经有成功的应用实例。 近些年来,Sun在经过一轮大力发展企业应用后,又开始将重点移向移动计算、普适计算领域,在移动开发上为广大Java开发人员提供了新的契机,移动设备开发的市场庞大,而移动设备又有资源受限的特点,Sun提供Java ME,也就是Java SKD的Micro Edition,提供了手机、PDA等移动设备、信息家电等的开发平台和API。Java ME中最常用的支持手机平台开发的规范是CLDC和MIDP,CLDC提供适合于小型的、资源受限、连接受限设备上使用的标准Java平台,而MIDP是CLDC 论文检测天使-免费论文检测软件http://www.jiancetianshi.com第一个实现的简表,提供给应用程序许多语义和控件、用户界面、持久存储器等,在MIDP规范上可以创建应用程序,也就是MIDlet,用于实现移动应用逻辑[4]。 Java EE是用于构建企业应用的平台,是由SUN发起并由众多重要厂商参与制订的业界规范,为应用服务器的实现提供了一个开放和完整的底层框架,它提供的主要技术包括客户层的Applet、Web表示层的JSP和Servlet、业务层的EJB、企业信息层的数据访问[5],利用以上若干技术可以构建功能强大的基于Web的分布式应用,在构建传统电子商务网站系统时也广泛的被采用。
3 系统分析与设计
3.1 系统分析
Mobuy移动商务系统,主要目的是实现在移动设备平台上进行电子商务活动,包括检索商品、订购商品、移动付款、个人信息管理等功能,相应的为了满足移动终端的购物要求,商家必须提供相应的订单处理、收款、以及帐户和商品信息的管理等服务。 客户端移动通信设备本身通常具有身份标识功能,例如SIM卡,这也就简化了登录身份认证,直接采用该标识进行系统登录,访问商家提供的购物服务。由于手机、PDA等移动终端提供的屏幕显示通常都远远小于个人电脑显示器,界面能够提供的信息量较少,客户要获得有针对性地商品信息必须通过检索途径,界面设计应在简洁的基础上,又不失吸引力。客户能够在获得的商品目录中进行选择、订购,并利用某种方式进行帐单付款。为了实现配送和商家的客户信息管理,还要对客户提供个人信息的管理维护功能,记录客户的真实个人信息、送货地址等。 对于另一方应用该商务系统的商家来说,该移动商务系统应提供便利的处理平台,列出客户订单,进行订单处理,配合相应的职能部分,进行商品出库、货物配送等,并能够通过银行或第三方支付机构获取订单支付的款项。并可以利用该平台维护商品信息、订单信息、客户信息数据。以下我们主要关注移动终端应用的设计实现,对于传统电子商务能够完成的若干处理在这里不再详述。 图1 Mobuy移动商务系统用例图3.2 系统架构设计
系统架构如图2所示,采用四层架构模式,客户层的移动客户端是由Java ME Wireless Toolkit创建客户端应用,运行在移动通信设备上,主要实现包括操作界面、数据格式转换、与服务器端通信等。由于移动商务使用的目标运行平台是移动通信设备,特点是资源受限,因此在设计时,客户端要简洁,大量的处理任务要交给服务器完成。客户层的浏览器客户端提供给商家进行订单处理等操作,用Java EE的客户层表示技术JSP来实现,创建若干访问页面,通过Servlet/EJB访问服务器获取订单信息、商品库存信息等,进行订单处理。 服务器端采用Java EE技术,主要应用于Web服务器层、应用服务器层和企业信息管理层,其中Web层由若干Servlet用于处理客户端请求,即将服务器处理结果发回客户端,与客户端通信采用HTTP协议传送XML文件,当中可能包含客户信息、订单信息等。而应用服务器主要解决购物处理,用有态会话Bean实现购物车,对于客户信息、商品信息、购物信息数据的增删改请求处理由若干实体Bean完成。后台数据库,也就是企业信息管理层采用SQL Server 2000存储数据,数据库的访问通过JDBC进行。 图2 Mobuy移动商务系统架构图 系统关键的商品检索、订购业务处理过程如图3所示,处理流程为:首先客户端输入商品名称,提出检索请求,Servlet接收到检索请求,交给EJB进行查询处理,从数据库获得查询结果后返回给Servlet,Servlet会编辑输出为XML格式给客户端。客户端可以根据检索结果选择自己想要订购的商品,选择完毕后提交订购要求给Servlet,购物车Bean会记录订购要求并修改数据库的记录,订购完毕,将客户端订单的完整信息返回客户端,包括订购商品、数量、单价、汇总金额等。最后是订单付款,可以选择几种付款方式,如果小额付款可以采用移动账户验证付款,如果是大额付款可以采用银行帐户付款、通过第三方支付机构付款等方式[6]。 图3 Mobuy移动商务系统购物过程交互图4 系统实现
该系统移动客户端采用Eclipse + Eclipseme + WTK开发;服务器端采用Jbuilder + Weblogic + SQL Server开发,运行模拟环境采用WTK自带的模拟器。
[8]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0424/fontbr />
4.1 客户端实现
移动客户端程序主要实现客户端的屏幕显示和与服务器端的交互操作,包括登录、商品检索、商品订购、个人信息维护等功能,采用Java ME技术,创建一个ClientMIDlet实现。客户端通过Connector类创建特定网络连接的HttpConnection对象,与Web服务器建立连接,并将客户请求发送给服务器。服务器进行处理后将返回处理结果,以XML格式返回,移动终端将XML信息解析,获取数据显示在屏幕上。为商家提供的客户端采用浏览器方式,用JSP实现,为商家提供订单浏览、订单处理、配送单打印、商品信息维护等操作处理的界面。4.1.1 XML数据格式设计与解析 在该系统中,当客户发出商品检索请求后,服务器端Servlet将请求结果数据传递给客户端,可以采用HTML或XML格式,而XML相对来说更适用。XML是一种半结构化数据形式,在数据上添加自定义标签结构,语义和数据结合于一体,使文本具有自描述能力,因此广泛应用于电子数据交换、数据库与搜索引擎等领域。本系统中,传递商品信息的XML数据格式实例如下:< mobuy > < customer > 13800000000 < / customer > < status > s1 < / status > < items> < item > < code > 730989 < / code > < amount> 1 < / amount > < / item > < item > < code > 730898 < / code > < amount> 2 < / amount > < / item > < /items>< /mobuy> 客户端接收到XML数据后,利用XML解析程序提取出有用的信息,并通过屏幕显示的程序,将结果显示在屏幕上。XML有效地解决了商品信息、订单信息、用户个人信息等数据的传递问题。4.1.2 客户端订单提交 移动商务网站与传统电子商务网站的主要不同就是客户端及客户端通信方式的变更,由原来的Web客户端转换为WAP客户端,实现移动客户端与服务器端进行有效通信并交换数据是一个关键问题。在该系统中两方通过HTTP连接,HTTP协议是目前互联网中最广泛使用的一种通信协议,是一种请求/响应的通信协议,客户端发送一个HTTP请求给服务器,服务器进行一定的处理操作后,将处理结果作为响应传送给客户端,发回一个HTML页面或XML文件,从而实现双方的数据交换。该系统中客户端与服务器进行通信,发送某商品的订购请求的实现如下:public void orderSend() { String url="http://localhost:8080/mobuyserver/ServletApp_buy?"+"isdn="+isdn+"&num="+num; //连接服务器的URL HttpConnection hc=null; DataInputStream dis=null; try { hc=(HttpConnection)Connector.open(url); hc.setRequestMethod(HttpConnection.POST); hc.setRequestProperty("User-Agent","Profile/MIDP-1.0 Configuration/CLDC-1.0"); hc.setRequestProperty("Content-Language","en-CA"); dis=hc.openDataInputStream(); rs=dis.readUTF();……}4.2 服务器端实现
服务器端程序包括客户请求处理、订单处理、收款、以及帐户和商品信息的管理等模块。客户请求处理:当客户端发出登录系统请求、商品信息检索请求、订购商品请求、帐单支付请求等若干购物处理请求时,服务器端相应的Servlet处理客户端请求,接受请求及请求响应,业务逻辑的处理和数据信息的访问更改通过EJB完成,包括购物车CartBean、商品ItemBean等,客户与服务器之间信息的传递通过XML进行。OTA下载服务:客户端程序MIDlet通过服务器端OTA下载服务提供给移动设备用户,需要该服务的用户,可以通过WAP Push进入到OTA服务器提供的MIDlet下载链接,获取该应用。订单处理部分:该部分是提供给商务交易过程中商家的服务,连接商家的浏览器客户端,提供服务器端处理,包括获取订单列表、商品出库、产生配送单等,通过EJB完成。帐户和商品信息管理:该部分是提供给商家进行自服务的子系统,对帐户和商品信息进行增删改等维护。收款部分通过访问银行或第三方支付机构提供的服务获取订单支付的款项,但订单付款服务需要移动服务运营商、银行或第三方支付机构的服务支持,因此该系统只提供扩展接口,并未给出具体实现。4.2.1 购物信息查询处理 由于移动信息设备的特点,初始界面能够提供的商品信息量很少,客户的主要商品信息获取要通过检索途径,这样才能在有限的屏幕中显示有针对性的信息。当客户端提出商品查询请求后,移动设备端的ClientMIDlet将请求传递给相应的searchItemServlet,该Servlet通过Bean访问数据库获得商品信息检索结果,Servlet将该数据库信息输出为XML格式,发送到客户端,具体实现如下所示:public class searchItemServlet extends HttpServlet{private ItemHome home = null;private void lookupitemHome() throws NamingException{……}protected void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException, ServletException{String itemname = request.getParameter("itemname");⋯⋯//创建输出流DataOutputStream dos//调用EJB 的方法ItemHome.create(参数),访问数据库获取相关商品记录,//并返回结果row。//将结果返回给MIDletdos.writeUTF(row);dos.flush();⋯⋯}4.2.2 购物车Bean 服务器EJB层是进行应用逻辑处理的部分,对于客户端提出的请求,Servlet获取后会将相应的处理交给对应的EJB进行,例如:对于检索商品信息的请求交给ItemBean完成。而购物车在服务器中以采用会话Bean实现,当客户端发生订购商品、提交订单等请求时,Servlet会交由CartBean完成处理。public class CartBean implements SessionBean{Hashtable items;public boolean addItems(Item item){……}public boolean purchase(){……}……}5 结论
该系统实现了用户登录、商品检索、商品订购等功能,基本实现了移动商务系统的若干操作,实验证明该系统能够有效地完成移动商务操作,实现移动商务过程。 本文创新点:提出了一种基于Java ME和Java EE的完整体系的移动商务系统架构,并描述分析设计和实现过程。该系统能够有效地实现移动通信终端进行购物的商务处理,是一种可行的移动商务实现方案。随着移动通信技术的进步和WAP用户数量的不断增长,移动应用必将有广阔的发展前景,而移动商务只是手机应用发展的方向之一,该项目的研究成果还可以推广至移动应用的其它领域,例如移动银行、移动信息查询等。参考文献
[1] 郭丽君. 我国手机用户数量进入高增长期[N]. 光明日报,2008-1-29(4)[2] 中国互联网络信息中心(CNNIC). 第21次中国互联网络发展状况统计报告[R]. 北京:中国互联网络信息中心,2008[3] 仵博, 吴敏. 基于J2ME的移动电子商务平台[J]. 微计算机信息(管控一体化). 2007, 23(1-1):131~132[4] 詹建飞. J2ME开发精解[M]. 北京:电子工业出版社. 2006[5] Joseph Bambara, Paul Allen, 刘堃等译. J2EE技术内幕[M]. 北京:机械工业出版社. 2002[6] 王会进, 古鹏程. 一种基于J2ME的移动支付系统的设计与实现[J]. 微计算机信息(测控自动化). 2007.24(5-3):234~235
[8]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0424/fontbr />
相关文章:
数字农业时空信息管理平台04-26
单点登录系统集成应用子系统的方法探讨04-26
基于Windows XP的PVM的实现04-26
基于J2EE的手机短信平台的设计与实现04-26
类分裂的代码混淆技术04-26
ORACLE中SQL查询优化研究04-26
高校学生奖励与资助系统的设计04-26
高校信息查询系统的设计与实现04-26
让软件界面始终美丽如初04-26