admin 管理员组文章数量: 1184232
2024年4月24日发(作者:jsonp溯源)
第23卷第3期
2008年9月 徐州教育学院学报
Vo1.23,No.3
J.of Xuzhou Education College
Sep.,2008
三层架构模型及在J2EE平台中的应用
王 永 ,王 锋2
(1.徐州工业职业技术学院信息工程系,江苏徐州221006;2.苏州农业职业技术学院 电子信息系,江苏苏州215008)
摘要:文章介绍了三层架构模型的组成及其特点,并讨论了其在J2EE平台中的典型应用。
关键词:三层架构;J2EE平台
中图分类号:TP31 文献标志码:A 文章编号:1008—6625(2008)03—0084—02
结果返回给客户端。
数据访问层(DAL):数据访问层负责实际的数据存储和
随着以网络计算为中心的应用系统规模的扩大和软硬
检索,该层所做事务直接操作数据库,针对数据的增、删、改、
件结构的13趋复杂多样,客户端和服务器端的负担也13益繁
查。
重,并且传统软件的移植性、互操作性和重用性也都不能满
三层架构示意图如图1所示。
足现在的性能需求。传统的客户机/服务器模式采用的是一
种双层模型。在双层模型里,程序逻辑在客户机与服务器这
l 用户界面层…用户界面包
两种物理位置之间分担,应用程序的商业逻辑必须物理性地
0
驻留于客户机端,或在后端DBMS里以触发器或存储过程的
形式实现。双层客户 服务器模型存在许多的限制因素,
l 业务逻辑层…业务逻辑包
如不可伸缩、不能管理、性能较差等因素。正是由于双层客
{
户机/服务器方案存在诸多限制,因此产生了一种新的三层
数据访问层…数据访问包
服务器模型。三层客户机/服务器模型以构建分布式应用程
序为基础。对一个应用程序进行分割以后,可将代码划分为
不同的逻辑组件,在三层的客户机服务器模型中,这些逻辑
组件分为三个逻辑层:用户服务、业务服务和数据服务,它们
共同组成一个应用程序。
2三层架构及其组成
图1三层架构示意图
软件系统中的三层架构就是将整个系统业务应用划分
3三层架构的优点
为三个层次,即:用户界面层(UI)、业务逻辑层(BLL)、数据
访问层(DAL)。三层结构中区分层次的主要目的是为了体
三层架构由于其灵活性和可扩展性使得设计人员在应
现出软件开发中“高内聚,低耦合”的思想。
用三层开发技术时具有如下优势:
用户界面层(UI):也称为表现层或uI层,主要是用来进
(1)解决了客户机/服务器结构的维护成本问题,改善客
行用户界面的显示和处理。用户界面层负责处理用户的输
户杌/服务器结构延展性问题。客户机/服务器结构支持的
入和面向用户的输出,但并不负责解释其含义。
用户人数有一定限度,这种结构限制了Intemet/lntranet及电
业务逻辑层(BLL):业务是软件系统开发的核心,开发
子商务的发展。三层开发应用模式提供了高度延展性。
者就是根据业务规则来开发软件提供服务的,业务逻辑层针
(2)解决应用逻辑重复使用的问题。
对具体问题进行对数据层的操作,对数据业务逻辑进行处
(3)整合了不同系统结构的需要,及时应用新技术的需要。
理,业务逻辑层是上下两层的纽带,它建立实际的数据库连
4三层架构在J2EE平台中的应用实例
接,根据用户的请求生成SQL语句检索或更新数据库,并把
4.1 基于JSP+JavaBean+Servlet三层结构解析
[收稿日期J2oo8—07—12
[作者简介]王永(1972一),男,江苏徐州人,徐州工业职业技术学院讲师,硕士。研究方向:软件工程、软件开发与应用;王锋(1970
一
),男,江苏徐州人,副教授,博士研究生。研究方向:G1S农业应用、计算机网络应用与农业生态。
・
84・
典型的J2EE三层结构,分为用户界面层、业务逻辑层和
数据服务层。三层体系将业务规则、数据访问及合法性校验
等工作放在中问层处理。客户端不直接与数据库交互,而是
通过组件与中间层建立连接,再由中间层与数据库交互。
为了克服两层架构中相存在的不能很好地解决的的几个
问题,诸如由于业务逻辑由JavaBean来实现而造成的页面问
逻辑耦合,给页面修改以及更新工作带来的不便,以及不利于
代码重用而造成的健壮性和可伸缩性不好等明显问题,开发
人员引入了三层架构,一个典型的三层架构模式如图3所示。
厂 、
用户界面层是传统的JSP技术,经过多年的发展,其广
泛的应用和稳定的表现,为其作为表现层技术打下了坚实的
基础。
WebContainel"
业务逻辑层采用的是流行的Spring+Hibernate,为了将
控制层与业务逻辑层分离,又细分为以下几种:
Web层,就是MVC模式里面的“C”(controller),负责控
浏
Us
览器 R Syeqsutemst
u
l
制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务
数据返回给表现层作组织表现,该系统的MVC框架采用
Strutso
Service层(就是业务逻辑层),负责实现业务逻辑。业务
逻辑层以DAO层为基础,通过对DAO组件的正面模式包
装,完成系统所要求的业务逻辑。
DAO层,负责与持久化对象交互。该层封装了数据的
增、删、查、改的操作。
PO,持久化对象。通过实体关系映射工具将关系型数据
库的数据映射成对象,很方便地实现以面向对象方式操作数
据库,Hibernate主要是数据的持久化到数据库。
spring负责业务层管理,Spring的作用贯穿了整个业务
逻辑层,将Web层、Service层、DAO层及PO无缝整合,其数
据服务层用来存放数据。
在J2EE分层结构中,层与层之间相互独立,每个层面提
供特定服务,任何一层只要其提供的接口不变,实现发生变
化对其它层面没有影响。J2EE使用了EJB作为商业组件的
部署环境,在EJB Server中提供了分布式计算环境中组建需
要的所有服务,其应用模型如图2所示。 . ..
客户端 服务器端 服务器商业逻辑 企业信息系统
浏览器 WEB EJB
●——+
服务器 容器
I Ja ̄aApplet I
JSP
囊面系统 l EJB。
I1 JAVA应用I
.........................
_|J
■——+ J
Se ̄le
A、『A ●
t
——+
l萁他设备 ll
—IJ2 ̄—II
● — 平台
J2EE J平台 2EE
}I I
图2 J2EE系统分层应用模型
4.2基于Struts、Spring典型的MVC三层架构模型
参考
[1]宋晓梁.中间件及其在三层客户机/服务器模型中的应用[J].
计算机应用,1999(19).
[2]吴雪阳.信息系统三层结构及其实现技术[J].电脑与信息技
术,1999(4):2—5,22.
[3]陶再平.三层结构模型应用的研究[J].电脑与信息技术,1999
(6):4—6.
Response
图3基于Struts\Spring的三层架构模型
在这个模式中引入了“控制器”的概念,并且由Servlet
来担任,客户端的请求直接送达控制器,再由其根据具体的
日
请求调用不同的事务逻辑,并将结果返回到用户要求的界
面。与两层结构相比,JSP文件变成了一个单 完成显示任
务的显示层,即图中的Viewer。事务逻辑独立出来形成Mod—
el,大大提高开发工作效率,也利于维护。
4.3 由三层架构扩展的多层架构
J2EE的三层架构是非常高效,也是目前非常流行的模
式。实际工作中,设计人员会对这个架构进行一些扩展,也
为多层架构。方法是将模型层进行拆分,分成服务层(DAO)
以及数据持久层(Data Persistence),其中服务层用于操作层
的数据操作,数据持久层表示数据库的持久内存存储对象。
夏
-
\L—————__J
1(VieweO I
/
图4多层架构模型
5结论
在三层模型中,通过把各种业务规则都封装在各自相应
的构件中,这样业务规则的实现和客户使用的图形用户界面
的实现就相分离了,当一方要进行改变时,只对需改变的一
方进行改变。与此同时,在同一层上的构件之间也可以相互
调用,这样也增加了代码的可重用性,减少了编程量,而且因
为构件也是相互独立的,所以当需求改变时也只需对相应的
构件进行改变。如此一来就大大减少了系统维护的负担,并
提高了系统的适用性。
文献:
[4]雨阳隆春.深入JSP网络编程[M].北京:清华大学出版社,
2oo1.
[5]姜晓铭,陈武,等.JSP程序设计与实例分析教程[M].北京:
清华大学出版社,2001.
[6]飞思科技产品研发.JSP应用开发详解[M].2版.北京:电子工
业出版社.2004.
・
85・
版权声明:本文标题:三层架构模型及在J2EE平台中的应用 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1713919649a657727.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论