程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> DELPHI多層分布式開發(1)(2)

DELPHI多層分布式開發(1)(2)

編輯:Delphi

這裡需要做幾個說明:

1) 在客戶端,數據控件一般要和Datasource相連,但在服務器端,主要要 考慮數據和接口相連,Delphi 5.0以上版本規定,使用DataSetProvider

就不需要再針對每個控件做Export(導出)操作,而是由應用程序服務器自 動幫前台查找這就簡化了程序和維護量。但是,前台每個DataSet 必須有個

對應的DataSetProvider 才行。

2)關於建立COM 時的幾個選項現在說明一下:

A) Instancing :

Multiple Instance: 一個應用程序可以被多個前台程序調用使用,啟動和執 行的效率比較高,不耗費服務器太多的資源,管理上也比較方便。

Single Instance: 一個應用程序只能被一個前台程序調用,由於沒有排隊問 題,所以當某個查詢崩潰時,不會影響其它的查詢,但是,一個前台調用必然在 服務器上建立一個應用程序服務器的Process (進程),占用資源比較多,影響 服務器整體執行效率。

Internal: 建立一個In-Process的COM 程序(也就是DLL文件的格式),由 於Mult-TIEr 結構中,應用程序服務器和前台程序是放在不同的地方的,兩台機 器的兩個程序就無法共享同一個Process,所以很少設置成Internal模式的。

B) Threading Model:

Apartment: 每個實例一次只能處理一個前台發出的Request(請求),如果 同時建立多個In-Process COM 程序,那每個COM 程序就會有一個現程服務,所 以數據是安全的,當然要注意某些共享變量的沖突。

Single: 單線程,循環工作,不會出現多任務的問題。

Free : 可以讓Remote Data Module自己處理多線程問題,客

戶端程序需要用多線程方法來處理。

Both : 和Free幾乎相同,但對應前台界面的Callback都是連

續的。

如果注冊後無法確認是否注冊成功,可以用C:\WINNT\Regedit.exe檢查。

客戶端程序

在Two-Tier模式中,客戶端(Client)程序是直接和服務器的數據源相連的, 而Multi-TIEr模式,多個客戶端連接的是一個應用程序服務器,因為收費是按客 戶端數計算的,所以,數據庫的使用費用比較低。

下面的例子只提供了數據庫操作的最基本的功能,主要說明數據源的連接方 法。

1)建立一個普通的工程。

2)放置一個TDCOMConnrction控件(在Datasnap頁),屬性:

在本機注冊時,可直接設置以下屬性:

ServerName:應用程序服務器注冊名(pro1.pc121)

Connected=true 激活

這時你可以看到服務器端的COM 程序被激活了。

如果在網絡上調試,需要給出服務器名:

ComputerName:服務器名(自動給出網上鄰居)

注意:

ServerGUID的GUID值是自動給出的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved