1、简单说client直接访问DBserver为两层
结构。 client通过中间件等应用
服务器访问DBserver为三层结构。 三层结构比两层结构安全。2、可以这样理解:客户端程序访问服务器的结构叫两层结构。中间加一个事务逻辑处理封装的中间件作为沟通就是三层结构,这样可以均衡数据负载!3、拷贝一些基础知识你看一下。(没有图片)附:相关知识现代社会的软件开发
体系结构简单概括就是N层体系结构,这里的N大于等于1。换而言之就是:单机体系(N=1)、Client/Server结构体系(N=2)、多层体系结构(N>2)。下面我们就对这几种体系结构进行简单的介绍和比较。 单机体系:这种软件适用于单机状态,一般情况下是针对某一种单一的应用,如字典软件、翻译软件等等。这种开发方式不适用于综合管理系统的开发。 C/S结构:c/s结构是在局域网上发展起来的,它具有数据集中管理的能力,在出现之初确实解决了很多计算机发展的难题,同时随着4GL语言的发展,用户的界面也比较丰富,在CLIENT端的事物处理能力也使整个系统的性能得到全面的提高,并使管理信息系统(MIS:Management Information System)得到快速的发展。其大概的图例见图1。 我们根据两层结构体系的概念来分解C/S结构的话,可以将他分为表现层(也叫表达层)和数据层。数据层提供数据存放的载体,而表现层则通过一定技术将数据层中数据取出,进行一定的分析并以某一种格式向用户进行显示。在两层体系结构中,表现层对数据库进行直接操作,且大部分的商业处理逻辑(Business Logic,数据之间的关系规则)也在表现层中实现. 图1:Client/Server 体系结构示例 三层体系结构:三层体系结构是N层体系结构的典型,所谓的三层体系结构就是将原来在两层体系结构中的商业逻辑部分从数据层和表现层中提炼出来,形成中间件服务器,所以三层就是:表现层、商业逻辑层(Business Logic)、数据层。在此之外,还有一种系统结构就是分布式系统,其结构系统图见图2。图2:分布式系统的结构示意图 在分布式系统中,其介于客户端和数据端之间的仅仅是一个应用服务器,它管理客户端的软件,但不做性能调整,比如每一个客户端调用时均产生一个新的数据库连接,而不能够将连接保持形成一个连接缓冲池。虽然在分布式应用中已经结合了一些商业处理逻辑,但是并没有真正改变原来的C/S体系结构。 在三层体系结构中,表现层将主要提供与客户的交互功能,数据层提供系统中的所有的数据保存载体,而商业逻辑层将整个系统中的商业处理逻辑整和在一起,形成中间件,在三层中。中间件起了承前启后的作用,表现层将客户端的请求通过IDL调用中间件,中间件在将其转化成数据处理原则,并从数据库中获得相应的数据,返回给客户端的软件,转换成客户要求的方式显示。关于三层体系结构的示意图见图3。 图3:三层体系结构示意图 我们已经简单的介绍了C/S结构和三层体系结构,有关的优点已经昭然若揭,为了更好的让您了解两者的区别,我们将两者进行一些比较。 C/S结构的缺点: 缺乏有效的集权控制:在众多的C/S软件中我们不难看出,所有的构件不能够在一个地点(如一台机器)进行统一的管理,而不得不将他们分化在各个CLIENT的应用中,使得维护和安全保密均很困难。 缺乏安全性:在分散的计算机系统中,控制信息的访问安全是非常困难的,由于客户端经常需要对一些敏感的数据进行分析导致安全漏洞很容易发生。 客户端工作量重:当将一个应用中的所有的商业逻辑全部在各个客户端来实现的时候,仅仅是使用桌面电脑的客户端资源将发生不堪负载的情况。 软件的重用性差:由于C/S结构下的应用软件一般均是根据操作系统进行定制,且开发工具也是有一定的限定,一旦需要改变某一个要素的话,很可能只能重做,例如原来用C语言来开发,现在需要转向PB进行开发,那么,原来的所有工作都需要重新来过。 随着应用的不断复杂,桌面电脑将需要不断的升级以适应系统的性能需求,甚至有时侯会完全超出桌面系统能够承受的限度。例如:诸如多线程和对称多重处理技术等先进操作系统的特性可能不能在标准桌面电脑系统中提供,不通过访问具有这些技术的服务器,客户端的桌面系统将可能永远不能获得这些新的技术的性能。 针对这些问题,三层体系结构给予了很好的解决方案。 在三层体系结构中,提供在客户端和服务器端进行应用功能的分割,系统通过应用将用户定义的界面系统从商业处理逻辑中分割出去。通过将商业处理逻辑集中在中间件服务器中,将能够减小客户端的工作量并使敏感数据访问控制变得简单。 在三层结构中,客户端将与服务器端的数据变化隔离,简单的说,商业处理逻辑不受客户端的用户界面的改变而影响。三层体系中有一个非常重要的特性就是系统具有良好的组件重用性,例如在PB中开发的组件,可以在VC中进行使用。
客户/服务器的开发工作涉及定义客户/服务器的体系结构 然后再将该结构与其它一些对于客户/服务器的实现至关重要的系统结构和技术集成起来 Delphi 的Client/Sever版支持用户开发客户/服务器结构的应用程序 本章中我们将阐述客户服务器体系结构原理 如何用Delphi构建客户/服务器的环境和Delphi存取远程SQL服务器的编程和注意事项
Delphi客户/服务器应用开发原理
客户/服务器体系结构
体系结构概述
客户/服务器系统的体系结构有以下两个特点
● 是集合智能用户工作站作为有效平台使用
● 平台和软件之间的互操作性
客户/服务器结构包括连接在一个网络中的多台计算机 那些处理应用程序 请求另一计算机的服务的计算机称为客户机(Client) 而处理数据库的计算机称为服务器(Server) 所有用户都拥有他们自己的计算机来处理应用程序
客户机计算机可以是大型机 小型机或微机 但是由于微机具有成本的优势 因而通常选择它们作为客户机 同样地 服务器通常是一台微机但在需要较大能力时 也可以使用一台大型机或小型机 在数据库环境下 通过若干称作中间件(Middleware)的程序设计接口 客户机可以与服务器通信 这些接口提供应用程序和数据库之间的连通性
客户/服务器结构也可以包括多个服务器 然而在这种情况下 每个服务器必定只处理一个不同的数据库或提供一个唯一的服务 (注意 使用两上或多个服务器来处理同一个数据库的结构不认为是客户/服务器系统 相反它是一个分布式数据库系统〕
表 归纳了计算机在客户/服务器系统中的既定作用
表 客户机和服务器计算机的作用
━━━━━━━━━━━━━━━━━━━━━━━━━━━
客户机功能 服务器功能
───────────────────────────
管理用户接口 从客户机接受数据库请求
从用户接受数据 处理数据库请求
处理应用逻辑 格式化结果并传送给客户机
产生数据库请求 执行完整性检查
向服务器发送数据库请求 提供并行访问控制
从服务器接收结果 执行恢复
格式化结果 优化查询和更新处理
━━━━━━━━━━━━━━━━━━━━━━━━━━━
客户机概述
如上所述 客户机运行那些使用户能阐明其服务请求的程序 并将这些请求传送到服务器 由客户机执行的计算称为前端处理(front end processing) 前端处理具有所有与提供 操作和显示数据相关的功能
客户机软件由网络接口软件 支持用户需求的应用程序以及实现网络能力的实用程序【例如电子邮件(E Mail)和群件(Groupware)】组成 网络接口软件提供各种数据传输服务 应用程序软件执行具体的任务 如字处理 电子表格和数据库查询生成 实用程序软件通常执行几乎所有网络用户都要求的标准任务
服务器概述
在服务器上执行的计算称为后端处理(back end processing) 后端硬件(back end hardware)是一台管理数据资源并执行数据库引擎功能(如存储 操作和保护数据)的计算机 在大型机环境下 后端网络(back end neork)提供大型计算机至大容量存储设备 控制器以及文件服务器的连接 在识别 评价和选择适当的服务器平台时 必须考虑将由该平台提供的服务 例如 一个数据库服务器可能需要快速处理能力 其他可能需要执行的网络服务有通信 应用程序 文件访问以及只读存储器(CD ROM)服务 随着新的应用技术的广泛使用 可被提供的潜在服务还将继续增加
服务器软件既包括遵循于OSI或其它网络结构的网络软件 又包括由该服务器提供给网络上客户机的应用程序或服务软件
中间件概述
中间件是一个软件层 它保护应用程序开发人员避免受到各种通信协议 操作系统以及数据库管理系统的影响 它为建立可与以前沿袭下来的应用程序并存的新应用程序打下了基础
中间件有好几种类型 它们包括应用程序设计接口(API) 远程过程调用(RPC) 网络通信 数据库访问以及计算机辅助软件工程(CASE)工具
由于客户/服务器系统需要集成各种不同结构的机器和技术 因而应用程序设计相当复杂 选择适当的中间件可以消除程序设计人员为每个单独协议和操作系统编写代码的麻烦
lishixinzhi/Article/program/Delphi/201311/25137
评论列表(0条)