摘 要 介绍了J2EE体系结构,对J2EE体系结构进行了改进,提出并实现了基于J2EE的电子商务开发模型,可有效解决电子商务系统中存在的性能和可维护性等问题。
关键词 J2EE;EJB;体系结构;电子商务
随着网络的普及和发展,电子商务在当前的网络时代扮演着越来越重要的角色。电子商务从最初的静态电子商务已经发展到今天的动态电子商务。动态电子商务能够动态适应企业不断变化的业务策略的电子商务流程及相关系统,反映了在实时条件下实现应用动态集成的概念。动态电子商务的特点是软件应该按照业务的过程设计成可重用的和柔性的组件。J2EE技术采用了Browser/Server结构和组件的思想,将业务逻辑从客户端、服务器端中独立出来,适应于日益复杂化和日益变化的业务逻辑的需要,可以充分满足动态电子商务的开发需求。
1 J2EE体系结构
J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关复杂问题的体系结构,可以用于开发大型的、多层次的以及分布式的企业级应用系统。J2EE采用分层结构,层与层之间相互独立,每个层面提供特定服务。在分层结构中,任何一层只要其提供的接口不变,实现发生变化对其他层面没有影响。分层后不仅使各层功能变得简单且易实现,而且具有更好的可维护性和可扩展性。
图1 J2EE体系结构
如图1所示,J2EE体系结构分为以下几层:
(1)客户层 客户端通过浏览器或客户端应用程序向最终用户显示被请求的信息。
(2)中间层 负责逻辑的表示与实现。中间层又分为两层,即Web层和业务逻辑层。
Web层使用Servlet和JSP组件把客户端的请求发送给业务逻辑层的EJB组件处理,并把处理结果发送给客户端。业务逻辑层由若干运行在EJB服务器中的EJB组件组成,负责处理客户端的请求。EJB是一种面向对象的组件,主要用来开发、实现和部署分布式逻辑。
(3)企业信息系统层 运行企业信息系统软件,主要是数据库系统。
J2EE体系结构通过把表现逻辑、业务逻辑和后端的数据服务分割开来,提供了一种基于组件的设计、开发及部署企业应用程序的模块化方式和高性能多线程的环境。
2 基于J2EE的电子商务开发模型
J2EE技术采用分布式组件思想,适于电子商务系统的开发,但采用J2EE技术进行电子商务系统的开发也存在着一些问题,具体表现在以下几个方面。
1) 客户端浏览器通过远程接口对后端服务器的业务对象进行调用,需要花费网络开销。如果客户端和服务器之间存在过多的方法调用,会导致网络性能问题。
2) 电子商务系统拥有大量用户,用户与服务器端业务对象间的交互会给网络通信带来很大的压力,使系统性能受到很大破坏,严重的可能会导致系统崩溃。
3) 层次之间联系过于紧密,客户端和后端的业务对象具有较强的依赖关系,不利于系统的管理和维护。客户端和业务对象之间的直接交互会导致两者的联系过于紧密,同时也使得客户端过于依赖业务对象的具体实现,并负责管理与交互过程有关的业务对象查找和创建,以及不同的对象间相互调用的关系。这样,就会要求客户端进行对此组件过多的操作,从而降低了系统的可维护性。
为了解决以上问题,本文针对电子商务开发的具体实际,对J2EE的体系结构进行了改进,提出了基于J2EE的电子商务开发模型,其结构如图2所示。
图2 基于J2EE的电子商务开发模型
基于J2EE的电子商务开发模型分为四层,分别是客户层、Web层、业务层和企业信息系统层。其中,客户层为通过浏览器对电子商务系统进行访问的网络终端用户,一般又分为一般用户与会员和管理员。一般用户与会员可通过访问电子商务系统进行信息查询和产品定购等操作;而管理员则负责对电子商务系统进行管理和维护。
Web层实现与客户层的交互,处理客户层的请求并做出响应。Web层向客户层提供了两个接口,分别是电子商务系统接口和管理接口。客户层的所有用户都可以通过电子商务系统接口访问电子商务系统;而管理接口只能由管理员进行访问,一般用户与会员则无此权限。Web层的功能通过Web组件实现对用户处理数据的表达。
业务层实现与Web层的交互,处理Web层的数据处理请求,是模型的核心层。模型对业务层的业务对象进行封装,使Web层不直接访问EJB组件,而是通过系统访问会话Bean和子系统会话Bean来实现对EJB组件的访问。
企业信息系统层运行企业信息系统软件,例如企业资源计划、大型机事务处理、数据库系统及其他遗留信息系统。企业信息系统层实现与业务层的交互,一般处理业务层的数据库操作。
3 基于J2EE的电子商务开发模型的实现
基于J2EE的电子商务开发模型的核心是业务层,其实现如下:
图3 基于J2EE的电子商务开发模型中对EJB组件的访问过程
系统访问会话Bean向Web层提供对系统访问的统一接口。系统访问会话Bean包含一个工作流中所有相关对象的交互,并实现其中的业务逻辑,管理工作流中相关对象的生命周期。对一般EJB方法的调用,系统访问会话Bean只提供了一个对系统访问的接口,而不提供其方法的具体实现。
电子商务系统可分为若干个子系统,每个子系统使用子系统会话Bean把一些相关的EJB组件封装在一起。子系统会话Bean负责管理业务对象,并向系统访问会话Bean提供对子系统的访问接口,还可以处理底层对象的交互过程,由此屏蔽了复杂的对象交互。
对EJB组件的访问过程如图3所示。首先调用系统访问会话Bean的管理方法;然后,管理方法通过参数确定相应的子系统,查找相应的子系统会话Bean,调用其相关方法;最后,子系统会话Bean通过本地接口调用EJB组件。
4 基于J2EE的电子商务开发模型性能分析
基于J2EE的电子商务开发模型通过对系统的业务层的分层和对相关业务对象的封装,可有效解决电子商务系统中存在的问题。
首先,基于J2EE的电子商务开发模型通过提供对系统访问的统一接口,减少了暴露给Web层的业务对象。此模型减小了Web组件和业务对象的耦合度,从而降低了Web层和业务对象之间的依赖关系。业务对象只负责对自己的数据和逻辑进行管理,而模型可以对业务对象间的交互进行管理。此模型提供了更好的可管理性、更好的灵活性以及系统发生变化时更强的处理能力。
其次,基于J2EE的电子商务开发模型可以提高系统的性能。由于消除了Web组件与业务数据和业务对象的直接交互,减少了客户端和服务器端的网络开销。子系统会话Bean可对相关的EJB组件及其交互进行管理,这样可通过定义并实现一些管理方法进行粗粒度的处理,从而减少了远程访问的次数,节省了网络开销。在此模型中,对EJB组件的调用一般通过本地接口来实现,即进行本地访问;相对于远程访问,本地访问在同一JVM中进行,可节省开销,提高系统性能。而且,所有的业务对象之间的交互都是通过系统访问会话Bean和子系统会话Bean以粗粒度的方式实现的,这也有效地改进了系统的性能。
最后,基于J2EE的电子商务开发模型封装了底层的业务对象,只向Web层提供一个访问接口,可有效控制Web层组件对底层业务对象的直接访问,提高了系统的安全性。此模型向用户隐藏业务对象间的交互过程和依赖关系,从而使得系统更加容易管理,并提供相当的灵活性。而且,模型提供了一套统一的用户访问机制,便于管理用户对于服务的请求与访问。
5 结束语
J2EE在开发电子商务系统方面具有无可比拟的优势,它提供中间层集成框架用来满足高可用性、高可靠性以及可扩展性的应用的需求,通过提供统一的开发平台,降低了开发多层应用的复杂性,同时对现有系统集成提供强有力支持。本文对J2EE体系结构进行了分析,并在此基础上,对J2EE的体系结构进行了改进,提出了基于J2EE的电子商务开发模型,可有效解决电子商务系统存在的性能和可维护性等问题。本文所给出的电子商务开发模型已在作者承担的企业信息系统中应用,并取得了良好的效果。
参考文献
[1] Paul J. Perrone, et al.著, 张志伟,谭郁松,张明杰 译. J2EE构建企业系统——专家级解决方案.
北京: 清华大学出版社, 2001
[2] John Hunt, Chris Loftus 著, 周立斌 等译. 精通J2EE——Java企业级应用. 北京: 清华大学出版社,
2004
[3] Martin Bond 等著, 周辉 等译. 21天学通J2EE(第二版). 北京: 人民邮电出版社, 2005
[4] William Crawford, Jonathan Kaplan 著, 刘绍华,毛天露 译. J2EE设计模式. 北京:
中国电力出版社, 2005
[5] Deepak Alur,John Crupi,Dan Malks 著, 刘天北,熊节 等译. J2EE核心模式(第二版).
北京: 机械工业出版社, 2005
[6] 李卉,殷兆麟,金铁锋.Session Fa ade设计模式及其在J2EE系统开发中的应用研究. 计算机工程,2005,
31(14): 228-230
收稿日期:11月24日 修改日期:12月5日
作者简介:冯泽涛(1977-),男,山东工商学院教师,硕士,主要研究方向:网络工程与管理信息系统。
|