MIDAS三层体系结构_第1页
MIDAS三层体系结构_第2页
MIDAS三层体系结构_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MIDAS多层分布式应用程序服务器   -对MIDAS这个名字一般有两种理解。MIDAS是Multi tier Distributed Application Services Suite(多层分布式应用 程序服务包)的缩写,这也诠释了MIDAS技术的实质。也许因为 这个本义太长,很多人更愿意把它理解成Multitier Made Easy, 这也是MIDAS的作用。多层计算(Multitiered computing)是 业界对此类技术通用的术语,而Multitier是Borland公司采用的技术术语Borland典型的三层结构如下:第一层是数据库 服务器,第二层是应用服务器,第三

2、层是瘦客户机。数据库服务器是诸如Inter Base、Oracle、Sybase、 MSSQL Server等数据库,应用服务器和瘦客户机由Delphi建立。 大多数情况下,数据库访问软件(例如BDE,SQLNET等等)与 应用服务器运行在同一台机器上。 -应用服务器主要基于Borland的分布式数据技术,至少包括 两方面的内容:   -1.内置在Delphi组件中; -2.OLEnterprise产品对分布式计算和负载平衡提供超强的支持。 -内置在Delphi组件中使你能很容易地使用DCOM、Socket或 OLE nterprise连接两台机器,并在两者之间来回传输数据集。 OL

3、E nterprise工具提供DCOM的选择方法简化了连接两台机器的 任务,尤其是对两台运行Windows95的机器更是如此。 OLEnterprise使用户能访问ObjectBroker,它允许在几个服务 器中随机分配任务负载。此外,还可以在几台机器上装载服务器 工具,每次实行连接时,Broker会选择其中一台机器。例如,如 果你有100个客户端和3台服务器,ObjectBroker会随机分配负 载给3台服务器,每台服务器大约有33个客户端。Broker会在 服务器异常关闭时提供支持。编写几行代码可以提供服务器错误 处理,把客户端从出现问题的服务器切换到另一台正常运行的服务器。另外Broke

4、r不会试图把一个新的客户端连接到已经关闭 的服务器上,相反它会自动连接到其中一台正在运行的服务器 上。  -分布式数据集可以基于DCOM,在客户端没有任何数据库工具的情况下读取远程数据。有些用户可能会有这样的疑问:通过浏览器和Web服务器也能在客户端没有任何数据库工具的情况下观察远程机器上的数据集,为什么还要采用分布式数据集呢?这是因为浏览器的功能远不如Borland分布式数据集的功能。如果没有一种强大的第三方工具(如IntraBuilder),要增强浏览器的约束条件,或者在浏览器中加入或建立一个一到多的关系表是非常困难的。但这些功能都可以在Delphi的多层应用程序中简单地实现,D

5、elphi的编译应用程序比基于HTML的应用更快速、更易于应答。   -分布式数据集允许在客户端的应用中使用所有标准的Delphi组件,包括数据库工具,但是客户端无须装载BDE、ODBC或者任 何数据库类库(例如OracleSQLNET、SybaseCTLib等等)。当 然网络上的某些地方需要BDE或类似的引擎,但是客户端无须装载。简言之,现在只需要一套服务器端的数据库工具,每一个客户端就可以使用它。   -分布式数据集是缩减网络通信量的一种方法。从服务器端下载数据后,在客户端操作数据而无须初始化任何网络交易,除非需要更改服务器端。这意味着在不启动网络交易的情况下,可以编辑

6、、插入、删除多个记录。更改服务器数据时,可以在预先选定的时间段内把多个数据包送到网络上。   -另外,当客户端从网络上断开时,仍然可以利用“briefcasemodel"访问数据。其操作步骤如下:先把一个远程数据库复制到磁盘上,然后关闭计算机,再重新引导它、断开网络连接、编辑数据,接着重新联网并修改数据库。所有这些都可以在没有大型数据库工具的客户端完成。这说明为了操作数据,客户端不必每时每刻都与服务器连接。这对于膝上型计算机用户和想要保持数据库通信量最小的站点是非常理想的。   -MIDAS技术的另一方面是提供访问数据库约束条件。当从服 务器上卸载数据时,可以同时

7、卸载一套自动执行的约束条件。约 束条件可以帮助程序员确保用户输入合法的数据。当重新连到网 络上时,数据可以被正确地修改。如果你在更改数据库时偶然发 生了一个错误,那么内建的机制会帮助程序员报告和处理错误。 例如,如果另一个用户已经更改了你正试图更改的那条记录,那么你将看到一个提示你如何处理的选项表。在DelphiObjectRepository中的一个预建表单可以使你的应用程序简单地实现错误处理。   -Borland多层计算的另一个重要功能是将数据库的负载分散到多个服务器上。这样,一旦发生错误也能恢复。概括起来讲,这些技术存在于三种Broker中: -第一种叫做RemoteData

8、Broker,RemoteDataBroker结构的精髓是让每一个客户端不再需要BDE,取而代之的是一个中央化的BDE,以集中管理的方式降低每一个客户在BDE上所需的开销 和复杂度。 -第二种叫做ConstraintBroker,它所扮演的角色是保证所有客户数据的一致性及数据的完整性。 -第三种是BusinessObjectBroker,它的目的是给一些关键性的商业应用程序提供一个快速且可信赖的使用环境。为了满足这种高层次的要求,BusinessObjectBroker会自动地将应用程序做适当的划分,并复制重要的业务规则到每一个区间,以达到速度的要求。 实现工具 -Borland提供了四种De

