|
表示层是什么?
,h/@9^1n*f a&I尽管表示层并不见得比其它层更重要,但是它几乎得到了全部的荣耀——因为它是唯一的CMS用户可以看到的层。这个层负责CMS与用户的交互工作。
6r7r-j+I&|!p)p5Ktech.techweb.com.cn8F1o3?/t9|:P*M
表示层实际上由两部分组成:即Web客户端和Web服务器。Web客户端驻留在用户计算机中,通常用来接受Web浏览器的表格(form)。Web服务器位于Web主机地址上,用来生成动态Web页面和组成CMS系统的表格。tech.techweb.com.cn2T3i/W1r(C0t#R
6f.e0l"L,K*r*t8l#v
Web客户端与Web服务器端通过“请求——回应”的方式来相互通信。Web客户端向Web服务器发出请求,Web服务器根据请求作出回应。*F)T1p.N&B-x
2W0d;f%s,D3P"D;u程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛Web客户端使用的是HTTP的请求方式。如:
9E%Y-c:|3H'Z#Z-r程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛
*~6d*P!m8f m8a"ZGET /index.html HTTP/1.0tech.techweb.com.cn:t D+U$e.@2x+b/b
User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)tech.techweb.com.cn4D4|-b/W4N%m4m5y9l"}
Host: www.contentmgr.com3m)u/N1d.j4^)w;_
Web servers respond using the HTTP response. For example:tech.techweb.com.cn3B3R.U+b4r2W
HTTP/1.1 200 OK
8Q'u2}/F'y)M'd7STechWeb-技术社区Server: Microsoft-IIS/5.07q"s H8j,j
Date: Thu, 12 Jul 2002 19:19:52 GMT
-u)P!X h#z5q!A程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛Connection: Keep-Alive
&C$L0}%J1IContent-Length: 1270
#Z/t!@5I0eContent-Type: text/htmlTechWeb-技术社区:J&|#Z o1g.| L#Q
Set-Cookie: ASPSESSIONIDQQQGQGDC=MOFPDBPCPNIBACIBDCIOFCCL; path=/程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛5c9[5G#`.@ X3d.i
Cache-control: private
#e8B r*u(l4@&o)f2w"j6g...HTML嵌入了Web服务器发出的回应,该回应用来指示浏览器显示什么内容;JavaScript用来实现客户端的基本功能。最近以来,其它技术,如Java applet和ActiveX组件开始流行了,不过Web服务器在最初发出的回应中,绝大多数还是使用HTML,这包括了服务器发出的用于通知客户端使用何种HTML以外的技术来接管后面的执行过程的回应。
;k6z;B7M"D!y(Q"Qtech.techweb.com.cn.d"z1d;H.y-[
事务逻辑层是什么?程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛;e P:C$f3w+n
重申一次,事务逻辑层的功能可以放到单个的服务器上(三层体系结构),也可以分布到多个服务器上(n层体系结构)。事务逻辑层的功能包括以下三个部分:
!u*}(@,^,\3k4d$a2r E
3w%}8u6]*m2I-BTechWeb-技术社区访问(获取和保存)数据库层的数据。%R2k(B*h(Y8@7J
从表示层获取数据。
%c.l(b0^:s(O$y执行必要的运算并且/或者处理数据。
:V:e/P e'`$~)o y B事务逻辑层从数据库层获取数据,并根据表示层的需要来对数据进行处理。事务逻辑层也可以获得表示层提供的数据,并根据数据库层的需要对其进行处理。#s*E6~;U5W:X%c
(r,P3?#o7r"s:o(dCMS事务逻辑层的许多逻辑与其它两个层的交接(interfacing)有关。在Microsoft.NET下,由于ADO.NET、.NET remoting和Web服务器的帮助,这种逻辑的复杂性大多都被降低了。有了.NET之后,该层的最复杂的逻辑就是用于处理事务逻辑而进行计算和处理数据任务了(用C#或者Managed C++)。tech.techweb.com.cn&b)P.A%{0u9P!G;M-_5o
,M5N:[7r0u2K+W$K,j+}什么是数据库层
$r&a4Y8y5E;?*{tech.techweb.com.cn数据库层的名字告诉了我们它的任务是什么了;它用来处理CMS数据。一个不太引人注意的地方就是,它的数据存储和检索功能并不限制于数据库。它可以是单个或者一系列平面文件(flat file),可能是XML格式。不过,数据通常还是存在数据库中。数据库的类型并不重要,因为对绝大多数CMS系统来说Microsoft SQL Server 2000与Oracle以及Sybase同样优秀(至少,你在Windows环境下)。也就是说,微软公司已经为Microsoft SQL Server 2000优化了.NET接口(interface);这可能会给它一个小小的优势(edge)。不过其它数据库提供商也没有闲着,微软的这个优势很快就会消失。6Z#D-C&i;l:u1}
8W"z'?8t%|7`;I5V
如果你不偏好某种数据库,你最好按通用的方式编写代码,这样你可以把任何数据库嵌入到你的CMS中。谁知道将来会怎样?今年所选择的数据库,明年你可能就不想再用了,是不是?程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛6G%e+V"{/m1B
TechWeb-技术社区5P$[%Q:t/i8s/d+M
数据库层通常有它所在的计算机加载和访问。在大型的CMS中,通常在另一台计算机上保存一个镜像拷贝,这样可以在主机发生故障时,可以用它来顶替。tech.techweb.com.cn$U.i9m5p!n8Y;V D
*t8@$_3Q/c&K5m#S$G
数据库层的内部工作过程、以及数据库本身,对一般的编程者来说是一个迷。开发者在本层的主要任务就是建立数据库、创建并载入数据库纲要(schema),偶尔也需要生成报表,还有一点就是要常常备份数据库。
|