COM+ 設計假設和原則
Microsoft 分散式程序設計模型包含數種技術,包括 MSMQ、IIS、DCOM 和 COM+。 所有這些服務都是針對分散式應用程式所設計。
COM+ 已開發成讓建立分散式應用程式更容易。 整體架構是以一組假設和原則為基礎。
假設
假設如下:
- COM+ 應用程式將跨多部伺服器支援多個使用者。 換句話說,您要建置分散式應用程式,而且這些多位使用者將會位於程式代碼執行所在的不同主計算機上。 使用者將會透過因特網或專用網來存取程序代碼。 使用者介面將會透過瀏覽器或自定義應用程式呈現,例如以 Microsoft Visual Basic 或 MFC 撰寫的表單型應用程式。 該使用者介面將會位於用戶端電腦上。
- COM+ 應用程式可以調整,並可藉由跨多部伺服器計算機部署應用程式,以提供更高的可用性和可靠性。 如此一來,您就可以平衡應用程式的工作負載,並使用 Windows 叢集來提供容錯。
- 如果發生問題,當您使用交易時,將會從 COM+ 應用程式維護儲存在資料庫中的保存數據狀態。 應用程式狀態必須倖存可能發生的事故,例如應用程式錯誤、系統當機或網路失敗。
原則
除了這三個假設之外,下列原則會瀰漫 COM+ 程序設計模型:
- 應用程式邏輯會位於伺服器電腦上,而不是位於用戶端電腦上。 這樣做有三個主要原因:
- 用戶端電腦可能沒有執行應用程式邏輯所需的處理能力或功能。 此外,在伺服器上保留應用程式邏輯可簡化部署。
- 伺服器電腦通常更接近數據,而且此數據最常在資料庫中。 因為您的應用程式正在存取資料庫,因此您想要對資料庫連線的成本非常敏感。 藉由將大部分邏輯放在伺服器計算機上,您可以共用資料庫連線並取得顯著的效能改善。 伺服器計算機上也有其他資源可以共用,同時具有效能優勢。
- 讓應用程式邏輯位於伺服器電腦上,可讓應用程式控制安全性內容。 如果您在伺服器電腦上執行的應用程式元件上維護該安全性,而不是在用戶端電腦上維護該安全性。
- 交易是核心。 根據設計,交易會滲透 COM+ 程式設計模型,因此請務必了解它們。 雖然您可以在不使用交易的情況下使用 COM+ 的許多服務,但如果您選擇不使用它們,則無法充分利用您可用的 COM+ 服務。 使用交易的一些重要優點包括:
- 交易是並行管理問題的合理解決方案。 此外,交易有助於防止當機,並具有良好的錯誤恢復模式。 此外,交易是跨多個系統管理工作的絕佳方式。
- 您可以設計交易式 COM+ 應用程式來處理資源管理員和資料庫,以協助保護大部分的狀態資訊。 藉由將狀態保留在資料庫或資源管理員所管理的其他記憶體內,您就不需要在應用程式建立的實際物件內保留太多狀態。 雖然這是與純物件導向模型背離的,但它很適合用來建立具有錯誤復原的分散式應用程式。
- 應用程式功能會建置為 COM 物件,包裝用來與其他系統或技術通訊的通訊協定。 因為您可能要建置一些技術或舊版系統的元件,因此請規劃使用各種通訊協定。 使用 HTTP 透過因特網進行用戶端/ 伺服器通訊或應用程式對應用程式通訊。 在伺服器上使用 DCOM 進行應用程式對應用程式或元件對元件通訊。
相關主題