分享方式:


架構圖

AppFabric 是從 Windows Server 中的「Windows 處理序啟用服務」(WAS) 和「應用程式伺服器」角色進化而來的,可主控和管理 WCF 與 WF 服務。因此,AppFabric 與 .NET Framework 4 緊密整合,使用提供為 Framework 之一部分的數種功能來提供主要功能 (例如,持續性、監控和主控 WCF 與 WF 服務的功能)。AppFabric 也與 Internet Information Services (IIS) 整合,在 IIS 管理主控台中提供管理和監控工具。

下列架構圖顯示 AppFabric 的一部分和 .NET Framework 4,以及 AppFabric 使用的 IIS 元件:

結構概觀圖

在本主題中,我們將會提供架構圖所述之每個技術的進一步詳細資訊,以逐步解說 AppFabric 架構。

加強 Windows 處理序啟用服務的功能

既然架構圖將 AppFabric 所使用的基礎技術顯示在底部,我們就從 IIS 與 WAS 開始。

IIS 與 WAS

AppFabric 是架構在 IIS 與 WAS 提供之功能強大的主控環境之上。在 WAS 中主控應用程式可提供服務導向架構 (SOA) 所需的數種功能,例如:

  • 以訊息為基礎的應用程式啟動,可讓應用程式根據連入訊息動態地啟動與停止。

  • 強大的應用程式與工作者處理序回收功能,可維持執行中應用程式的健康情況。

  • 應用程式組態與管理。

  • 基於定址與管理的目的,將應用程式組織至網站。在執行階段,應用程式與定義執行階段處理序界限的應用程式集區相關聯。

但是,針對提供的所有功能,部署、管理和監控 WCF 與 WF 服務無法解決,提供部署機制、管理指導方針和自訂監控解決方案的負擔會落在應用程式開發者身上。此外,這對主控長期執行的處理序 (例如,IIS 與 WAS 中依需求啟用和處理序回收的工作流程) 也是一個挑戰。如果應用程式要求,開發人員必須明確設定狀態持續性與主機啟用。AppFabric 透過提供工具和服務讓您輕鬆地部署與監控應用程式以及設定主控環境的功能,來解決這些缺點。

執行階段服務與元件

AppFabric 提供服務 (例如,將長時間執行之工作流程的狀態放入持續性儲存區)、以內容為基礎的路由,以及以組態為基礎的啟用。

ASP.NET

許多讓 WSA 主控環境引人注目的基本功能 (例如,應用程式定義域、週期管理、健康情況監控、一般設定系統與動態編譯) 都是由 ASP.NET 所提供。ASP.NET 也為使用 HTTP 接收訊息的 WCF 與 WF 服務提供以訊息為基礎的啟用功能。

WCF 與 WF

WCF 與 WF 服務提供的建置組塊可用來建立 SOA 應用程式,而且是 AppFabric 的焦點。WCF 提供統一的程式設計模型,可用來開發跨網路通訊的 SOA 應用程式,包括與使用其他技術建置之應用程式的互通性。WF 提供工作流程引擎,可用來實作長時間執行的處理序。

如需 WCF 與 WF 的詳細資訊,請參閱 Windows Communication FoundationWindows Workflow Foundation (可能為英文網頁)。

執行階段資料庫

在實作狀態持續性以執行應用程式或擷取監控資訊時,第一個考量是儲存資料的媒介。這對於 SOA 應用程式而言特別重要,因為 SOA 應用程式需要功能強大、安全、可擴充且具有高可用性的資料儲存區。您的應用程式可能由陣列中多部伺服器上執行的元件所組成,因此資料儲存區也必須可輕易地供多部伺服器同時存取。

為了符合這些條件,AppFabric 會將所有持續性與監控資訊儲存在資料儲存區中。

注意

根據預設值,持續性與監控資料儲存在相同的資料庫內。但是,可以將資料分別存放至不同的資料庫,或甚至為特定應用程式建立其他持續性與監控資料庫。

如需 AppFabric 使用之資料庫的詳細資訊,請參閱資料庫管理

持續性

