📄 98.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>CTerm非常精华下载</title>
</head>
<body bgcolor="#FFFFFF">
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="577">
<tr><td width="32%" rowspan="3" height="123"><img src="DDl_back.jpg" width="300" height="129" alt="DDl_back.jpg"></td><td width="30%" background="DDl_back2.jpg" height="35"><p align="center"><a href="http://bbs.tsinghua.edu.cn"><font face="黑体"><big><big>水木清华★</big></big></font></a></td></tr>
<tr>
<td width="68%" background="DDl_back2.jpg" height="44"><big><big><font face="黑体"><p align="center"> Delphi编程 (BM: strayli FlyingBoy) </font></big></big></td></tr>
<tr>
<td width="68%" height="44" bgcolor="#000000"><font face="黑体"><big><big><p align="center"></big></big><a href="http://cterm.163.net"><img src="banner.gif" width="400" height="60" alt="banner.gif"border="0"></a></font></td>
</tr>
<tr><td width="100%" colspan="2" height="454"> <p align="center">[<a href="index.htm">回到开始</a>][<a href="15.htm">上一层</a>][<a href="99.htm">下一篇</a>]
<hr><p align="left"><small>发信人: pitts (痛并快乐着), 信区: Delphi <br>
标 题: Borland的MIDAS技术 <br>
发信站: BBS 水木清华站 (Tue Oct 13 09:58:04 1998) <br>
<br>
Borland的MIDAS技术 <br>
<br>
概述 <br>
<br>
----Borland自从推出了Delphi之后,深受程序设计人员的青 <br>
睐。Delphi的每一个新版本都给用户提供了更新、更好的功能。 <br>
例如,Delphi1.0版本给用户提供了一种全新的可视化编程环境, <br>
使用户能快速开发Windows3.1的应用程序。Delphi2.0中增加了 <br>
数据模块(DataModule)等多种高效的数据重用功能。现在第三代 <br>
版本Delphi3——多层结构的32位快速开发工具又给开发人员带 <br>
来了全新的多层结构概念。 <br>
<br>
----早在1980年第一个数据库管理系统出现时,数据库的世纪 <br>
就已悄然开始。那时的观念是由应用程序控制关系型数据库,这 <br>
种数据处理的模式一般称为单层结构(1-Tier)。由于这种结构 <br>
的数据库程序占用计算机资源较多,于是在80年代中期,数据 <br>
库应用开始转向C/S结构,也就是所谓的两层结构(2-Tier)。 <br>
这种结构在近十年内不但得到了广泛的运用,而且相当成功。然 <br>
而,在两层C/S结构成功的背后却逐渐暴露出其构架上的缺陷。 <br>
其中最明显的问题表现在应用程序的伸缩性和维护方面。例如, <br>
一个跨国企业如何把数据库管理系统及其应用程序分散到十分缓 <br>
慢的网络上,如何控制数据的统一性和完整性;一旦应用程序有 <br>
任何改动,维护人员就必须修改每一个客户端上的应用。 <br>
<br>
----新一代数据库管理系统在传统的C/S结构中,增加了应用程 <br>
序服务器——这种新的结构就是所谓的n-Tier或Multi- <br>
Tier。应用程序服务器包括了统一的界面、业务规则的制定和数 <br>
据处理逻辑的规定等等。多层应用服务技术允许分割应用程序, <br>
本地计算机上无须安装一整套数据库工具,就可以在另一台机器 <br>
上存取数据。同时它允许对业务规则和进程进行集中管理,并在 <br>
整个网络上分发、实现进程负载的动态调节。 <br>
<br>
----众所周知,开发服务器级的应用程序要比开发单纯应用级的 <br>
程序困难得多,有很多系统服务需要考虑。如果没有一种好的工 <br>
具,对于大多数程序员来说,开发一个复杂的多层结构应用只能 <br>
是一种理想。为了使这种理想方便地实现,Borland公司推出了 <br>
开发多层结构所需的技术和工具集——MIDAS。 <br>
<br>
MIDAS——多层分布式应用程序服务器 <br>
<br>
----对MIDAS这个名字一般有两种理解。MIDAS是Multi- <br>
----对MIDAS这个名字一般有两种理解。MIDAS是Multi- <br>
tierDistributedApplicationServicesSuite(多层分布式应用 <br>
程序服务包)的缩写,这也诠释了MIDAS技术的实质。也许因为 <br>
这个本义太长,很多人更愿意把它理解成Multi-tierMadeEasy, <br>
这也是MIDAS的作用。多层计算(Multi-tieredcomputing)是 <br>
业界对此类技术通用的术语,而Multi-tier是Borland公司采 <br>
用的技术术语。Borland典型的三层结构如下:第一层是数据库 <br>
服务器,第二层是应用服务器,第三层是瘦客户机。 <br>
<br>
----数据库服务器是诸如InterBase、Oracle、Sybase、 <br>
MSSQLServer等数据库,应用服务器和瘦客户机由Delphi建立。 <br>
大多数情况下,数据库访问软件(例如BDE,SQL*NET等等)与 <br>
应用服务器运行在同一台机器上。 <br>
<br>
----应用服务器主要基于Borland的分布式数据技术,至少包括 <br>
两方面的内容: <br>
<br>
----1.内置在Delphi组件中; <br>
<br>
----2.OLEnterprise产品对分布式计算和负载平衡提供超强的支 <br>
持。 <br>
<br>
----内置在Delphi组件中使你能很容易地使用DCOM、Socket或 <br>
OLEnterprise连接两台机器,并在两者之间来回传输数据集。 <br>
OLEnterprise工具提供DCOM的选择方法简化了连接两台机器的 <br>
任务,尤其是对两台运行Windows95的机器更是如此。 <br>
OLEnterprise使用户能访问ObjectBroker,它允许在几个服务 <br>
器中随机分配任务负载。此外,还可以在几台机器上装载服务器 <br>
工具,每次实行连接时,Broker会选择其中一台机器。例如,如 <br>
果你有100个客户端和3台服务器,ObjectBroker会随机分配负 <br>
载给3台服务器,每台服务器大约有33个客户端。Broker会在 <br>
服务器异常关闭时提供支持。编写几行代码可以提供服务器错误 <br>
处理,把客户端从出现问题的服务器切换到另一台正常运行的服 <br>
务器。另外Broker不会试图把一个新的客户端连接到已经关闭 <br>
的服务器上,相反它会自动连接到其中一台正在运行的服务器 <br>
上。 <br>
<br>
----分布式数据集可以基于DCOM,在客户端没有任何数据库工具 <br>
的情况下读取远程数据。有些用户可能会有这样的疑问:通过浏 <br>
览器和Web服务器也能在客户端没有任何数据库工具的情况下观 <br>
察远程机器上的数据集,为什么还要采用分布式数据集呢?这是 <br>
因为浏览器的功能远不如Borland分布式数据集的功能。如果没 <br>
有一种强大的第三方工具(如IntraBuilder),要增强浏览器的 <br>
约束条件,或者在浏览器中加入或建立一个一到多的关系表是非 <br>
常困难的。但这些功能都可以在Delphi的多层应用程序中简单 <br>
常困难的。但这些功能都可以在Delphi的多层应用程序中简单 <br>
地实现,Delphi的编译应用程序比基于HTML的应用更快速、更 <br>
易于应答。 <br>
<br>
----分布式数据集允许在客户端的应用中使用所有标准的Delphi <br>
组件,包括数据库工具,但是客户端无须装载BDE、ODBC或者任 <br>
何数据库类库(例如OracleSQL*NET、SybaseCT-Lib等等)。当 <br>
然网络上的某些地方需要BDE或类似的引擎,但是客户端无须装 <br>
载。简言之,现在只需要一套服务器端的数据库工具,每一个客 <br>
户端就可以使用它。 <br>
<br>
----分布式数据集是缩减网络通信量的一种方法。从服务器端下 <br>
载数据后,在客户端操作数据而无须初始化任何网络交易,除非 <br>
需要更改服务器端。这意味着在不启动网络交易的情况下,可以 <br>
编辑、插入、删除多个记录。更改服务器数据时,可以在预先选 <br>
定的时间段内把多个数据包送到网络上。 <br>
<br>
----另外,当客户端从网络上断开时,仍然可以利用 <br>
“briefcasemodel"访问数据。其操作步骤如下:先把一个远程 <br>
数据库复制到磁盘上,然后关闭计算机,再重新引导它、断开网 <br>
络连接、编辑数据,接着重新联网并修改数据库。所有这些都可 <br>
以在没有大型数据库工具的客户端完成。这说明为了操作数据, <br>
客户端不必每时每刻都与服务器连接。这对于膝上型计算机用户 <br>
和想要保持数据库通信量最小的站点是非常理想的。 <br>
<br>
----MIDAS技术的另一方面是提供访问数据库约束条件。当从服 <br>
务器上卸载数据时,可以同时卸载一套自动执行的约束条件。约 <br>
束条件可以帮助程序员确保用户输入合法的数据。当重新连到网 <br>
络上时,数据可以被正确地修改。如果你在更改数据库时偶然发 <br>
生了一个错误,那么内建的机制会帮助程序员报告和处理错误。 <br>
例如,如果另一个用户已经更改了你正试图更改的那条记录,那 <br>
么你将看到一个提示你如何处理的选项表。在 <br>
DelphiObjectRepository中的一个预建表单可以使你的应用程序 <br>
简单地实现错误处理。 <br>
<br>
----Borland多层计算的另一个重要功能是将数据库的负载分散 <br>
到多个服务器上。这样,一旦发生错误也能恢复。概括起来讲, <br>
这些技术存在于三种Broker中: <br>
<br>
----第一种叫做RemoteDataBroker,RemoteDataBroker结构的 <br>
精髓是让每一个客户端不再需要BDE,取而代之的是一个中央化 <br>
的BDE,以集中管理的方式降低每一个客户在BDE上所需的开销 <br>
和复杂度。 <br>
<br>
----第二种叫做ConstraintBroker,它所扮演的角色是保证所有 <br>
----第二种叫做ConstraintBroker,它所扮演的角色是保证所有 <br>
客户数据的一致性及数据的完整性。 <br>
<br>
----第三种是BusinessObjectBroker,它的目的是给一些关键性 <br>
的商业应用程序提供一个快速且可信赖的使用环境。为了满足这 <br>
种高层次的要求,BusinessObjectBroker会自动地将应用程序做 <br>
适当的划分,并复制重要的业务规则到每一个区间,以达到速度 <br>
的要求。 <br>
<br>
实现工具 <br>
<br>
----Borland提供了四种Delphi工具帮助用户实现分布式数据 <br>
集。前两个在服务器端: <br>
<br>
----1.远程数据模块像标准数据模块一样,它不但可以将数据传 <br>
播到当前的应用中,而且会传到网络上的特定区域中。特别是它 <br>
们把简单的数据模块转化成COM对象,允许你通过DCOM访问远 <br>
程服务器上的数据库。 <br>
<br>
----2.TProvider组件就像可以驻留在标准数据模块中的TTable <br>
组件一样,驻留在远程数据模块中,不同的是TProvider在网络 <br>
上发布数据表。TTable和TQuery组件都含有Provider属性。但 <br>
是如果把它作为一个独立的组件访问,会有更大的灵活性和力 <br>
量。特别是把TProvider组件与TTable或TQuery组件建立连接, <br>
网络上的其它程序就可通过DCOM从TTable或TQuery访问数据。 <br>
远程数据模块的任务就是使客户端访问服务器上特定的 <br>
Provider。 <br>
<br>
----在客户端可以利用两个组件访问服务器提供的数据: <br>
<br>
----1.TRemoteServer组件把客户端连到服务器上,特别是连到 <br>
服务器的远程数据模块上。更明确地说是连到远程数据模块支持 <br>
的COM接口上。TRemoteServer能浏览可用的服务器,一旦找到 <br>
服务器,TRemoteServer就可与之连接。 <br>
<br>
----2.TClientDataSet与TRemoteServer组件连接在一起,在服 <br>
务器上就得到一个特定的Provider。简言之,TClientDataSet <br>
组件扮演了与TQuery或TTable同样的角色,只不过它是为远程 <br>
站点提供数据服务。如同在许多标准的Delphi应用程序中传统 <br>
TDatabase、TTable、TDataSource、TDBGrid组件的配置结构一 <br>
样,在远程数据集中使用TRemoteServer、TClientDataSet、 <br>
TDataSource和TDBGrid组件,它们的配置只是稍有不同。在这 <br>
个新的方案中,TRemoteServer的作用类似于TDatabase的作用, <br>
而TClientDataSet组件与TTable或TQuery组件所起的作用又 <br>
极其相似。 <br>
t组件与TTable或TQuery组件所起的作用又 <br>
极其相似。 <br>
<br>
结论 <br>
<br>
----MIDAS为多层结构的应用开发提供了强大的功能,这使得开 <br>
发者再也无需为越来越庞大的数据及应用发愁了。在 <br>
Delphi3.0Client/Server版中打包了MIDAS的开发版,它可以用 <br>
于多层结构应用的开发及调试,在应用分布时,还需要另外购买 <br>
BorlandMIDASforDelphi。MIDAS是Borland公司金门结构系列产 <br>
品的一部分。在不久的将来,金门结构的其它开发工具如:C+ <br>
+Builder、JBuilder中也将打包MIDAS,以帮助用户用C++、 <br>
Java语言进行多层结构应用程序的开发。 <br>
中国计算机世界出版服务公司版权所有 <br>
<br>
-- <br>
<br>
怎一个惨字了得 <br>
<br>
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.7.26] <br>
</small><hr>
<p align="center">[<a href="index.htm">回到开始</a>][<a href="15.htm">上一层</a>][<a href="99.htm">下一篇</a>]
<p align="center"><a href="http://cterm.163.net">欢迎访问Cterm主页</a></p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -