Delphi5实现多层Client/Server应用程序(1)

活宝和谐社会88

活宝和谐社会88

2016-01-29 14:15

Delphi5实现多层Client/Server应用程序(1),Delphi5实现多层Client/Server应用程序(1)
 

  
  一、引言
  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]

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)


  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. 有利于提高数据的安全性,因为应用逻辑和最终访问数据库均由应用服务器端实现,而不是由多个客户直接访问数据库服

展开更多 50%)
分享

猜你喜欢

Delphi5实现多层Client/Server应用程序(1)

Delphi
Delphi5实现多层Client/Server应用程序(1)

Delphi多层应用程序的实现

Delphi
Delphi多层应用程序的实现

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Delphi 应用程序的应用

编程语言 网络编程
Delphi 应用程序的应用

Delphi应用程序的应用(一)

Delphi
Delphi应用程序的应用(一)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Delphi应用程序的应用(二)

Delphi
Delphi应用程序的应用(二)

多层数据库开发三:创建多层应用程序

编程语言 网络编程
多层数据库开发三:创建多层应用程序

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

用 PHP 走向动态

用 PHP 走向动态

在Delphi中如何控制其它应用程序窗口

在Delphi中如何控制其它应用程序窗口
下拉加载更多内容 ↓