delphi midas編程

delphi midas編程

ID:6126269

大小:155.00 KB

頁(yè)數(shù):19頁(yè)

時(shí)間:2018-01-03

delphi midas編程_第1頁(yè)
delphi midas編程_第2頁(yè)
delphi midas編程_第3頁(yè)
delphi midas編程_第4頁(yè)
delphi midas編程_第5頁(yè)
資源描述:

《delphi midas編程》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)

1、MIDAS編程多層分布式應(yīng)用服務(wù)(MultitieredDistributedApplicationServices,即MIDAS)套件是一套組件,使用這些組件可以很容易地建立多層的客戶-服務(wù)器數(shù)據(jù)庫(kù)應(yīng)用程序。這也是公司愿意為Delphi企業(yè)版支付數(shù)千美元的原因之一,而它確實(shí)物有所值。如果您購(gòu)買(mǎi)了個(gè)人版本的Delphi,那么必須再購(gòu)買(mǎi)企業(yè)版才能得到MIDAS組件和相應(yīng)的動(dòng)態(tài)鏈接庫(kù)(DLL)。如果您使用的是標(biāo)準(zhǔn)版或?qū)I(yè)版,那么本節(jié)中的例子將無(wú)法使用。但您仍然可以閱讀一下本節(jié),來(lái)看一看Delphi企業(yè)版是否適合您。對(duì)另一些人來(lái)說(shuō),本節(jié)將通過(guò)例子來(lái)演示如何使用MIDAS的一些核心功能。

2、通過(guò)示范如何利用一些核心控件來(lái)建立客戶和服務(wù)器程序,對(duì)這些功能進(jìn)行了演示;共有三個(gè)例子示范了這些控件:一個(gè)動(dòng)態(tài)查詢程序,它使用DCOM連接到同一臺(tái)計(jì)算機(jī)和遠(yuǎn)程機(jī)器上的服務(wù)器,另一個(gè)程序示范了出錯(cuò)情況下的恢復(fù),還有一個(gè)公文包程序的例子。請(qǐng)記住:客戶程序通常有圖形用戶界面,并且與用戶進(jìn)行交互。而服務(wù)器是向客戶程序提供服務(wù)的應(yīng)用程序??蛻?服務(wù)器這個(gè)術(shù)語(yǔ)隱含著圖形用戶界面與數(shù)據(jù)庫(kù)服務(wù)器。n層、多層或三層這些術(shù)語(yǔ),大體上也是同樣的意思。第一層是客戶程序,中間層或第二層包含了商務(wù)規(guī)則的編碼,通常是應(yīng)用服務(wù)器,而最后一層是數(shù)據(jù)庫(kù)服務(wù)器自身(參見(jiàn)圖15.1)。本章提供了一些例子程序進(jìn)行示范,其

3、中客戶端是用Delphi實(shí)現(xiàn)的標(biāo)準(zhǔn)Windows可執(zhí)行文件,而中間層則是MIDAS和用Delphi實(shí)現(xiàn)的進(jìn)程外COM服務(wù)器——自動(dòng)化服務(wù)器,此外還需要適當(dāng)?shù)臄?shù)據(jù)庫(kù)。為避免創(chuàng)建難于理解的例子,本章中只使用了DBDEMO表和本地Interbase數(shù)據(jù)庫(kù)。請(qǐng)記住,任何數(shù)據(jù)庫(kù)服務(wù)器,如SQLServer、Oracle或Sybase等,在客戶程序和中間層的代碼不進(jìn)行改變或改動(dòng)很少的情況即可使用。圖15.1基本的三層客戶-服務(wù)器應(yīng)用程序配置,分別使用了三臺(tái)物理上獨(dú)立的計(jì)算機(jī)示范了每一層的不同作用。所有的三層可以都位于同一臺(tái)物理計(jì)算機(jī)上15.1MIDAS組件概述本節(jié)中討論了通??赡苡玫降慕M件。