9、lphi工具帮助用户实现分布式数据集。前两个在服务器端: -1.远程数据模块像标准数据模块一样,它不但可以将数据传播到当前的应用中,而且会传到网络上的特定区域中。特别是它们把简单的数据模块转化成COM对象,允许你通过DCOM访问远程服务器上的数据库。   -2.TProvider组件就像可以驻留在标准数据模块中的TTable组件一样,驻留在远程数据模块中,不同的是TProvider在网络上发布数据表。TTable和TQuery组件都含有Provider属性。但是如果把它作为一个独立的组件访问,会有更大的灵活性和力量。特别是把TProvider组件与TTable或TQuery组件建立连

10、接,网络上的其它程序就可通过DCOM从TTable或TQuery访问数据。远程数据模块的任务就是使客户端访问服务器上特定的Provider。   -在客户端可以利用两个组件访问服务器提供的数据: -1.TRemoteServer组件把客户端连到服务器上,特别是连到服务器的远程数据模块上。更明确地说是连到远程数据模块支持的COM接口上。TRemoteServer能浏览可用的服务器,一旦找到服务器,TRemoteServer就可与之连接。   -2.TClientDataSet与TRemoteServer组件连接在一起,在服务器上就得到一个特定的Provider。简言之,TCl

11、ientDataSet组件扮演了与TQuery或TTable同样的角色,只不过它是为远程站点提供数据服务。如同在许多标准的Delphi应用程序中传统TDatabase、TTable、TDataSource、TDBGrid组件的配置结构一样,在远程数据集中使用TRemoteServer、TClientDataSet、TDataSource和TDBGrid组件,它们的配置只是稍有不同。在这个新的方案中,TRemoteServer的作用类似于TDatabase的作用,而TClientDataSet组件与TTable或TQuery组件所起的作用又极其相似。   结论   -MIDA

12、S为多层结构的应用开发提供了强大的功能,这使得开发者再也无需为越来越庞大的数据及应用发愁了。在Delphi Client/Server版中打包了MIDAS的开发版,它可以用于多层结构应用的开发及调试,在应用分布时,还需要另外购买BorlandMIDASforDelphi。Borland公司的MIDAS让我们能用Delphi构建强大的多层分布式数据库系统,MIDAS提供了很多种的客户程序和中间层的连接方式,如:Sockect,DCOM,Corba等等,这么多的方式,在开发多层体系的时候我们应该如何选择呢,下面我就简单的介绍一下这几种连结方式。Socket: Sockect无疑是最容易配置的连接方

13、式。而且Socket只使用一个端口来进行通讯,这样如果在拥有防火墙的系统中,管理员会更乐意接受Socket因为配置通过防火墙的Dcom是相对麻烦的事情。在安装中间层的机器上,只要运行SCKTSRVR.EXE就可以和客户端建立Socket的连接了。但是Socket并不支持早联编(early-binding) COM和DCOM:COM/DCOM 提供了核心的NTLM的安全性和验证机制。在COM/DCOM里面我们可以很轻松地使用早联编(early-binding)、 回调机制(callback)和连结点机制(ConnectionPoints)。 但是它的不利因素就是配置客户端的DCOM和让DCOM透

14、过防火墙(FireWall)相当麻烦。MTS:MTS能够为分布式的系统提供数据库连结池、事务支持,便于分发等优点,在它基础之上的COM+(Windows2000已经提供了这个服务)组合了COM和MTS的功能。MTS的缺点就是对处理使用BDE的多用户应用的事务处理支持很弱。当然ADO不在这个范围啦CORBA:CORBA是一个跨平台的开放式标准(特别是在很多的JAVA应用中,因为他们都是跨平台的产品),通过VisiBroker(很著名的ORB系统),配置比DCOM方便多了。Borland不久前发布的IDL2Pas的产品使得我们可以编写Delphi的客户端轻松的访问CORBA组件。CORBA本身的负

15、载平衡、命名服务和事件服务可以让开发者构建更稳定和扩展性强的分布式系统。缺点是我们在开发CORBA得系统中不能完全地使用早联编;为了支持COBRA客户端需要分发额外的文件如borlndmm.dll, cp3245mt.dll, midas.dll,orb_br.dll,orbpas50.dll;Delphi不是能够使用全部的VisiBroker的功能,比如以服务方式运行的OAD和GateKeeper Delphi中MIDAS到底是什么呢?和他相关组件是什么呢? MIDAS(Multitiered Distributed Application Services)多层分布式应用服务 D

16、elphi所提出的Multi-Tier结构是把原来的Two-Tier前台应用程序内的dbExpress,ADO,BDE,SQL Link,DataMoule,拿到另外一台NT服务器(就是所谓的应用程序服务器),而前台程序只剩下一 个可执行文件及MIDAS.DLL,而移到NT服务器上的DataMoule则变成一个COM程序(Remote DataModule). 注:前台一定要把MIDAS.DLL发布到系统目录下. (1)前台程序会通过调用应用程序服务器提供的方法(接口)提出一个请求 应用程序服务器会响应这个请求,传送一个相应的SQL命令到后台数据库,而后台数据库会把执行SQL命令产生的Data

17、Set返回给应用程序服务器. 注:Delphi提供了Type Library来帮助应用程序服务器定义COM方法(接口) (2)NT服务器上的COM程序是通过中间软件(dbExpress,ADO,BDE,SQL Link)传送SQL到后台数据库. 当应用程序服务器要把读取到的DataSet传送给前台时,就必须利用DCOM的机制来进行.Delphi提供的TDataSetProvider组件就会把读取到的DataSet压缩并且分割成一段一段的数据包,通 过DCOM或TCP/IP传给前台. 注:Delphi提供了RemoteDataModule向导来帮你产生COM程序的结构. 由于Delphi的程序具有传送DataSet的特殊机制,所以Delphi也实现了一个接口叫做IProvider(即TDataSetProvider),来帮助应用程序服务器上的COM程序发送DataSet数据. (3)前台程序与NT服务器上的COM程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论