- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第15章 MIDAS编程
第 15 章 MIDAS 编程
多层分布式应用服务(Multitiered Distributed Application Services,即MIDAS )套件是一套组件,使用
这些组件可以很容易地建立多层的客户-服务器数据库应用程序。这也是公司愿意为 Delphi 企业版支付数
千美元的原因之一,而它确实物有所值。如果您购买了个人版本的 Delphi ,那么必须再购买企业版才能得
到 MIDAS 组件和相应的动态链接库(DLL )。如果您使用的是标准版或专业版,那么本节中的例子将无法
使用。但您仍然可以阅读一下本节,来看一看 Delphi 企业版是否适合您。
对另一些人来说,本节将通过例子来演示如何使用 MIDAS 的一些核心功能。通过示范如何利用一些
核心控件来建立客户和服务器程序,对这些功能进行了演示;共有三个例子示范了这些控件:一个动态查
询程序,它使用 DCOM 连接到同一台计算机和远程机器上的服务器,另一个程序示范了出错情况下的恢
复,还有一个公文包程序的例子。
请记住:客户程序通常有图形用户界面,并且与用户进行交互。而服务器是向客户程序提供服务的应
用程序。客户-服务器这个术语隐含着图形用户界面与数据库服务器。n 层、多层或三层这些术语,大体上
也是同样的意思。第一层是客户程序,中间层或第二层包含了商务规则的编码,通常是应用服务器,而最
后一层是数据库服务器自身(参见图 15.1)。本章提供了一些例子程序进行示范,其中客户端是用 Delphi
实现的标准 Windows 可执行文件,而中间层则是 MIDAS 和用 Delphi 实现的进程外 COM 服务器——自动
化服务器,此外还需要适当的数据库。为避免创建难于理解的例子,本章中只使用了 DBDEMO 表和本地
Interbase 数据库。请记住,任何数据库服务器,如 SQL Server、Oracle 或 Sybase 等,在客户程序和中间层
的代码不进行改变或改动很少的情况即可使用。
图 15.1 基本的三层客户-服务器应用程序配置,分别使用了三台物理上独立的计算
机示范了每一层的不同作用。所有的三层可以都位于同一台物理计算机上
第 15 章 MIDAS 编程 390
15.1 MIDAS 组件概述
本节中讨论了通常可能用到的组件。用于实现三层应用程序的 MIDAS 组件分为客户程序的组件和服
务器程序的组件。另外,可能还需要一些通常用于建立客户程序的其他组件。
注意:这里并未提供对 MIDAS 组件的详尽描述。MIDAS 套件是非常广泛的,现在看来还没有
专门讲述 MIDAS的 Delphi书籍。
MIDAS 为开发者提供了客户程序与服务器程序之间的桥梁。一旦创建了包含 TRemoteDataModule 对
象的服务器程序,然后即可建立客户程序,就像是两层应用程序一样。即,可以根据个人的喜好选择是否
使用数据感知控件,而无论怎样都可以在客户程序中得到并使用相关的数据,就像是已经了解了有关数据
库的知识一样。由于中间层的服务器程序是新出现的部分,我们从用于建立应用服务器的组件开始。
15.1.1 定义服务器应用程序
在两层的客户-服务器应用程序中,包括数据库服务器以及数据感知客户程序。客户程序由程序员编写,
而服务器则是数据库应用程序。在三层系统中,客户与数据库层之间添加了应用服务器层。本节示范了用
于建立服务器程序的一些基本的组件。
注意:请记住,在 n层、三层和多层结构之间并无实际的区别。对于我们的目的来说,它们
是同样的;至于是否存在区别,则是一个有待确定的问题。
TRemoteDataModule
TRemoteDataModule 是 TDataModule 的后代,其用法也大致相同。在服务器程序中,可将远程数据模
块作为所有非可视组件的容器使用。TRemoteDataModule 实现了 IAppServer 接口,只需向标准的应用程序
中添加该类的对象,即可实现需要向客户程序提供的功能。
要创建MIDAS 服务器,首先在Delphi 中启动一个标准的应用程序工程。从New Items 对话框的Multitier
属性页中,向工程添加一个远程数据模块对象。创建远程数据模块的向
文档评论(0)