Delphi5实现多层Client/Server应用程序(1),Delphi5实现多层Client/Server应用程序(1)
【 tulaoshi.com - Delphi 】
一、引言
Client/Server是一种分布式的计算模式,与传统的基于主机的结构相比,具有较好的可伸缩性和较优的性价比。过去,Client/Server结构一般分为两层:客户端和服务器端,所有客户端各自实现自己的用户界面和应用逻辑。随着系统的不断扩展,这种两层的Client/Server模式逐渐暴露出它的缺陷,由于最终客户需求的千变万化,客户端可能会不堪重负,而客户端程序的过于庞大显然与分布式计算的思想背道而驰。解决上述问题的方案,就是采用多层的Client/Server结构。目前,通常按客户端、应用服务器端和DBMS服务器端三层,在这种结构中,客户端只用于实现用户界面,而应用逻辑则由应用服务器实现。
二、应用服务器的创建
要创建一个多层的Client/Server应用程序,首先要创建应用服务器。为完成与远程的客户双向交互,应用服务器需提供某种类型的Iprovider构件来实现,也可以直接通过几个继承于TDBDataSet类的数据集构件如TtableTquery的Provider属性实现。创建步骤如下:
1. 远程数据模块(Remote Data Module)的创建
使用File菜单上的“New Application”命令开始一个新工程,双击Multitier页面中的“Remote Data Module”图标,Delphi将要求指定类名,如图1所示。
(1)在“Class Name”框内键入类名后(类名第一个字母不必是T),单击OK按钮,Delphi就在当前工程中加入一个远程数据模块。
(2)TTable数据集构件的创建
置入一个Ttable构件,设定它的属性databasename和tablename,然后设定active为true。
(3)TdataSetProvider构件的创建
置入一个TDataSetProvider构件,设定属性DataSet为Table1。
至此,一个简单的应用服务器创建完毕。如图2所示。
执行此程序,该应用程序将在系统中自动注册,今后的客户端程序就可以调用该应用服务器程序了。
三、客户程序的创建
从用户角度看,创建多层的Client/Server结构的“瘦”客户是用TclientDataSet构件实现的,并且通过TDCOMConnection构件与应用服务器端连接。创建步骤如下:
1. 建立一个新的数据模块
使用“File”菜单上的“New Application”命令开始一个新的工程,使用“File”菜单上的“New Data Module”命令加入一个数据模块。
2. TDCOMConnection构件的创建
把一个TDCOMConnection构件放到数据模块上,设置它的ServerName属性指定应用服务器名(在这里,应用服务器就是上面创建的名为MyDcomServer服务器程序。如果“瘦”客户与应用服务器不在同一个计算机上,还要设置ComputerName属性指定服务器所在的机器名。 [next]
3. TclientDataSet文件添加
把一个TclientDataSet构件放到数据模块上,设置它的RemoteServer属性指定TDCOMConnection构件,再设置ProviderName属性指定应用服务器中的DataSetProvider名,因此,“瘦”客户程序可以透明地访问远端数据库服务器上的数据。如图3所示。
4. TdataSource文件添加
把一个TdataSource构件放到Form上,设置它的DataSet属性指定TclientDataSet构件。
5. TDBGrid构件添加
把一个TDBGrid构件(也可以是其他数据控制构件)放到Form上,设置它的DataSource属性指定TdataSource构件,如果要在设计期间就看到数据的话,把TclientDataSet构件的Active属性设为True。
至此,一个典型的“瘦”客户创建完毕,与传统的数据库应用程序相比,它不需要直接与数据库打交道,从而显得较瘦。
四、DCOM配置
如果在Windows NT环境下正常运行应用服务器,必须进行DCOM配置。配置方法如下:
1. 运行NT服务器上的dcomcnfg程序,进行DCOM配置。
2. 进入DCOM的总体默认属性页面,将“在这台计算机上启用分布式COM”打上勾,将默认身份级别改为“无”。
3. 进入DCOM的总体默认安全机制页面,确认默认访问权限和默认启动权限中的默认值无EveryOne,如果不去掉EveryOne,应用服务器不能正常启动。
4.在常规页面中,双击你的应用服务器,打开你的应用服务器DCOM属性设置。
5.将常规页面中的身份验证级别改为“无”。
6.位置页面中选上“在这台计算机上运行应用程序”。
7.将安全性页面设置中,均选择“使用自定义访问权限”,编辑每一个权限,将EveryOne加入用户列表中。
8.身份标识页面中,选择“交互式用户”。
9.NT的GUEST用户不能禁用。
结束语
多层Client/Server结构的优势:
1. 客户端只需要关注用户界面,而且与其他客户共享相同的数据访问模块,从而使客户端大大“减肥”。
2. 客户端与应用服务器端一般分布于不同的计算机上,程序运行效率更高,处理事务的能力更强。
3. 有利于提高数据的安全性,因为应用逻辑和最终访问数据库均由应用服务器端实现,而不是由多个客户直接访问数据库服
来源:http://www.tulaoshi.com/n/20160129/1492869.html
看过《Delphi5实现多层Client/Server应用程序(1)》的人还看了以下文章 更多>>