a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 427|回复: 1

[专业语言] JAVA认证:J2EE框架设计技术解析

[复制链接]
发表于 2012-8-4 12:44:44 | 显示全部楼层 |阅读模式
设计目标:
. s: M9 {0 H" o' t    1.       开发效率1 O8 @! }. V( F6 T
    2.       性能、预算
+ e# {- S3 @7 [9 y' o    3.       符合OO设计2 e! n0 W, h# S& @3 ^3 a* s6 v: m# f
    4.       避免复杂性
0 }% _) E8 k+ O! T    5.       可维护性、可扩展性,可重用性
! \' u0 U0 o8 W: Z$ @7 a4 E    分布式应用
" N1 b* `* S% d1 P* z2 ]    不足:* G% V* D. ~- @2 p: o+ P/ d( i
    1.  增加了应用的复杂性
- }, n% ?) y" c8 w    2.  对性能会造成一定的影响  N& F. w2 P0 F$ r7 @3 t7 V  ^
    3.  给OO Design带来一定的困难. {1 c4 D0 f) o0 F
    优点:
+ J% N# X0 u5 Z) ?    1.  能满足多类型客户端的需求(applet, swing)% D9 `* d4 _2 z. r' @& a
    2.  能同时将组件部署到不同的应用服务器
! W3 d$ ]' k5 U- j# u7 i    采用前提:' y4 K+ }3 V& s
    1.  客户端需要使用J2EE技术,比如Swing
, N+ r0 h5 h( x$ ~: @    2.  为了与已有的分布式应用集成
" F# Z$ K1 e( o3 v0 C& l    3.  需要将J2EE组件部署到多个应用服务器: Z9 U% T) `1 J0 F
    4.  实现对多应用组件部署进行控制,提高系统灵活性、可靠性; w8 P+ ?( l9 |" M/ `2 [3 k4 ]& A6 r0 C
    可选技术:
2 L; U# G- W7 S8 l, v; k    可通过集群和负载平衡(remote interface调用单服务器应用)来实现分布式应用的健壮性、灵活性
# j0 c/ C- L- {$ n  s' o- x& e5 g    EJB技术
" `2 R# f# A, K, K3 e) i; Q+ w2 N    缺点:
" b0 U! b. z# z5 \. f, n    1.  测试困难9 C- |3 Z; ~- F" [
    2.  部署麻烦(classloader复杂、部署描述符复杂、开发-部署-测试周期长)# Z4 ?; P1 N; a( {0 t( ~. A
    3.  采用remote interface的EJB不符合OO Design
3 M3 \- g: B% m: Q    4.  技术复杂,可能将简单需求变得复杂开发, S5 H: W/ S! Z; W3 I0 P5 l3 Q
    5.  减少了应用服务器的选择
- G4 C& g; R9 Q* ]8 F% e    优点:
0 f& B  [: q/ ?3 p' Z% L0 K# b    1.  能远程访问组件  {6 B3 V4 W# g7 @+ D6 i+ X* C3 J6 m
    2.  能将应用组件部署到不同服务器(分布式应用)0 @- K4 C; s& E% H  w/ k; ?
    3.  支持多客户端访问
' g. B0 T& G9 T* W, Z6 s3 J4 [    4.  使用到异步消息模式的时候可以采用message driven bean% _+ r. Q+ [" X
    5.  能实现复杂的事务管理
# P2 Q6 W: S0 t. a5 [- N  t    采用前提:9 n, l$ [" P! w, e. e7 i; P- @1 S! B
    1、  对EJB底层比较熟悉
6 F- X7 D+ \: ?3 h6 G    2、  需要使用EJB的角色安全访问
9 W+ x$ A) F5 P2 l+ A3 ?    3、  需要使用EJB的事务管理
4 Q& y% r8 |& \1 x    4、  需要使用EJB的线程安全管理
6 i4 q, t# a" n" g* q+ `. [. }- K    5、  需要使用基于RMI/IIOP的分布式架构. O4 I- ]$ R  I
    4种J2EE基本框架
# ], e/ \. Z* G1 ^% |9 x$ L: ~    一。非分布式框架; f: c9 b% I# x2 o0 x2 P- E
    1、(Web UI tier + Business Logic tier) + implement tier + DBMS- {0 W* v# m! ?0 ~% e  F
    实现简单、能满足大部分需求,是中小型J2EE项目中采用最多的框架,虽然没有使用EJB,但是层次清晰。
/ Z: d2 p' T9 V; ?( {    优点:* i% |% l0 L- @6 `. z8 d6 p
    1.简单
# ?5 T! O& o+ ?7 t) N    2.速度快  y( f# o  D& r5 O7 i, g2 x
    3.符合OO设计
, l" \* M( z2 R0 {8 Q8 t    4.容易测试8 |, i3 \# |/ \& z8 S5 ~. E' V
    缺点:
8 T, ]- |+ J( R. Z" \  ]- B. E  T    1.仅仅适用于Web UI
- I( q( l) }4 q+ A    2.自己管理事务2 S7 x7 ], ]  R% W
    3.无法实现高并发处理
5 k5 o1 X  e$ G" P1 z- i    4.无法使用entity bean
4 `; r2 d) {! J. o$ k( _+ f+ O    5.不支持多JVM应用* X+ E" |- `& D! x* P
    2、Web UI + local EJB + DBMS0 y- X: V. D) y# _, @8 r
    稍微复杂,能使用EJB容器的事务,线程管理,没有采用分布式特性,性能比远程调用稍好
