三层C/S结构的三层主要分为表示层、功能层以及数据层。
A 表示层
表示层是应用的用户接口部分,它担负着用户与应用间的对话功能。它用于检查用户从键盘等输入的数据,显示应用输出的数据。为使用户能直观地进行操作,一般要使用图形用户接口(GUI),操作简单、易学易用。在变更用户接口时,只需改写显示控制和数据检查程序,而不影响其他两层。检查的内容也只限于数据的形式和值的范围,不包括有关业务本身的处理逻辑。
图形界面的结构是不固定的,这便于以后能灵活地进行变更。例如,在一个窗口中不是放入几个功能,而是按功能分割窗口,以便使每个窗口的功能简洁单纯。在这层的程序开发中主要是使用可视化编程工具。
B 功能层
功能层相当于应用的本体,它是将具体的业务处理逻辑地编入程序中。例如,在制作订购合同的时要计算合同金额,按照定好的格式配置数据、打印订购合同,而处理所需的数据则要从表示层或数据层取得。
表示层和功能层之间的数据交往要尽可能简洁。例如,用户检索数据时,要设法将有关检索要求的信息一次传送给功能层,而由功能层处理过的检索结果数据也一次传送给表示层。在应用设计中,一定要避免进行一次业务处理,在表示层和功能层间进行多几次数据交换的笨拙设计。
通常,在功能层中包含有:确认用户对应用和数据库存取权限的功能以及记录系统处理日志的功能。
C 数据层
数据层就是DBMS,负责管理对数据库数据的读写。DBMS必须能迅速执行大量数据的更新和检索。现在的主流是关系数据库管理系统(RDBMS)。因此,一般从功能层传送到数据层的要求大都使用SQL语言。
(2) 三层C/S结构的优点
A 安全性加强。应用服务器把客户与数据库服务器分开了,客户端不能直接访问数据库服务器。应用服务器可控制哪些数据被改变和被访问,以及数据更改和访问方式。另外,对应用和数据的存储权限可以分层进行设定,这样,即使外部的入侵者突破了客户端的安全防线,若在应用服务器和数据库服务器中备有另外的安全机构,系统也可以阻止入侵者进入其他部分。
B 效率提高。三层C/S结构中,客户端和应用服务之间的链接实际上只是一些简单的通信协议,而和数据库服务器打交道所需要的设置或驱动程序,均由应用服务来承担,这既减轻了客户端的负担,也降低了数据库服务器的链接代价,使数据库服务器专心于数据服务而不是频繁地和客户端的应用程序交流。各层的逻辑关系清晰明了,真正做到了“瘦客户”。
C 易于文护。由于应用逻辑被封装到了应用服务器中,因此,当应用逻辑发生变化时,仅需修改应用服务器中的程序,客户端的应用程序不必更新,文护的代价大大降低。
D 可伸缩性。三层结构是明确进行分割的,逻辑上各自独立,并且能单独实现。由于它们是逻辑划分的,与物理位置不一定相对应,因此它们的硬件系统构成是很灵活的,各部分可以选择与其处理负荷和处理特性相适应的硬件。三层既可以在一台计算机上,也可以在两台甚至更多的计算机上,只要它们在体系上遵循三层C/S结构就可以了。
E 可共享性。单个应用服务器可以为处于不同位置的客户应用程序提供服务,即应用系统只写一次就可以用于各个环境。
F 开放性。由于应用服务器的每个组件都有标准的接口,用户可以重写自己的客户端程序和自己的浏览器程序。系统管理简单,可支持异种数据库,有很高的可用性。