当前位置:首页 >> IT/计算机 >>

基于J2EE构架的三层Web开发应用_图文

网络通信 电脑知识与技术

基于 !"#$ 构架的三层 %&’ 开发应用
马传宝 广东省汕头市澄海区广播电视大学 343566

摘要 & 在 !"#$%"$#&’"#%(")# 技术的深入发展和广泛应用的今天 # 传 统 的 客 户 机 & 服 务 器 计 算 方 式 已 经 不 能 适 应 实 际应用的需要 # 而 *+,, 架构正是适合 !"#)%")# 上的 -). 计算特点而产生和发展的 # 与传统的客户机 / 服务器计算模 型相比 #01,, 架构采用组件的思想 # 从而带来了开发 " 维护和使用时的便利 ! 关键词 &01,, ) 三层 -).) 开发应用 中图分类号 &8IDKD 文献标识码 &2

序言
随 着 A9/2;92/6A9/;=92/ 技 术 的 深 入 发 展 和 应 用 # 传 统 的 客 户 机 6服 务 器 计 算 方 式 已 经 不 能 适 应 新 的 需 要 ! 在传统的客户机 6 服务器计算模型中 # 表示逻辑层位于 客户端 # 数据逻辑 位 于 服 务 器 端 # 而 商 务 逻 辑 位 于 客 户 端 # 或者位于服务 器 端 或 者 同 时 存 在 于 客 户 端 " 服 务 器 端 # 例如在客 户 程 序 上 控 制 数 据 的 处 理 方 式 和 数 据 库

服务器上的存储过程等 ! 这种计算模型难以适应 A9/2;"

92/ 应用系统的需要 ! 而 L!55 架构正是适合 A9/2;92/ 上
的 ,2> 计算特点而产生和发展的 # 这种架构采用组件 的 思 想 #将 商 务 逻 辑 从 客 户 端 "服 务 器 端 中 独 立 出 来 # 更适应于日益复杂化和日益变化的商务逻辑的需要# 从而带来了开发 " 维护和使用时的便利 !

" #$%% 架构概述

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
接 ! 这一部分只涉 及 到 系 统 维 护 " 数 据 更 新 等 # 不 存 在 完全采用 &!’ 结构带来的客户端维护工作量大等缺 点 ! 并且在客户端可以构造非常复杂的应用 # 界面友好 灵活 # 易于操作 # 能解决许多 ( ! ’ 存在的固有缺点 ! 管 理 模 式 # 随 着 因 特 网 技 术 的 飞 速 发 展 # 建 立 &6’"(6’ 相结合的管 理 信 息 系 统 成 为 必 然 趋 势 ! 我 们 既 不 能 放 弃传统的客户机 6 服务器结构 # 又要为广大用户提供熟 悉的界面 # 随着第四代技术 $*78 % 与基于构件的开发方 法成为软件工程的主流 # 就必然采用 &6’ "(6’ 相结合的 网络架构 ! 只有这样才能加快检验检疫通关速度 # 进一 步方便进出口企 业 # 增 强 系 统 的 可 操 作 性 " 安 全 性 和 可 靠性 # 全面实现检验检疫电子化 " 信息化的目标 !

)*+ 对 于 原 有 的 基 于 & ! ’ 体 系 结 构 的 应 用 # 只 需 开
发用于发布的 ,,, 界面 # 就可非常容 易 地 升 级 到 这 种体系结构 # 并保留原来的某些子系统 ! 这样就充分地 利用现有系统的资源 !

)#+ 通过在浏览器中嵌入 -./0123 控件可以实现在
浏览器中不能 实 现 或 实 现 起 来 比 较 困 难 的 功 能 ! 例 如 通过浏览器进行报表的应答 !