% d" |7 I% d# A. J9 S4 w' _    优点:0 B* O  z* t" y! ^
    1.降低了EJB的复杂度
2 C3 |+ G- M+ S( i7 V    2.不会对基础框架造成影响
0 `8 x& F2 H- _# U* m) K9 Y    3.本地调用对性能有一定优势
; t- [6 l. `2 N    4.可以使用EJB容器的事务和线程管理( g4 H. n# x. G  t+ R5 Y- d3 U
    5.可以使用entity bean+ j' q$ {, c( M$ ^
    缺点:" D$ p; ?$ P# K' A3 j; P# x$ E, Q& `
    1.比纯web应用复杂
  a9 r# z  a1 b& r1 P( g, }    2.单JVM运行
" |0 K: g$ k- k/ b+ [    3.单客户端(web)支持$ H: J/ h4 h5 F' f4 T7 i3 B
    4.测试困难
回复

使用道具 举报

 楼主| 发表于 2012-8-4 12:44:45 | 显示全部楼层

JAVA认证:J2EE框架设计技术解析

二。分布式框架
7 T; j4 F6 I" l$ B    1.基于远程调用的分布式
- x9 g, J! p% c8 O: a    架构最复杂,对有远程访问客户端的需求是理想选择,健壮、灵活,但是不容易维护、测试、实现困难
8 A$ k7 V+ R  k$ L2 ~0 b    优点:& R$ s5 P4 u1 a9 p2 h, @) h' O* a
    1.  多客户端支持" L3 f/ n' i) W
    2.  可将应用组件部署到多台服务器(JVM)- G) X. R) w, c; J
    缺点:- F. B2 v6 C# f2 s
    1.增加了复杂度
4 d; g1 t) ]2 U! s7 L/ I    2.影响性能
5 s9 B% O6 C7 S    3.调试困难
" P( d* T/ J, v    4.必须在EJB容器中运行9 |2 r& v$ i; b6 e
    5.异常处理复杂( q! [7 v" D' X! S6 g$ J
    6.OO设计困难) l" }7 o! Q# ]( V0 B* l  |7 w& ^
    2.基于Web Service的分布式2 d( \0 Q0 Y5 l2 L! w- V: F* ^! X
    对非J2EE客户端调用适用性好,无分布式调用,往往作为第一、第二架构的变体。2 c' p& e* [+ r! E" i
    优点:/ s+ ^" i: h# l7 Q5 N
    1.  通用标准,能支持更多客户端类型  j' E* I, a5 E1 t7 E6 A. V
    2.  提供的Web service接口比RMI接口更好7 s! b) j/ ]4 y# Z3 V) a+ J" W) ?8 H
    3.  Web service传输协议比RMI更友好
