©2004西南交通大学·章雪岩客户/服务器系统扩展模块B第10章客户服务器系统2©2004西南交通大学·章雪岩随着网络技术的发展和应用系统的功能应用日趋广泛,传统的集中式数据库技术呈现出不足:无论集中存储集中处理,还是分布存储集中处理,网络通信开销很大处理集中于一台计算机,造成风险增大,可靠性减弱集中式处理导致系统配置不灵活,规模伸缩性差分布计算逐渐受到重视第10章客户服务器系统3©2004西南交通大学·章雪岩EM_B客户/服务器系统EM_B.1分布计算概念EM_B.2客户机/服务器计算模式EM_B.3C/S系统的体系结构EM_B.4C/S系统的管理问题EM_B.5C/S系统开发示例EM_B.6本章小结第10章客户服务器系统4©2004西南交通大学·章雪岩EM_B.1分布计算的概念早期的DBS是集中式:单点存储单点处理于同一台计算机网络环境下系统的应用趋于分布分布计算的概念有三个层次:处理分布:单点数据多点处理,属于集中式数据库范畴数据分布:多点数据多点处理,存储节点与处理节点不区分,属于分布式数据库范畴功能分布:DBMS与其它应用分离,形成客户机(Client)+服务器(Server)结构:简称C/S.单服务器结构的C/S属集中式数据库;多服务器结构的C/S属分布式数据库范畴第10章客户服务器系统5©2004西南交通大学·章雪岩第十章客户/服务器系统EM_B.1分布计算概念EM_B.2客户机/服务器计算模式EM_B.3C/S系统的体系结构EM_B.4C/S系统的管理问题EM_B.5C/S系统开发示例EM_B.6本章小结第10章客户服务器系统6©2004西南交通大学·章雪岩EM_B.2.1C/S结构的工作模式C/S的核心是“功能分布”:客户端:数据处理,数据表示,用户接口…服务端:DBMS核心功能(狭义C/S)第10章客户服务器系统7©2004西南交通大学·章雪岩EM_B.2.2C/S环境下应用成分的分布一个典型的应用系统分为:界面显示+应用逻辑+事务处理+数据管理界面显示:用户与系统的接口,常用GUI形式应用逻辑:对输入数据按照相关的业务规则进行处理,常用3GL,4GL编程,是系统功能的精髓事务处理:应用程序中DML编写的部分数据管理:完成具体的数据管理任务,不是应用程序的组成部分第10章客户服务器系统8©2004西南交通大学·章雪岩EM_B.2.2C/S环境下应用成分的分布通常界面显示与应用逻辑驻留在客户端,事务处理与数据管理驻留在服务端第10章客户服务器系统9©2004西南交通大学·章雪岩EM_B.2.3C/S主要技术特征系统按功能划分:服务器是服务的提供者,客户机是服务的消费者资源共享:一个服务器可同时对多个客户提供服务不对称协议:客户机主动请求服务,服务器被动提供服务定位透明性:客户不必知道服务器位置即可享受服务基于消息的交换:客户机与服务器通过消息这一媒介完成系统的耦合可扩展性:可容易地水平或垂直扩展第10章客户服务器系统10©2004西南交通大学·章雪岩第十章客户/服务器系统EM_B.1分布计算概念EM_B.2客户机/服务器计算模式EM_B.3C/S系统的体系结构EM_B.4C/S系统的管理问题EM_B.5C/S系统开发示例EM_B.6本章小结第10章客户服务器系统11©2004西南交通大学·章雪岩EM_B.3.1C/S模式的体系结构CS=客户机+服务器+中间件如下图:第10章客户服务器系统12©2004西南交通大学·章雪岩EM_B.3.1C/S模式的体系结构服务器提供数据服务:具有存储能力强,处理速度快及通信、电邮、并发控制等功能大型服务器、小型服务器、工作站、高档PCUnix、Windows…MSSQLServer,Oracle,Sybase,Informix第10章客户服务器系统13©2004西南交通大学·章雪岩EM_B.3.1C/S模式的体系结构客户机人机接口:提交数据,观察结果PC机,小型机、大型机DOS,Windows,Unix…Access,PowerBuilder,VisualStudio,Delphi,Developer2000中间件(Middleware)C/S之间的接口软件,C/S应用的关键,分为:通用中间件:如网络操作系统、各种通讯协议系统等专业中间件:数据访问中间件、分布式事务中间件、面向消息中间件、对象调用中间件……第10章客户服务器系统14©2004西南交通大学·章雪岩EM_B.3.2C/S结构演变两层结构:基本结构C/S层次=(界面表示+应用逻辑)+(事务逻辑+数据管理)C/S系统=客户机+服务器特点:客户机:用户界面、应用逻辑;服务器:事务逻辑、数据管理+有限的应用逻辑客户机软件与服务器软件可以驻留同一台计算机,但通常驻留在网络上不同的计算机中第10章客户服务器系统15©2004西南交通大学·章雪岩EM_B.3.2C/S结构演变三层结构:均衡负荷,“减肥”客户机C/S层次=表示层+业务层+数据层C/S系统=客户机+应用服务器+数据库服务器第10章客户服务器系统16©2004西南交通大学·章雪岩EM_B.3.2C/S结构演变特点:表示层(客户机):用户界面业务层(应用服务器):应用逻辑,组件形式数据层(数据服务器):事务逻辑+数据管理三层结构的具体实现可以有多种形式,如基于Web:Web浏览器(IE)+Web服务器(IIS)+DB服务器(SQLServer)第10章客户服务器系统17©2004西南交通大学·章雪岩EM_B.3.2C/S结构演变多层结构:支持复杂系统的开发应用C/S层次=前端客户层+中间应用层(n层)+后端数据层C/S系统=客户机+应用服务器(多类)+DB服务器特点:前端客户层:用户界面中间应用层:处理各类业务逻辑后端数据层:事务逻辑+数据管理第10章客户服务器系统18©2004西南交通大学·章雪岩EM_B.3.2C/S结构演变中间应用层由多类中间件构成,功能强大,扩展迅速,易于开发复杂应用系统;中间件是此类结构成功的关键多层结构特别适用于互联网应用系统,结构如下,故又称为B/S结构(Browser/Server)如:Web浏览器(IE…)+Web服务器(IIS…)+中间件(COM组件,.NET组件,CGI…)+DB服务器(SQLServer)第10章客户服务器系统19©2004西南交通大学·章雪岩EM_B.3.3网络服务器类型客户机/服务器结构中的服务器从广义上可以是各类服务器:DB服务器:提供数据库的访问服务文件服务器:提供文件访问服务,包括身份验证,授权检查等(LAN环境不易察觉,Web环境需FTP)事务服务器:提供本地与远程ACID事务处理Web服务器:提供网站服务,支持B/S模式应用电邮服务器:提供电邮收发和用户授权检验等其它应用服务器:音频、视频,网上会议,聊天室等第10章客户服务器系统20©2004西南交通大学·章雪岩第十章客户/服务器系统EM_B.1分布计算概念EM_B.2客户机/服务器计算模式EM_B.3C/S系统的体系结构EM_B.4C/S系统的管理问题EM_B.5C/S系统开发示例EM_B.6本章小结第10章客户服务器系统21©2004西南交通大学·章雪岩EM_B.4.1并行处理与并发控制CS中多台客户机可以同时向一台服务器提出服务请求,此时,客户机端的运行属于并行处理,服务器端则进行并发操作对大多数的单CPU服务器而言(多CPU也类似),并发操作实际上被转换成分时操作为解决并发操作带来的更新丢失等问题,CS系统必须提供数据的封锁机制(表级、记录级,字段级封锁)等并发控制功能第10章客户服务器系统22©2004西南交通大学·章雪岩EM_B.4.2C/S系统的完整性C/S系统的完整性由DBMS的数据完整性约束负责处理,如实体完整性约束,参照完整性约束等对某些特殊完整性约束可由数据库的“触发器(Trigger)”进行控制“触发器”是一个基于事件由系统自动调用的存储过程(一段预编译的SQL语句组,驻留在DBMS内)第10章客户服务器系统23©2004西南交通大学·章雪岩EM_B.4.3两类DBMS的出现数据库管理系统产品有两类不同的范畴服务器DBMS:具有完善的数据库管理功能(包括并发控制,备份恢复等)的多用户数据库系统,如MSSQLServer,Oracle等桌面DBMS:数据库功能较弱,但具有前端开发功能,实际上是应用开发系统,如Access,Foxpro等第10章客户服务器系统24©2004西南交通大学·章雪岩第十章客户/服务器系统EM_B.1分布计算概念EM_B.2客户机/服务器计算模式EM_B.3C/S系统的体系结构EM_B.4C/S系统的管理问题EM_B.5C/S系统开发示例EM_B.6本章小结第10章客户服务器系统25©2004西南交通大学·章雪岩EM_B.5C/S系统开发示例:建立Access项目第10章客户服务器系统26©2004西南交通大学·章雪岩建立Access项目-2第10章客户服务器系统27©2004西南交通大学·章雪岩建立Access项目-连接数据库服务器第10章客户服务器系统28©2004西南交通大学·章雪岩建立Access项目-得到表、视图等第10章客户服务器系统29©2004西南交通大学·章雪岩建立Access项目-建立窗体、报表等(也可以从已建立的Access/BBS项目导入后进行修改)第10章客户服务器系统30©2004西南交通大学·章雪岩建立Access项目-从已Access/BBS导入第10章客户服务器系统31©2004西南交通大学·章雪岩建立Access项目-从已Access/BBS导入第10章客户服务器系统32©2004西南交通大学·章雪岩第十章客户/服务器系统EM_B.1分布计算概念EM_B.2客户机/服务器计算模式EM_B.3C/S系统的体系结构EM_B.4C/S系统的管理问题EM_B.5C/S系统开发示例EM_B.6本章小结第10章客户服务器系统33©2004西南交通大学·章雪岩EM_B.6本章小结:网络应用促成了分布式计算的概念,数据分布导致分布式数据库出现,功能分布导致CS结构的产生CS系统包括一个计算机网络,应用程序由客户机处理,DBMS驻留在服务器上CS系统经历了两层,三层到多层的演变,总趋势是使客户机尽量的“瘦”;B/S结构是瘦客户机的典范目前大多数系统开发工具均支持C/S结构,如Access项目软件与SQLServer的结合©2004西南交通大学·章雪岩——本章完——