繼Client/Server結構在MRP、MIS等資料庫應用系統紅火之後,多層結構(Multi_Tier)開始登場,許多廠商提供了各種中介軟體。本文描述了用Borland C++ Builder(以下簡稱BCB)所提供的Multi_Tier構件來開發多層資料庫應用程式的方法。
一、 Multi_Tier結構的實現
C++ Builder提出的Multi_Tier是把以前的Client/Server前端應用程式裡的BDE、SQL Link和DataModule拿到另一台NT伺服器上,也叫應用程式伺服器,前端機只留下應用程式及DBClient.DLL,而移到應用程式伺服器上的DataModule則變成一個COM程式,此COM程式是通過BDE 、SQL Link傳輸SQL到後端資料庫,並從後端資料庫存取資料,然後由Tdatasetprovider組件把讀取的Dataset壓縮並切割成一段一段的資料包(data packet)通過DCOM的機制傳給前端機,前端機上的DBClient.DLL會把接收到的資料包再還原成DataSet傳給程式中的TclientDataSet組件,Data Control組件就可以TclientDataSet為資料來源對之進行操作,而COM程式會把修改後的DataSet正確地寫回後端資料庫。
與Client/Server結構相比,Multi_Tier結構具有很多優點,主要表現在:
1. 大幅度地減少資料庫伺服器的負擔。因為多了一層應用程式伺服器,接管了眾多客戶機的Connection處理,資料庫伺服器只需處理應用伺服器的Connection,這樣就不會因為使用者(Client)數的增加而影響系統的運行效能。
2. 前端機應用程式安裝方便。Multi_Tier結構中,把以前的Client/Server前端應用程式內的BDE、SQL Link和DataModule拿到數量很少的應用伺服器上,前端機只負責Use Interface的處理,只需要一個單純的EXE檔案(包括DBClient.DLL),可以在應用伺服器上開發前端應用程式,通過網路複製到各個前端機上。
二、 環境配置
1.後端資料庫伺服器配置
包括資料庫系統及資料庫提供的中介軟體。本文具體環境為:
VMS作業系統上安裝Oracle7.3。
2.應用程式伺服器配置
(1)在PC Server上安裝Windows NT ,使它成為一台Microsoft NT Server;
(2)保證網路的暢通,即網路層的通訊協議的暢通;
(3)安裝資料庫系統提供的中介軟體,本文是Oracle提供的Oracle for NT 的SQLNET產品,執行SQLNET Easy Configuration工具,設定Oracle的TNS串連參數,加入一個資料庫別名,連上後端的Oracle資料庫伺服器;
(4)安裝BDE Administrator,設定BDE的參數內容,具體步驟如下:
Databases中先建立一個別名,本文是Oracle2,其中的參數改為:
server name 資料庫伺服器的別名
net protocol tns
user name oracle的使用者名稱/口令
(5)安裝C++Builder 5軟體,用於開發應用伺服器和用戶端的程式。
3.前端客戶機配置
(1)安裝作業系統Windows 95/98,本文是Windows 98,保證各前端機與應用伺服器在TCP/IP層上連通;
(2)從NT伺服器的\Winnt\System32目錄下複製DBClient.DLL到原生\Windows\System;
(3)如作業系統為Windows 95,必須安裝DCOM程式,因為Windows 98 與Windows NT Workstation已經內含DCOM程式,不需另外安裝;
(4)在應用伺服器上開發應用程式,通過網路複製。