6 {& W& ]9 u( `5 a) U. A    缺点:
/ e1 i7 L; C, i- A+ c+ s3 J- b    1.  性能差
2 ^1 P4 D: c; w3 G    2.  需要作object与xml之间的转换
3 K9 f& W9 ?3 @' |0 G4 }0 q    3.  相对于java client来说,性能也不好
2 C# t- y2 x2 R& I& V    UI框架部分5 o) J: ?7 U/ I' O# R
    选择UI的几个决定性因素:
8 {3 u" k- G1 U9 f    1.  用户的实际需求+ |3 `8 \2 b- ^0 W7 K) l! W
    2.  项目的性能要求% Q8 ?) }7 ^5 s% n9 k" ]- D
    3.  当前开发人员技术水平
8 l6 _( A! v$ q, b  ^+ M    J2EE框架设计几个需要强调的观点
' x% x) c/ Q0 ~+ Q3 ^5 H    简单. I8 e; l0 n6 X! [) V3 ^  z: W
    可维护性
( ]0 r9 F( I$ S: v) r4 U' l    性能
% f$ @! j4 `6 N! Y/ H    开发效率
7 C2 A3 C. n, @3 r# i7 m    J2EE框架设计通用法则
& n2 C  G/ s1 M    1.  使用J2EE,而不是让J2EE牵着鼻子走(因需而用,而不是因有而用)  G$ F* k% n& R3 P4 I$ T& ]5 O
    2.  万不得已不要使用EJB(谬论:把EJB视为J2EE核心)( a/ y/ ?+ z6 \  C9 h' k$ s$ L1 x
    3.  万不得已不要采用分布式架构
2 i8 W5 ^, [9 b3 i% U! K& q    4.  企业应用不要仅仅局限于J2EE技术(业务知识,。NET技术), Z7 J* |/ K) @" u
    5.  J2EE不仅仅是一个规范
3 Y8 A9 F/ P# h, Y2 D    6.  谨慎处理数据库通用性,数据比J2EE应用的寿命更长7 x+ x0 b1 c0 p! W/ {4 \8 S( e
    7.  利用好JDBC(SQL)技术3 }2 u3 t& J  v4 i0 ?# |
    8.  不要忽略数据库的能力
. S  A0 D, M5 W' j& t- e/ G- t+ i" M! d    9.  简单即是美4 k# O3 `5 {! M1 G3 x. t0 m( D
    10.有时候使用EJB的好处可能来自于无状态Bean) U# p# @" u! s" {5 ^) e$ i  d
    11.在项目启动初期就应该考虑到性能问题7 h0 y2 M0 t3 }; |6 W2 I( P
    12.在设计的时候考虑应用在集群环境下运行的可能性
9 @2 D  ?9 {) @    13.好的J2EE设计来自于好的OO设计
' C, J9 N, e& g% D, g    14.使用辅助类来隐藏底层API实现
' W: F3 `- Z$ |& K) V" e    15.在web UI层采用MVC框架4 H: A' u1 r) i6 n
    J2EE框架设计成则
: s" S- b+ x4 H    1.  底层设计必须着眼当前可用规范而不是未来新规范$ Y$ c' h, G( i+ B8 i7 X% E5 s
    2.  没有针对实际需求的简单例程参考价值有限
* x$ B, Y5 d9 v2 J/ `    3.  对框架进行详尽的测试+ ~0 M6 N; z: _0 m( x
    4.  对代码进行详尽注释
$ d, s/ Z& Z  s) c    5.  尽可能早的对风险加以解决# d" I6 J5 `& x
    6.  项目启动时就确定所采用的服务器
8 Y* y# I! Q; p    7.  在项目早期实现自动测试和构建
: T' L# d" @6 i- z* r9 T    8.  在项目启动时雇佣J2EE设计专家
: a" n! A+ w. Y( b- U7 M    9.  避免重复发明轮子/ v7 _1 F* M6 ^5 N: |9 S
    10.统一设计和编码风格
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-9-27 21:01 , Processed in 0.328995 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表