4、用于實(shí)現(xiàn)三層應(yīng)用程序的MIDAS組件分為客戶程序的組件和服務(wù)器程序的組件。另外,可能還需要一些通常用于建立客戶程序的其他組件。注意:這里并未提供對(duì)MIDAS組件的詳盡描述。MIDAS套件是非常廣泛的,現(xiàn)在看來(lái)還沒(méi)有專(zhuān)門(mén)講述MIDAS的Delphi書(shū)籍。MIDAS為開(kāi)發(fā)者提供了客戶程序與服務(wù)器程序之間的橋梁。一旦創(chuàng)建了包含TRemoteDataModule對(duì)象的服務(wù)器程序,然后即可建立客戶程序,就像是兩層應(yīng)用程序一樣。即,可以根據(jù)個(gè)人的喜好選擇是否使用數(shù)據(jù)感知控件,而無(wú)論怎樣都可以在客戶程序中得到并使用相關(guān)的數(shù)據(jù),就像是已經(jīng)了解了有關(guān)數(shù)據(jù)庫(kù)的知識(shí)一樣。由于中間層的服務(wù)器程序是新出現(xiàn)

5、的部分,我們從用于建立應(yīng)用服務(wù)器的組件開(kāi)始。15.1.1定義服務(wù)器應(yīng)用程序在兩層的客戶-服務(wù)器應(yīng)用程序中,包括數(shù)據(jù)庫(kù)服務(wù)器以及數(shù)據(jù)感知客戶程序。客戶程序由程序員編寫(xiě),而服務(wù)器則是數(shù)據(jù)庫(kù)應(yīng)用程序。在三層系統(tǒng)中,客戶與數(shù)據(jù)庫(kù)層之間添加了應(yīng)用服務(wù)器層。本節(jié)示范了用于建立服務(wù)器程序的一些基本的組件。注意:請(qǐng)記住,在n層、三層和多層結(jié)構(gòu)之間并無(wú)實(shí)際的區(qū)別。對(duì)于我們的目的來(lái)說(shuō),它們是同樣的;至于是否存在區(qū)別,則是一個(gè)有待確定的問(wèn)題。TRemoteDataModuleTRemoteDataModule是TDataModule的后代,其用法也大致相同。在服務(wù)器程序中,可將遠(yuǎn)程數(shù)據(jù)模塊作為所有非可

6、視組件的容器使用。TRemoteDataModule實(shí)現(xiàn)了IAppServer接口,只需向標(biāo)準(zhǔn)的應(yīng)用程序中添加該類(lèi)的對(duì)象,即可實(shí)現(xiàn)需要向客戶程序提供的功能。要?jiǎng)?chuàng)建MIDAS服務(wù)器,首先在Delphi中啟動(dòng)一個(gè)標(biāo)準(zhǔn)的應(yīng)用程序工程。從NewItems對(duì)話框的Multitier屬性頁(yè)中,向工程添加一個(gè)遠(yuǎn)程數(shù)據(jù)模塊對(duì)象。創(chuàng)建遠(yuǎn)程數(shù)據(jù)模塊的向?qū)н^(guò)程如下所示(見(jiàn)圖15.2),其中需要選定CoClass的名字、實(shí)例化方法以及線程模型。提供了這些信息后,Delphi將創(chuàng)建類(lèi)型庫(kù)和新的遠(yuǎn)程數(shù)據(jù)模塊子類(lèi),該子類(lèi)由TRemoteDataModule子類(lèi)化而來(lái),并繼承了所定義的CoClass接口。MID

7、AS應(yīng)用服務(wù)器是一個(gè)自動(dòng)化服務(wù)器??梢韵蚪涌谔砑右恍┕δ?,并在遠(yuǎn)程數(shù)據(jù)模塊中進(jìn)行實(shí)現(xiàn)(參見(jiàn)15.2節(jié)“對(duì)MIDAS服務(wù)器進(jìn)行查詢”,其中的例子實(shí)現(xiàn)了一個(gè)接口,返回服務(wù)器可以訪問(wèn)的所有表名)。遠(yuǎn)程數(shù)據(jù)模塊將實(shí)現(xiàn)UpdateRegistry方法,該方法負(fù)責(zé)在第一次運(yùn)行程序時(shí)向WindowsNT注冊(cè)服務(wù)器。無(wú)須向遠(yuǎn)程數(shù)據(jù)模塊添加額外的功能,但需要添加一些組件,至少包括一個(gè)TProvider和一個(gè)TDataSet組件。添加TDatabase和TSession組件也很有用。在Delphi專(zhuān)

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。