三层C/S结构及其应用开发
2008-04-09 04:07:13来源:互联网 阅读 ()
三层C/S结构及其应用开发
(本文转载自软件工程专家网www.21cmm.com)asp?page=/bbs/index.asp?Type=A" target=_blank>
一、三层C/S的基本硬件结构
传统的二层C/S结构存在以下几个局限:1它是单一服务器且以局域网为中心的,所以难以扩展至大型企业广域网或Internet;2受限于供应商;3软、硬件的组合及集成能力有限;4难以管理大量的客户机。因此,三层C/S结构应运而生。
三层C/S结构是将应用功能分成表示层、功能层和数据层三部分。其解决方案是:对这三层进行明确分割,并在逻辑上使其独立。原来的数据层作为DBMS已经独立出来,所以关键是要将表示层和功能层分离成各自独立的程序,并且还要使这两层间的接口简洁明了。
将上述三层功能装载到硬件的方法基本上有三种(如图1所示)。其中表示层配置在客户机中,而数据层配置在服务器中。
一般情况是只将表示层配置在客户机中,如图1(1)或图1(2)所示。如果像图1(3)所示的那样连功能层也放在客户机中,与二层C/S结构相比,其程序的可维护性要好得多,但是
其他问题并未得到解决。客户机的负荷太重,其业务处理所需的数据要从服务器传给客户机,所以系统的性能容易变坏。
如果将功能层和数据层分别放在不同的服务器中(如图1(2)所示),则服务器和服务器之间也要进行数据传送。但是,由于在这种形态中三层是分别放在各自不同的硬件系统上
的,所以灵活性很高,能够适应客户机数目的增加和处理负荷的变动。例如,在追加新业务处理时,可以相应增加装载功能层的服务器。因此,系统规模越大这种形态的优点就越显著。
值得注意的是:三层C/S结构各层间的通信效率若不高,即使分配给各层的硬件能力很强,其作为整体来说也达不到所要求的性能。此外,设计时必须慎重考虑三层间的通信方法、通信频度及数据量。这和提高各层的独立性一样是三层C/S结构的关键问题。
二、三层C/S的功能
1. 表示层
表示层是应用的用户接口部分,它担负着用户与应用间的对话功能。它用于检查用户从键盘等输入的数据,显示应用输出的数据。为使用户能直观地进行操作,一般要使用图形用户接口(GUI),操作简单、易学易用。在变更用户接口时,只需改写显示控制和数据检查程序,而不影响其他两层。检查的内容也只限于数据的形式和值的范围,不包括有关业务本身的处理逻辑。
图形界面的结构是不固定的,这便于以后能灵活地进行变更。例如,在一个窗口中不是放入几个功能,而是按功能分割窗口,以便使每个窗口的功能简洁单纯。在这层的程序开发中主要是使用可视化编程工具。
2. 功能层
功能层相当于应用的本体,它是将具体的业务处理逻辑地编入程序中。例如,在制作订购合同的时要计算合同金额,按照定好的格式配置数据、打印订购合同,而处理所需的数据则要从表示层或数据层取得。表示层和功能层之间的数据交往要尽可能简洁。例如,用户检索数据时,要设法将有关检索要求的信息一次传送给功能层(参见图2),而由功能层处理过的检索结果数据也一次传送给表示层。在应用设计中,一定要避免"进行一次业务处理,在表示层和功能层间进行多几次数据交换"的笨拙设计。
通常,在功能层中包含有:确认用户对应用和数据库存取权限的功能以及记录系统处理日志的功能。这层的程序多半是用可视化编程工具开发的,也有使用COBOL和C语言的。
3. 数据层
数据层就是DBMS,负责管理对数据库数据的读写。DBMS必须能迅速执行大量数据的更新和检索。现在的主流是关系数据库管理系统(RDBMS)。因此,一般从功能层传送到数据层的要求大都使用SQL语言。
三、三层C/S结构的优点
1. 具有灵活的硬件系统构成
对于各个层可以选择与其处理负荷和处理特性相适应的硬件。这是一个与系统可缩放性直接相关的问题。例如,最初用一台Unix工作站作为服务器,将数据层和功能层都配置在这台服务器上。随着业务的发展,用户数和数据量逐渐增加,这时就可以将Unix工作站作为功能层的专用服务器,另外追加一台专用于数据层的服务器。若业务进一步扩大,用户数进一步增加,则可以继续增加功能层的服务器数目,用以分割数据库。清晰、合理地分割三层结构并使其独立,可以使系统构成的变更非常简单。因此,被分成三层的应用基本上不需要修正。
2. 提高程序的可维护性
三层C/S结构中,应用的各层可以并行开发,各层也可以选择各自最适合的开发语言。
3. 利于变更和维护应用技术规范
因为是按层分割功能,所以各个程序的处理逻辑变得十分简单。
4. 进行严密的安全管理
越关键的应用,用户的识别和存取权限设定愈重要。在三层C/S结构中,识别用户的机构是按层来构筑的,对应用和数据的存取权限也可以按层进行设定。例如,即使外部的入侵者突破了表示层的安全防线,若在功能层中备有另外的安全机构,系统也可以阻止入侵者进入其他部分。
此外,系统管理简单,可支持异种数据库,有很高的可用性。
四、三层C/S应用的开发
三层C/S应用的开发必须遵从以下原则:保护已有投资;降低应用系统的风险; 满足当前的迫切需要;考虑未来的发展规划。
开发出的三层C/S应用系统必须是:功能丰富且具有高可用性;功能要能跨应用系统;系统要能跨平台运行。
美国BEA系统有限公司产品计划和战略副总裁Jeri Edwards女士,按下述三种三层C/S应用系统的典型开发类型,分别举例介绍了他们的开发目标、开发过程、开发成果及经验体会。新建应用系统类型(Greenfield),如英国劳工局的劳动力市场系统;提升已有系统性能类型(Turbocharger),如Apple公司的AppleOrder Global系统;综合集成已有系统类型(Integrator),如AT&T的Zenith应用系统。Jeri Edwards女士根据三层C/S应用系统的开发经验和教训,总结出了实现C/S应用系统的"黄金10原则" :
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:极限建模方法
下一篇:从C/S到Intranet
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash