Delphi-多层分布式应用的开发.ppt
《Delphi-多层分布式应用的开发.ppt》由会员分享,可在线阅读,更多相关《Delphi-多层分布式应用的开发.ppt(29页珍藏版)》请在三一办公上搜索。
1、第11章 多层分布式应用的开发,本章主要内容:多层分布式系统的概念开发多层应用程序的有关组件如何开发多层分布式数据库应用程序,11.1 多层数据库应用程序概述,11.1.1 数据库应用的体系结构研究一下数据库应用的结构,可以发现它是由数据层、应用逻辑层、用户接口层构成的。数据层用于存取我们的数据,应用逻辑层用于规定用户如何使用数据,而用户接口层提供了用户访问数据的操作界面,而层间通过接口相连。这里只是在逻辑上将一个数据库应用分为三个层次。实际开发数据应用系统时,可以在一个程序内实现所有三层功能,这就是单层数据库应用。前面所介绍的ACCESS数据库应用程序就是这种类型。也可以将这三层分开,由不同
2、的程序实现,并且还可以分别放在不同的机器上运行。这样就形成了双层、三层,甚至多层的数据库应用体系结构。,11.1 多层数据库应用程序概述,1.单层结构在单层数据库应用程序中,其体系结构如图11-1所示。单层结构是一种早期的最简单的数据库系统,整个数据库应用系统安装在一台微机上,由一个用户独占,不同机器之间不能共享数据。,图11-1 单层结构的数据库应用系统,11.1 多层数据库应用程序概述,2.双层结构图11-2所示的是客户/服务器(Client/Server)体系结构,这是最典型的双层结构。,图11-2 客户/服务器体系结构,11.1 多层数据库应用程序概述,3.三层结构与多层结构三层结构如
3、图11-3所示。在三层结构中,多了一个中间层,它把客户端和数据库服务器隔离开来,这样客户端对数据的所有操作都需要经过中间层的应用服务器,由应用服务器连接数据库服务器,应用服务器根据设定的应用逻辑对数据进行相应的处理,最后提交给后端数据库服务器。,图11-3 三层体系结构,11.1 多层数据库应用程序概述,图11-4是一个基于B/W体系结构的多层数据库应用系统。,图11-4 基于B/W体系结构的多层数据库应用系统,11.1 多层数据库应用程序概述,11.1.2 Delphi的多层数据库应用体系结构,Delphi提出的MIDAS是把原来双层的数据连接访问放到了应用服务器上,客户端只剩下了执行文件和
4、MIDAS.DLL,前台和后台服务器通过DCOM机制互相沟通。其结构如图11-5所示。,图11-5 MIDAS应用程序的结构,11.1 多层数据库应用程序概述,1.应用服务器的结构应用服务器的关键部件是TRemoteDataModule(远程数据模块),它提供了IAppServer接口。当客户程序与应用服务器建立了连接,就通过IAppServer接口来获得数据集提供者列表(list of providers)。TRemoteDataModule组件是一个支持双重接口的自动化服务器,这种类型的远程数据模块适合于DCOM,HTTP,Sockets通讯方式。远程数据模块可以作为容器,但只能放置非可视
5、化的组件。另外,远程数据模块上一般要放一个或几个TDataSetProvider或TProvider构件来提供IProvider接口。TDataSetProvider组件存在于应用服务器端的远程数据模块中,用于连接数据模块中的数据集,并向客户端发送数据。,11.1 多层数据库应用程序概述,2.客户端的结构对于最终用户来说,多层体系结构中的客户程序与两层体系结构中的应用程序没有什么区别,在结构上,客户程序仍然通过标准的数据控件与用户交互。但与单机模式应用程序不同的是,多层体系结构中的客户程序是通过应用服务器提供的IAppServer接口获得数据的,也通过IAppServer接口申请更新数据。在客
6、户程序中,MIDAS连接组件TDispatchConnection扮演着极其重要的角色。不同的MIDAS连接组件使用不同的通讯协议将客户端连接到一个远程应用服务器,以获取一个IAppServer接口服务,然后获取数据集提供者列表。通常使用TDispatchConnection派生的组件:(1)TDCOMConnection组件使用DCOM将客户端连接到一个远程应用服务器。,11.1 多层数据库应用程序概述,(2)TSocketConnection组件使用Sockets(TCP/IP)将客户端连接到一个远程应用服务器。(3)TWebConnection组件使用HTTP将客户端连接到一个远程应用服
7、务器。(4)TSoapConnection组件使用SOAP将客户端连接到一个远程应用服务器。TClientDataSet组件是客户端的数据集组件,用于连接应用服务器中的TDatasetProvider,提供了客户端访问应用服务器商的IAppServer接口。,11.2 开发多层数据库应用的组件,11.2.1 TRemoteDataModule组件TRemoteDataModule封装了多层数据库应用程序的对象和接口,它是由TDataModule类派生而来的。使用TRemoteDataModule向导建立DCOM应用服务器,会自动地添加TRemoteDataModule对象。在数据模块单元中会自
8、动建立UpdateRegistry方法,用于注册该应用服务器。1.TRemoteDataModule的基本属性(1)Providers属性表示远程数据模块中包含的已注册的Provider的集合。(2)ProviderCount属性表示远程数据模块中包含的已注册的Provider的数量。(3)OldCreateOrder属性指定何时发OnCreate事件和OnDestroy事件。,11.2 开发多层数据库应用的组件,2.TRemoteDataModule的基本方法(1)Lock方法锁定数据模块,防止线程冲突。(2)RegisterProvider方法用于在程序运行时调用底层的IAppServer
9、接口获取一个可用的provider。(3)UnLock方法解除对数据模块的锁定。(4)UnRegisterProvider方法从AS_GetProviderName方法返回的列表中删除一个Provider。,11.2 开发多层数据库应用的组件,9.2.2 TDataSetProvider组件客户端的数据集是通过Provider(提供者)组件获取数据的。Provider接收来自客户端数据集的数据请求,然后索取所请求的数据,封装成可传输的数据包,并把数据传到客户端数据集。Provider接收来自客户端的数据更新,然后应用更新内容到数据库服务器、来源数据集,返回未能实施的更新到客户端数据集,作进一步
10、调整。1.TDataSetProvider的属性,11.2 开发多层数据库应用的组件,表11-1 TDataSetProvider的属性及说明,11.2 开发多层数据库应用的组件,2.TDataSetProvider提交数据更新的方式TDataSetProvider组件提供了两种方式来提交客户端的数据更新,向数据集提交数据更新和向数据库提交数据更新。(1)向数据集提交数据更新设置ResolveToDataSet属性为True。(2)向数据库提交数据更新设置ResolveToDataSet属性为False,表明TDataSetProvider使用的更新组件为内部的TSQLResolver,它可直
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Delphi 多层 分布式 应用 开发
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6504494.html