- 积分
- 21
- 鸿鹄币
- 个
- 好评度
- 点
- 精华
- 最后登录
- 1970-1-1
- 阅读权限
- 10
- 听众
- 收听
网络小学徒

|
谈谈分布式WEB开发的趋势
t% i" b, g. k% A: b7 I: ?' B0 n0 `. G/ k
从最初的HTML静态文本页面到CGI、ISAPI/NSAPI、ASP/JSP技术,基于
" t8 O( Y% F% b+ S( B, w, e6 J$ }1 F
Internet/Intranet的WEB应用也越来越成熟。目前流行WEB程序设计技术ASP是由) R0 W; W4 d% ?9 F) q4 M# m7 L. f. H
. c2 v' }* e/ U# S9 {; P
微软提供的。ASP应用系统就是在HTML中内嵌脚本语言,然后以脚本语言使用ASP
4 d; k1 o) b" B9 E) H+ m
) [6 q' D* Q1 q" ]对象来取得HTTP要求的信息,根据这些HTTP要求来处理结果,如果有需要的话就" H4 Y, i! s8 K& K
! D5 C: r% ]7 _8 A2 ~. ~+ |
使用ADO存取数据库,当ADO对象处理完毕之后再使用ASP对象把结果会传给客户端
* D3 Z* W R: _
d! I* b& q1 H2 `; c4 H的浏览器。 B$ ?- b# H* A2 a( I, t
微软在IIS中也提供了5大默认ASP对象负责提供HTTP要求和相应的功能。
1 j* d7 W4 d& }) r这5个默认的ASP对象都是COM对象,当脚本语言调用它时,IIS会执行这些对象来8 P9 Y1 z8 s4 O6 ^
0 f* I2 m1 k: K+ z" [0 F; \) N2 t" z
完成用户的HTTP要求。这本来很好,但糟糕的是目前有很多的WEB应用系统完全使* G8 P$ i: T4 `8 a" p# R4 t
) L6 A2 V0 w6 w: `& E+ W" ], J) n' q用脚本语言来开发整个系统的逻辑。使用这种方式开发WEB应用,有着十分明显的' r' C- `' ^+ J5 V( p
! S6 j, H4 V/ \! W7 ~; _
问题,那就是页面的脚本语言结构十分复杂,逻辑不清晰,可读性差。这不仅给
- v# o, z9 ]# w3 z1 ~9 p3 M8 [1 h3 ]! L) d
编程人员本身带来不便,也给系统的维护带来不小的困难,特别是当应用逻辑需. O3 L) M* Y7 ?
. r/ n1 M( E6 ~/ }! n求发生变动时,修改这些臃肿、晦涩的解释性脚本源代码真是味同嚼蜡。而且仅
3 R9 m; H, \6 U, \
( o5 H" U( x7 f9 k/ Y5 n用ASP 技术也难以应付复杂而细致的商务逻辑处理任务。使用这种方式开发复杂* q9 h5 ~' Y0 o' F* H l0 ^
& }5 X9 D" c) i; [- a# e4 s的WEB应用生产力很低。3 l# O6 j+ f) r' V8 y9 R0 u, e
2 A- K$ t8 P4 L; a3 ?1 \. z q根据Windows DNA的技术思想,进一步的做法是把应用系统的逻辑运算写成定制
0 ^: z1 w- G) L5 s' j2 r; x8 m+ O% c V& P
ASP对象(COM对象),使用少量的脚本语言来驱动/使用这些定制ASP对象以完成
1 C! a( y+ y5 r. }" s$ w
& R$ b' t' v, hWEB应用系统。使用这种方式来开发比完全使用脚本语言进步了很多,它使得应用/ u3 I( q$ E& M: ~6 o; Z+ Q+ [
3 S' p6 J" m% \, \( ]+ W3 y' k9 g' L
开发有了明确的分工。一部分人员专注于事务逻辑层COM 组件的开发和测试工作
8 Y! V& G: w6 \. j* S
* p' X4 p9 q+ T;另一部分人员根据商务逻辑的需要选择和使用COM组件,使用组件提供的统一对* F% K2 i4 F) z- b" C) W1 R
$ k. ]8 j: f/ h3 B& O, H3 U: V外接口而无须了解其功能实现的内部细节,最终以精练的ASP脚本语言把组件集成* i& `0 i6 L* R4 q9 x
2 }/ Z I" n- `. g3 p% ?, j2 P3 k到页面之中,从而有效降低了开发难度,加快了开发进度。但这种ASP对象是直接
2 W2 f6 C7 X" t- u( m
: Y9 r2 z% R2 \% E$ q/ W) o执行在IIS服务器之中的,它不但会拖慢WEB服务器的效率,而且也很危险,当这
5 H j1 X3 S0 ?% d
8 S. n" N. R6 Q5 ^) |2 c: t P# Q6 j种ASP对象发生的错误可能会危害WEB服务器。而且由于这种ASP对象直接执行在$ b( k1 l ?" |8 L
* H1 _) z' S& m( d d- P: h! h
IIS中,它将享受不到MTS/COM+提供的各种好处,如事务管理机制、安全机制、各6 l# R! v# T% ^7 I" `
5 ?$ O, c$ ]( |% h
种Pooling技术等等。程序员若想使这些COM对象同样拥有这些优点(有些根本不
3 s" _; P4 S* L, t" n: w
* c( H: E z- _+ h. w1 d可能拥有),就必须对底层细节非常了解,手工编写代码来实现,可想而知,生
$ J1 S% q( ~ i1 Y8 V. J, O! V f. ?8 k' L
产力不会高到那里去。( r1 e5 E0 _9 j( ~5 {: g9 g
3 \0 T! D# W: {7 u% q
让我们沿着这个技术的发展趋势继续向下看。在微软的Windows 2000的IIS 5中提
; B; D: S5 Y5 M# O( x6 N" K, K! G3 y8 o8 p& v# l
供了另外一种ASP对象,这种ASP对象实际上就是COM+对象,它是直接执行在COM+
, L0 h. K5 j3 d9 g1 h' e2 H0 z9 j5 h" q5 [- c, h9 k9 q
环境中的,它可以使用ASP默认的5大对象存取HTTP要求的信息。当WEB服务器一旦
' y1 _: x+ b6 M3 j" D0 l% f
0 p' A0 z( l6 P( i2 h. z# {收到HTTP要求之后,它立刻把此要求转给执行在COM+环境中的这种ASP对象来处理
2 q7 D- {- m5 w% D) \8 K: Z# _
8 x$ _9 D4 n& H' ^) H,WEB服务器可以再响应其它客户端的HTTP请求,当这种ASP对象执行完企业逻辑+ B- S1 v9 F4 d3 |) v$ y( C; i
1 d" P, i$ l% ~ T% f0 S代码产生了结果主页之后,它使用默认的Response对象再通过WEB服务器,把结果
' E$ u0 U( Y( j! B
, A* j' I) N& X/ g/ y3 J会传给客户端。这种类型的ASP对象可以享受到MTS/COM+环境提供的稳定性,和对; ~) ~9 s( ?- K# Y
6 l: ~( L! R3 I2 l: B F. V2 `事务管理的好处。如果开发人员注意使用COM+环境提供的数据库链接Pooling、线+ R) n* t u7 u; S! J1 d. u0 u
/ y- `# s% t& L8 t k2 N程Pooling、对象Pooling的功能,那么这种方式开发的基于WEB的分布式系统将是
3 y4 f' e9 Z/ O& J; C6 a: v! o3 R# ^
非常稳定,执行效率也很高,同时系统具有很强的扩展性。这种开发方式会成为/ T5 n% d' L, L
0 H. L8 x5 Z- Z' I! D
未来WEB应用系统开发的趋势。
* k( y/ g3 B7 Q1 Q/ v1 T, B! Q! A8 Q7 X
云博计算机项目实训学校自成立以来,以注重质量、做足细事为准则,在职业教
' f% I6 ^( F. y) d
0 z4 r- T0 ]7 m% ^" I7 E育领域里不断锐意进取,获得了许多教育领域里的殊荣。
6 Q! T8 d; R% {2 |+ B" q o! x, V地址:西安财经学院雁塔校区(西安市大雁塔北广场西侧)8 V0 M8 ^8 [3 R; H
电话:4006-800-263
0 b" g. C# G3 J; y. f* VQQ:1619695378
6 w9 ^( `/ o, o网址:yunboit.com# } Y* N- A6 {, N& ]. }
邮箱:service@yunboit.com/ f+ \* v* u6 D' m- J3 V
乘车线路:
8 c6 }) z; P1 R' d& _翠华路:24路, 26路, 27路, 30路, 34路, 400路, 401路, 521路, 527路, 701路8 v x& p$ i: k! p( H0 W( E
I" J' J3 K/ S, 710路, 721路, 722路, k19路, k5路, 教育专线, 游6路/ a7 b p! \7 u- t* q6 m: h b2 x( K
大雁塔(北广场):21路, 22路, 24路, 41路, 44路, 224路, 237路, 242路,
9 z' t+ ~. ]: I
3 c' N8 D/ G C500路, 601路, 619路, 715路, 933路, k606路) e& x; A3 \7 y& Y6 V3 z# h
) {9 |4 X9 j7 ?' m" d' }# E |
|