发信人: skyice()
整理人: skyice(1999-12-30 01:16:37), 站内信件
|
7.将已有的程序转变为多层应用程序
7.1应用服务程序
在程序的转换过程中,第一步是创建应用服务程序.前面已经说过,应用服务
程序是多层应用程序的中间层.这个应用程序将包含BDE,以及与数据库服务器
和微客户应用程序的接口.这里,假定已经有了一个MS SQL服务器(当然也可以
是其他数据库),并且已经正确的设置了这个服务器,我们可以使用服务器上的
表.
为了创建应用服务程序(App Server),需要在现有应用程序的项目中创建一
个新的目标文件.从Project Manager窗口中选择New,并且创建一个新的应用
程序AppServer.
在项目中添加一个远程数据模块(Remote Data Module,简称RDM),方法是
选择File|New菜单,在弹出的Items窗口中选择Remote Data Module.
远程数据模块可以使你创建一个ActiveX数据模块,这个ActiveX数据模块是
创建OLE-enabled automation对象的基础.选择Remote Data Module后,将
会弹出Remote Data Module Wizard,请求输入类名称.通过RDM Wizard可以
创建一个通过OLE automation进行远程访问的数据模块.RDM Wizard可以使
你设置用来实现OLE接口的对象名称,用户可以通过OLE接口来访问RDM.
将实现用于RDM的OLE automation接口的对象的类名设置为Brow3Tier.用
于RDM类的名称的第一个字母时T.这一点很重要,因为在第一次成功的安装和
运行远程服务器程序时,远程服务程序会被自动加以注册.在输入类的名称后,
将会出现Remote Data Module窗口.
这时,把原数据库应用程序的主窗体上的所有的TDatabase,TTable和TDat-
aSource组件剪切并且粘贴到新建的远程数据模块上.随后,TTable组件将被
TClientDataSet组件所替代.
在AppServer窗体上添加一个标记,以表明服务程序正在运行.然后在AppS-
erver窗体上放置一个DBGrid组件(AppSrcGrid),以显示什么时候与数据库进
行了连接.双击TDatabase组件,将别名改为MSSQL.通过TDataSource组件(M-
ainDS)将AppSrvGrid与TTable相连.
为了使客户程序能够访问应用服务程序中的表,必须保证这些表是可导出的.
注释:为了可以在客户程序中看到表和查询,可以右击这些表或查询,在弹出
的对话框的Data Module选项中选择Export Table.
在创建和运行应用服务程序时,应用服务程序应该进行注册.为了严正这一
点,可以运行regedit.exe工具,并且通过Edit|Find菜单搜索类名Brow3Tier.
现在,应用服务程序的基本结构已经建好了,我们就可以开始设置DCOM,以便
客户机可以访问这个应用服务程序.请记住,我们已经完成了多层应用程序(3个
层)中的两个层.
——原文由ifeelyou发表
-- 子非鱼,安知鱼之乐?
子非我,安知我不知鱼之乐?
Please let me feel you!
※ 修改:.skyice 于 Dec 29 00:37:29 修改本文.[FROM: 202.99.77.204] ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.103.135.210]
|
|