多层结构及其在Delphi中的实现x

上传人:tang****xu7 文档编号:143078389 上传时间:2020-08-26 格式:DOCX 页数:9 大小:36.52KB
返回 下载 相关 举报
多层结构及其在Delphi中的实现x_第1页
第1页 / 共9页
多层结构及其在Delphi中的实现x_第2页
第2页 / 共9页
多层结构及其在Delphi中的实现x_第3页
第3页 / 共9页
多层结构及其在Delphi中的实现x_第4页
第4页 / 共9页
多层结构及其在Delphi中的实现x_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《多层结构及其在Delphi中的实现x》由会员分享,可在线阅读,更多相关《多层结构及其在Delphi中的实现x(9页珍藏版)》请在金锄头文库上搜索。

1、最新整理多层结构及其在Delphi中的实现多层结构及其在Delphi中的实现二层结构的退出在传统的二层C/S结构数据库应用中,客户端的机器执行应用程 序,连接到后端的数据库服务器中存取应用系统所需资料,因为应用系统的企业逻辑都编写在客户端的应用程序中,造成客户端非常臃肿,且当应用系统需求改变时,所有在客户端的应用程序都必须改变,使维护成本太局。OracleMSQL客户端1数据库服务器Sybase等图一 2层C/S结构1.2多层结构的概念和特点为了解决这些问题,多层结构应用体系应运而生,即在传统的二 层C/S模型中放入应用程序服务器。应用程序服务器简单地说就是一 个包含企业逻辑的应用程序,开发人