参考资料 &
%"’ 计 算 机 网 络 ( 第 三 版 -9:;2< ’$8=929>=?@ 编
著 # 熊桂喜 王小虎等译 # 清华大学出版社 !

)4+ 将服务器端划分为 ,5( 服务器和 ,5( 应用程
序两部分 ! ,5( 应用程序采用组件技术实现三层体系 结构中的逻辑部分 # 达到封装的目的 !

!" ’&AB!""" C!$" 出 入 境 检 验 检 疫 综 合 业 务 管 理
系统技术手册 ( 国家质量技术监督检验检疫总局 !

D"’ 软 件 工 程 E 实 践 者 的 研 究 方 法 ( 第 五 版 $ 美 %

! 结束语
出 入 境 检 验 检 疫 系 统 采 取 基 于 &6’ "(6’ 相 结 合 的

FGH2; ’$I;2JJ@=9 著 # 梅宏译 # 机械工业出版社 #!""!$K
收稿日期 &!""# 年 * 月

!""#$%%

()

电脑知识与技术

网络通信 求" 三层模式的主要优点为 $

!"#$ 是 美 国 %&’ 公 司 推 出 的 一 种 全 新 概 念 的 模
型 !它 采 用 分 层 结 构 !层 与 层 之 间 相 互 独 立 !每 个 层 面 提供特定服务 " 在分层结构中 ! 任何一层只要其提供的 接口不变 ! 实现发 生 什 么 变 化 ! 对 其 他 层 没 有 任 何 或 最 少影响 " 分层后不仅使各层功能变得简单且易实现 ! 而 且具有更好的可维护性和可扩展性 " !"$$ 架构分为以 下几层 (

!良 好 的 灵 活 性 和 可 扩 展 性 " 对 于 环 境 和 应 用 条
件经常变动的 情 况 ! 只 要 对 应 用 层 实 施 相 应 的 改 变 ! 就 能够达到目的 "

"可 共 享 性 " 单 个 应 用 服 务 器 可 以 为 处 于 不 同 平
台的客户 应 用 程 序 提 供 服 务 ! 在 很 大 程 度 上 节 省 了 开 发时间和资金投入 "

) # 表示 层 $ 即 客 户 端 的 浏 览 器 通 过 *+, 向 最 终 用
户显示被请求的信息 "

# 较好的安全性 " 在这种结构中 ! 客户应用程序不
能直接访 问 数 据 ! 应 用 服 务 器 不 仅 可 控 制 哪 些 数 据 被 改变和被访问 ! 而且还可控制数据的改变和访问方式 "

" # 表 示 逻 辑 层 $ 在 由 一 个 或 者 多 个 -./ 服 务 器 构
建 的 空 间 里 运 行 ! 使 用 !%0 #%.123.45 完 成 动 态 内 容 显 示

6如 7%0 #!%0 等 8 和流程逻辑控制 " 9 # 商 务 逻 辑 层 $ 由 若 干 运 行 在 $!: 容 器 ; 服 务 器 下
的 $!: 组件组成 ! 这些组件是可以重 复 利 用 的 ! 可 以 不 做任何修改就移植到其他的服 务 器 上 " 而 $!: 对 数 据 库的访问是通过 !<:= 来实现 "

$增 强 了 企 业 对 象 的 重 复 可 用 性 " % 企 业 对 象 & 是
指封装了 企 业 逻 辑 程 序 代 码 ! 能 够 执 行 特 定 功 能 的 对 象 " 随着组件技术的发展 ! 这种可重用的组件模式越来 越为软件开发所接受 "

% 三 层 模 式 成 为 真 正 意 义 上 的 % 瘦 客 户 端 &! 从 而
具备了很高的稳定性 # 延展性和执行校率 "

> # 数据库 层 $ 由 一 个 或 者 多 个 数 据 库 系 统 组 成 ! 其
中可能包括由 存 储 过 程 组 成 的 和 数 据 存 取 相 关 的 逻 辑 模块 "

&三 层 模 式 可 以 将 服 务 集 中 在 一 起 管 理 ! 统 一 服
务于客户 端 ! 从 而 具 备 了 良 好 的 容 错 能 力 和 负 载 平 衡 能力 "

!?$$ 架构通过把表现逻辑 # 商务逻辑和后端的数
据服务分割开 来 ! 向 开 发 者 提 供 了 一 种 基 于 组 件 的 设 计 #开 发 #装 配 及 部 署 企 业 应 用 程 序 的 模 块 化 方 式 !为 要转向 -./ 应用的用户提供了高性能多线程的环境 "

! 三层 "#$ 结构的优点
三 层 客 户 ;服 务 器 模 式 6 以 下 简 称 三 层 模 式 8 在 两 层模式的基础上 ! 增加了新的一级 " 这种模式在逻辑上 将 应 用 功 能 分 为 三 层 $客 户 显 示 层 #业 务 逻 辑 层 #数 据 层" 客户显示层是为客户提供应用服务的图形界面! 有助于用户理解和高效的定位应用服务 " 业务 逻 辑 层 位 于 显 示 层 和 数 据 层 之 间 ! 专 门 为 实 现企业的业务 逻 辑 提 供 了 一 个 明 确 的 层 次 ! 在 这 个 层 次封装了与系 统 关 联 的 应 用 模 型 ! 并 把 用 户 表 示 层 和 数据库代码分 开 " 这 个 层 次 提 供 客 户 应 用 程 序 和 数 据 服务之间的联 系 ! 主 要 功 能 是 执 行 应 用 策 略 和 封 装 应 用模式 ! 并将封装的模式呈现给客户应用程序 " 数 据 层 是 三 层 模 式 中 最 底 层 !他 用 来 定 义 #维 护 # 访问和更新数据并管理和满足应用服务对数据的请

图 ! 三层体系结构示意图

% 体系架构的选择
+@A1B5BC4 的 分 布 式 =D+ ’<=D+ ( 技 术 是 将 组 建 对
象模型技术 =D+ 大 大 进 行 了 扩 展 ! 是 对 在 局 域 网 # 广 域 网 甚 至 是 E’4.1’.4 上 计 算 机 对 象 之 间 的 通 信 提 供 了 完全的支持 " 通过使用 <=D+ 用户的应用程序就 可 以 在任何网 络 位 置 上 达 到 真 正 的 分 布 性 ! 从 而 满 足 客 户 应用的需要 " 整体结构如下图所示 $

图" 由 D+F 提出的公共对象请求代理结构 =DG:H 对

!"

电脑知识与技术

网络通信 象是目前比较 流 行 的 一 种 中 间 件 规 范 ! 也 是 一 种 构 件 实现规范 ! 主要目 标 是 使 对 象 在 分 布 式 环 境 中 可 重 用 " 可移植和可互操作 !&’()* 的整体结构如下图所示 #

电脑知识与技术 其中中间件使用 ).= 公司的 2.<9>?@AB ’ " ! 开发工 具使用 0)C@9D./E ’ " ! 数据库使用 :F)*:1 数据库 ’ 在用 户登录过程中 ! 因 为 在 整 个 客 户 端 使 用 的 用 户 比 较 多 ! 因此在连接上我们使用连接池进行处理 ’ 为了使用 :.66@>,).=, 进行登录确认处理 ! 同时利 用 ).=, 的 监 听 功 能 对 用 户 的 登 录 时 间 进 行 监 听 ! 超 过 一定时间 ! 自 动 切 断 用 户 登 录 连 接 ! 让 用 户 进 行 重 新 登 录 ’ 在使用 0!11 框架结构的过程中 ! 使用 :1(4G1H 的 图! 过滤功能来实现权限的控制 ! 具体的实现结构如下 #

以上 两 种 分 布 式 结 构 可 以 实 现 在 统 一 特 定 的 环 境 下的应用 ! 但是针对不 同 平 台 的 应 用 和 +,-./,.- 上 的 应 用而言 ! 具有很大的缺点 $ 而 采 用 基 于 0!11 的 体 系 结 构开发的 21) 服务则具有很多的优点 # %% & 应 用 系 统 的 集 成 ’ 要 把 企 业 里 不 同 语 言 写 成 的 ! 运行于不 同 平 台 上 的 各 种 程 序 集 成 起 来 必 然 会 花 费很大的开发力量 ’ 通过 21) 服务可以使用标准的方 法把功能和数据暴露出来 ! 供其他程序使用 ’ %! & 所 有 的 企 业 逻 辑 和 服 务 都 集 成 封 装 在 可 重 用 " 可移植的 10) 组件中 ! 因此系统维护性和可重用性好 ’ %3 & 中 间 件 代 码 可 以 集 中 在 处 理 业 务 逻 辑 上 ! 无 需 考虑数据表示 ’ 图# 在业务逻辑处理上! 我们对各个业务进行相应的 分解 ! 然后针对每个业务逻辑 应 用 10) 组 件 进 行 实 现 ’ 客户做出请求后 ! 使用 :1(4G1H 处 理 后 调 用 各 个 业 务 模块处理逻辑 !10) 组件访问数据库后将处理后的结果 集返回给 :1(4G1H ! 再汇集到客户端进行显示 ! 供用户 进行查询和使用 ’

! 系统设计和实现
通过对各种解决方案和框架结构的比较! 选择

" 结束语
现 在 的 2.< 应 用 系 统 应 该 具 有 良 好 的 层 次 结 构 ! 支持多种 平 台 和 良 好 的 可 维 护 性 ! 以 及 很 好 的 安 全 性 和事务支持 ’ 但是 *:I 或 IJI 显然不能很好地满足要 求 ’ 本文提出的 0!11 开发模式就是针对这些问题提供 了一种比较好 的 解 决 方 案 ! 可 以 预 见 ! 基 于 这 种 模 式 的 开发是很有前途的 ’

0*4* 技 术 对 系 统 的 设 计 如 下 # 前 台 用 户 显 示 层 使 用 567 和 6./89.- 在浏览器上 实 现 ! 中 间 使 用 10) 组 件 实 现
企业业务逻辑 ! 后台数据库使用 :;<=6. 数据库 ’ 具体的 企业应用结构如下所示 #

参考文献 #
K%LK 英 LM=,,;*;./6 ! 等 ’ 0=8= 服务器高级编程 KNL ’ 曾
国平 ! 等译 ’ 北京 O 机械工业出版社 !!""%’

K!L 廖若雪 ’ 0:I 高级编程 KNL ’ 北京 O 机械工业出版
社 !!""% ’

K3L 夏帮贵 ’ 0M)&*I+ 数据库编程实用教程 KNL ’ 北
京 O 北京希望电子出版社 !!"" 收稿日期 #!""# 年 P 月 图"

!""#$%%

!!