主控應用程式的其中一個挑戰是確保應用程式承受得住系統失敗或重新啟動之類的狀況。AppFabric 透過使用持續性提供者,允許 WF 服務將其狀態儲存至持續性資料庫,然後於系統失敗或重新啟動時繼續在健康情況良好的系統上執行,以達到此目標。

除了提供持續性功能以避免系統失敗或重新啟動時工作資料遺失之外,長時間執行的 WF 服務可以在正常執行期間暫停,以釋放資源給其他應用程式,並在必須由持續性工作流程執行個體處理的訊息到達時繼續操作。您也可以使用監控持續性 WF 執行個體上之 “run at” 指示器的長期計時器,在特定間隔之後觸發 WF 服務繼續執行,並繼續執行該執行個體。

如需持續性的詳細資訊,請參閱持續性概念

主控

AppFabric 將 ServiceHost (主機 WCF) 和 WorkflowServiceHost (主機 WF) 服務主控環境與 IIS 和 WAS 整合。例如,上述兩個主機同時參與正常 appDomain 的關閉與回收,以及應用程式自動啟動程序。雖然 IIS 和 WAS 結合的功能提供了豐富的主控環境給 WCF 與 WF 應用程式,但為充分利用這些功能,開發人員通常需要付出許多心力,以部署和設定應用程式。AppFabric 提供一組完整的工具,可讓您以標準方式設定應用程式,無需自訂部署解決方案或進行手動設定程序。

如需 AppFabric 如何利用 IIS 與 WAS 技術的詳細資訊,請參閱主控概念

監控

由於使用 WCF 和 WF 服務建置的解決方案具有鬆散耦合與分散性特質,要針對這些解決方案進行監控和疑難排解通常很困難,必須檢視每個服務,然後自行判斷發生之每個事件之間的關係,才能全面性了解應用程式發生的狀況。使用 AppFabric,可從各種來源收集事件並建立關聯性,以提供執行中處理序之執行狀況的全面性檢視。此資料儲存在資料庫中,可使用「IIS 管理」主控台中主控的監控工具或 適用於 Windows PowerShell 的 ApplicationServer 模組 Cmdlet 來擷取。

如需監控的詳細資訊,請參閱監控功能概念

管理 API

為了支援各種管理案例,AppFabric 透過適用於 Windows PowerShell 的 ApplicationServer 模組做為 Cmdlet,提供對所有管理功能的存取權。此實作提供多種方式來使用管理功能,例如從 Windows PowerShell 命令列殼層以互動方式叫用 Cmdlet、建立指令碼以叫用 Cmdlet,或從自訂應用程式內叫用 Cmdlet。

如需詳細資訊,請參閱管理工具

IIS 管理員

為了提供集中設定及管理 WF 與 WCF 服務的功能,AppFabric 在「IIS 管理員」中提供豐富的管理與監控工具,可讓您管理及監控 WCF 與 WF 服務。AppFabric 也使用 MSDeploy 將服務部署至 WAS 主控環境。您可以使用 MSDeploy 來部署包含 WCF 與 WF 服務的應用程式。

注意

「IIS 管理」主控台中公開的所有功能都是以適用於 Windows PowerShell 的 ApplicationServer 模組為基礎,並實作為 Windows PowerShell Cmdlet。因此,在 AppFabric 使用者介面中執行的所有工作都可以寫成指令碼。

如需適用於「IIS 管理員」之 AppFabric 延伸模組的詳細資訊,請參閱管理工具

Visual Studio

Visual Studio 2010 提供豐富的開發環境,可讓您用來建立包含 WCF 與 WF 服務的應用程式。Visual Studio 2010 也支援按下 F5 時直接在 AppFabric 中測試您的服務,並提供為專案建立部署套件的能力,此套件可透過 MSDeploy 直接匯入 AppFabric 環境中。

如需 Visual Studio 2010 的詳細資訊,請參閱 Visual Studio 2010 (可能為英文網頁)。如需使用 Visual Studio 2010 來搭配 AppFabric 的詳細資訊,請參閱下列主題:

另請參閱

概念

架構概觀

  2012-03-05