2、员以一种特定的组件形态,如 Microsoft /D ,CORBA 对象,或 EnterpriseJAVABean 等,封装企业 逻辑的程序代码,这种经过封装,能够执行特定企业功能的对象被称 为“企业对象”,把这些企业对象分发到应用程序服务器中,开发人 员在开发应用程序时就可以使用这些企业对象提供的服务。多层结构的典型是三层结构,其基本思想是把用户界面与企业逻 辑分离。整体结构如图二所示客户端应用程序服务器远程数据库服务器(提供用户界面)(包含企业逻辑)(Oracle,MSQL,Sybase等DBMS 图二三层结构模型(1) 客户端应用程序。提供用户接口,主要功能是指导操作人员 使用界面,输入

3、数据,输出结果,并不具有企业逻辑,或只拥有部分 不涉及企业核心的、机密的应用逻辑。这样客户端就显的很度,称为德”客户。(2) 应用程序服务器。它是应用的主体,包含了企业中核心的及易变的企业逻辑(规划,运作方法,管理模型等),其功能即接受输 入,处理后返回结果。(3) 远程数据库服务器。即数据库管理系统(DBMS,负责管理对 数据的读写和维护。在更复杂的多层体系结构中,“AT客户与远程数据库服务器之 间可以加入更多的中间服务器,如加入一个中间安全服务器或中间转 换服务器,用于对不同平台数据进行处理。分布式多层结构把整个应用系统的执行分成数个不同部分并且执行在不同的机器中。其中应用程序服务器作为中

4、间层集中实现企业 逻辑,协调多层之间的请求,并掌握数据集定义的全部细节和远程数 据库服务器进行通信,这样客户端应用程序就重点放在显示数据和与 用户交互上,客户端应用程序甚至都不需要知道数据在那儿。具体来说,多层结构具有如下优点:(1) 在一个共享的中间层封装了企业逻辑,不同客户端应用程序 可以共享同一个中层层,而不必由每个客户端应用程序单独实现企业 逻辑。(2) 客户端应用程序可以做的很度。因为很多复杂的工作由应 用程序服务器代劳,客户端应用程序只需 xx用户界面本身。“度”客 户端应用程序更易发布、安装、配置和维护。(3) 实现分布式数据处理。把一个应用程序分布在几个机器上 运行,可以提供应

5、用程序的性能,通过冗余配置还可以保证不会因为 局部故障导致整个应用程序崩溃。(4) 有利于安全。将一些敏感数据功能部分封装在中间层,并 授予不同xxx权限,可以保证对数据的xxx限制。1.3多层结构使用的技术。目前分布式多层结构使用的核心大致可以分为两种不同的工业标准,即Microsoft制定的/D /和由700多家厂商共同提倡的CORBA 因分布式结构的广泛流行,现也有愈来愈多的根据这两种分布式核心 技术加以演进而产生的分布式技术,如EJB(EnterpriseJavaBean)等。Microsoft的/D / 是以Windows为中心的开发环境,CORB是 平台中立的分布式技术,CORB能

6、够执行于 Windows,UNIX以及Linux 等操作系统中。这些技术都能使开发人员在应用程序中轻易地使用企 业对象所提供的服务。这两种分布式技术都在客户端机器中以一个特 别的对象来仿真真正的远程应用程序服务器上的企业对象,这样客户端应用程序就可以调用在客户端机器中的仿真对象,该对象再使用特定的通讯协议来真正调用远程应用服务器上的企业对象,从而调用远程企业对象的服务,以满足客户端的要求。2在Delphi中实现基于MIDAS勺多层结构2.1在Delphi中多层结构的实现在 Delphi 中 多层结构的 基础是MIDAS(Multi-tierDistributedAlicationService

7、Suite,多层分布式应用服务器组)技术。MIDAS是一些不同技术的集合,无论是应用程序服务器还是客户端,MIDAS技术需要DBClient.dll 和MIDAS.dll 的支持,这两个动态xx库用于管理数据包,发布 MIDASS用程序时需要发布 这个文件。基于MIDAS勺多层结构依然分为客户端应用程序,应用程序服务 器和远程数据库服务器,如图三所示。从图三可见,MIDAS勺数据库应用程序需要一些特殊组件,这些 组件共分为4类:(1) 远程数据模块。位于服务器端,作为 服务器或CORB服务 器让客户端应用程序xxx它的接口。数据模块IAerver接口远程数据模块客户端应用程序应用程序服务器远程

8、数据库服务器图三MIDAS吉构(2) DataSetProvider组件。位于服务器端,提供IAerver接 口,客户端应用程序通过IAerve接口获得数据。(3 ) 连接组件。位于客户端,包括 DCoection,SocketCoection,CORBACoection,OLEnterpriseCoection,MIDASCoection 和 RemoteServer 等连接组件,为客户端应用程序定位应用程序服务器和lAerve接口。(4) ClientDataSet组件。位于客户端,xxx服务器端的lAerve 接口,它是从TdataSet继承下来的组件。客户端应用程序通过IAerve接口

9、与应用程序服务器通讯,通讯 协议为D ,TCP/IP,HTTP,OLEnterprise 和CORBA通讯协议因客户端 的MIDASfil接组件及应用程序服务器上的远程模块不同而不同。2.1.1客户端应用程序结构在结构上,客户端应用程序通过标准数据控制组件与用户交互, 但是它是通过应用程序服务器提供的IAerve接口获得数据,也是通 过IAerve接口更新数据。所谓德”客户即指不依赖BDE勺数据集(TClientDataSet 组件)构成的客户端应用程序。TClientDataSet组件是从 TDataSet派生出来的客户端数据集组件,它扮演了与TTable或TQuery同样的角色,但它不需要

10、 BDE,它把通过IAerve接 口获得的数据在客户端内存中建立副本,对数据进行操作。直接 xxx 远程数据库服务器的是应用程序服务器。远程数据模块说明RemoteDataModule支持双重接口的白动化服务器,支持 D ,TCP/IP 或 OLEnterprise 协议。MTSDataMoudl豉持双重接口的白动化服务器,创建的应用程序 服务器是动态xx库,支持D ,TCP/IP或OLEnterpris协议。CORBADataMouduleCORB器,支持 CORBA、议在客户端,MIDA睡接组件非常重要,不同连接组件使用不同的 通讯协议,如表一所示。连接组件通讯协议D CoectioDSo

11、cketCoectioTCP/IPWebCoectioHTTPOLEnterpriseOLEnterpriseCORBACoectioCORBA表一 MIDAS接方式表二支持 MIDAS勺数据模块2.1.2应用程序服务器应用程序服务器的关键部件是远程数据模块,在远程数据模块上,TTable,TQuery等BDEB据集组件通过BDE与远程数据库服务器连接 xxx 数据库,DataSetProvider 组件输出 IAerver 接 口, DataSetProvider组件通过DataSet属性与数据集组件相连,这样客 户端通过IAerver接口就可以xxx数据。Delphi支持三种类型的远程数据

12、模块,如表二示。2.2用MIDAS&J建多层结构数据库应用程序实例建立多层结构应用系统,必须先建立应用程序服务器,并运行注 册之,再建立客户端。下面就以笔者创建的一个三层结构为例来介绍 用Delphi实现三层结构的步骤。(假设在应用程序服务器上已设好 BDE接,连到远程数据库服务器。)2.2.1建立应用程序服务器。(在应用程序服务器上建立)(1)使用File菜单下的NewAlication建立一个新应用程序。(2)创建远程模块。使用 File菜单下的New打开NewItems对话框,在 Multitier选项下,双击 RemoteDataModule,设置 Claame为 rdm, Itanc

13、ing 及 ThreadingModule 属性取默认值。(3 )在该远程模块上放一个Query1(Tqueyr组件),DatabaseNam藕性中指定为要xxx的数据库,如“出版社”。在该远 程模块上再增加一个 DataSetProvider1(TDataSetProvider 组件),DataSet 属性设为 Query1,Optio 属性中令 poAllo mandtext 为 true。 (设为true,则客户端应用程序中 TClientDataSet的属性 mandtext 中的SQ薛句就可以通过IAerver接口传递。)至此,应用程序服务器已创建完毕,运行该应用程序服务器在系 统中

14、注册它,在应用程序服务器上运行 ScktSrvr.exe文件,这样今 后客户端程序就可以调用该应用程序服务器。2.2.2创建客户端应用程序。(在客户端机器上创建)(1)建立数据模块。使用 File菜单下的NewAlication 建立一 个新应用程序。在NewItem中双击DataModule建立一个数据模块(命 名为 dm ), 在该模块上放一个连接组件 SocketCoection1(TsocketCoection 组件),其 IP 属性中指定应用程 序服务器的IP地址,在Port属性中取默认值211,在ServerName 属性中设置应用程序服务器(在这里,应用程序服务器就是上面创建 的

15、名为rdm的应用程序服务器。),这样就可以定位应用程序服务器和 IAerver 接口。在 dm数据模块上再增加一个 ClientDataSet1(TClientDataSet 组件),其 RemoteServer 属性设为 SocketCoection1 , ProviderName 为 DataSetProvider1。保存该 unit 为dm(2)创建用户界面。使用File菜单下的NewFor俩建一个unit, 在该unit中引用上面建立的数据模块单元dm在用户界面Form上添加 DataSource1(TdataSource 组件),其 DataSet属性设为dm.ClientDataSet1,即上面数据模块中的客户端数据 集组件。添加一个 DBGrid1(TDBGrid组件),DataSource属性设为 DataSource1。添加一个 Btton1组件,caption 属性为“查询”,其 click事件中程序代码为:procedureTForm1.Button1click(sender:Tobject);beginwithdm.ClientDataSet1dobeginclose;mandtext:= select*from 书;opeend;end;至此该三层结构已创建完毕,保存运行客户端应用程序,xxx查询

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号