用C++Builder開發(fā)多層數(shù)據(jù)庫應(yīng)用程序

字號(hào):

一、Multi_Tier結(jié)構(gòu)的實(shí)現(xiàn)
    C++ Builder提出的Multi_Tier是把以前的Client/Server前端應(yīng)用程序內(nèi)的BDE、SQLLink、DataModule拿到另一臺(tái)NT服務(wù)器上,也叫應(yīng)用程序服務(wù)器,而前端機(jī)只留下應(yīng)用程序及DBClient.DLL,而移到應(yīng)用程序服務(wù)器上的DataModule則變成一個(gè)COM程序,此COM程序是通過BDE、SQL Link傳輸SQL到后端數(shù)據(jù)庫,并從后端數(shù)據(jù)庫存取數(shù)據(jù);然后由Tdatasetprovider組件把讀取的Dataset壓縮并切割成一段一段的數(shù)據(jù)包(data packet)通過DCOM的機(jī)制傳給前端機(jī),前端機(jī)上的DBClient.DLL會(huì)把接收到的數(shù)據(jù)包再還原成DataSet傳給程序中的TclientDataSet組件,Data Control組件就可以TclientDataSet為數(shù)據(jù)源對(duì)之進(jìn)行操作。而COM程序會(huì)把修改后的DataSe正確地寫回后端數(shù)據(jù)庫。
    與Client/Server結(jié)構(gòu)相比,Multi_Tier結(jié)構(gòu)具有很多優(yōu)點(diǎn),主要為:
    1、大幅度地減少數(shù)據(jù)庫服務(wù)器的負(fù)擔(dān)。因?yàn)槎嗔艘粚討?yīng)用程序服務(wù)器,接管了眾多Client端機(jī)的Connection處理,數(shù)據(jù)庫服務(wù)器只需處理應(yīng)用服務(wù)器的Connection,這樣就不會(huì)因?yàn)橛脩簦–lient)數(shù)的增加而影響系統(tǒng)的運(yùn)行性能。
    2、前端機(jī)應(yīng)用程序安裝方便。Multi_Tier結(jié)構(gòu)中,把以前的Client/Server前端應(yīng)用程序內(nèi)的BDE、SQL Link、DataModule拿到數(shù)量很少的應(yīng)用服務(wù)器上,前端機(jī)只負(fù)責(zé)UseInterface的處理,只需要一個(gè)單純的EXE文件(包括DBClient.DLL),可以在應(yīng)用服務(wù)器上開發(fā)前端應(yīng)用程序,通過網(wǎng)絡(luò)復(fù)制到各個(gè)前端機(jī)上。
    二、環(huán)境配置
    1、后端數(shù)據(jù)庫服務(wù)器:
    數(shù)據(jù)庫系統(tǒng)及數(shù)據(jù)庫提供的中間軟件,本文為VMS系統(tǒng)上安裝ORACLE 7.3,也可安裝ORACLE8、SQL*NET 2.3 。
    2、應(yīng)用程序服務(wù)器:
    (1)在PC Server上安裝Windows NT,使它成為一臺(tái)Microsoft NT Server。
    (2)保證網(wǎng)絡(luò)的暢通,即網(wǎng)絡(luò)層的通訊協(xié)議(TCP/TIP,IPX…)的暢通。
    (3)安裝數(shù)據(jù)庫系統(tǒng)提供的中間件,本文是ORACLE提供的ORACLE for NT 的SQL*NET產(chǎn)品,執(zhí)行SQL*NET Easy Configuration工具,設(shè)定ORACLE的TNS連接參數(shù),加入一個(gè)數(shù)據(jù)庫別名,連上后端的ORACLE數(shù)據(jù)庫服務(wù)器。
    (4)安裝BDE Administrator,設(shè)定BDE的參數(shù)內(nèi)容,具體步驟是Databases中新建一個(gè)別名,本文是ORACLE2,其中的參數(shù)改為:
    SERVERNAME: 在第3步中定義的ORACLE數(shù)據(jù)庫服務(wù)器的別名。
    NET PROTOCOL: TNS
    USER NAME: ORACLE的用戶名/口令
    (5)安裝開發(fā)用的C++ builder 5軟件,用于開發(fā)應(yīng)用服務(wù)器和客戶端的程序。
    3、前端客戶機(jī):
    (1)安裝操作系統(tǒng)Windows 95/98,本文是Windows 98,保證各前端機(jī)與應(yīng)用服務(wù)器在TCP/IP層上連通。
    (2)從NT服務(wù)器的\Winnt\System32目錄下復(fù)制的DBClient.DLL到本機(jī)的 \Windows\System。
    (3)如操作系統(tǒng)為Windows 95,必須安裝DCOM程序,因?yàn)閃indows 98與Windows NT Workstation已經(jīng)內(nèi)含DCOM程序,不需另外安裝。
    (4)應(yīng)用程序,在應(yīng)用服務(wù)器上開發(fā),通過網(wǎng)絡(luò)復(fù)制。