天天看點

分布式系統設計套件

<b>摘要:</b>Microsoft Visual Studio 2005 Team Edition 是一個随 Visual Studio 2005 一起提供的圖形設計工具套件,主要面向架構師和開發人員。它支援連接配接系統的可視化設計和驗證。Visual Studio 2005 Team Edition for Software Architects 是動态系統管理計劃 (DSI) 的早期産品,旨在提升企業級分布式系統的設計、部署和管理。

<b>注</b> 本文内容最初發表于 .NET Developer's Journal 的 2005 年 1 月号。此處轉載已經釋出商許可。

分布式系統設計套件
分布式系統設計套件

<a href="http://www.microsoft.com/china/msdn/library/langtool/vs2005/DisSysDesSt.mspx#EMAA">設計目标:連接配接系統的可視化設計</a>

分布式系統設計套件

<a href="http://www.microsoft.com/china/msdn/library/langtool/vs2005/DisSysDesSt.mspx#EJAA">設計目标:對操作進行設計</a>

分布式系統設計套件

<a href="http://www.microsoft.com/china/msdn/library/langtool/vs2005/DisSysDesSt.mspx#EGAA">Visual Studio 2005 Team Edition for Software Architects“分布式設計套件”</a>

<a></a>

面向服務的體系結構或“連接配接系統”體系結構是下一代分布式應用程式的基礎。Microsoft Indigo 平台将提供業界領先的面向服務的應用程式實作。Indigo 将在當今 Windows 平台所提供的 SOAP 和 Web 服務支援基礎之上進行建構。它将添加對傳輸和應用程式拓撲的廣泛支援,進而在服務之間啟用安全、可靠和基于持久消息的通信。雖然 Indigo 技術的釋出指日可待,但目前可以使用 SOAP、XML 消息處理和 Web 服務來建構面向服務的應用程式。Web 服務提供內建異類資訊系統的特殊方法。要做到這一點,則在基于公共 Web 服務的基礎結構後包裝自治系統,進而使您能夠通過多種裝置(企業防火牆的内部和外部)進行通路。Web 服務提供對邊緣系統的強大支援,進而能夠實作利用現有系統資源的新的業務處理。此外,還提供在全新系統的結構中提高使用率的可能性。将應用程式結構作為一個整體進行可視化變得越來越困難,因為在面向服務的體系結構中,結構将更加瑣碎。還要強調的是服務提供的接口設計。要啟用互操作性,這些接口必須基于消息。設計新消息并確定符合現有的消息架構很重要。在面向服務的體系結構中,協助應用程式架構師和設計人員将應用程式作為一個整體進行可視化和設計日益重要起來。

分布式系統設計套件

無論是否是分布式,所有應用程式都需要底層平台的服務。通常,由開發人員負責“記錄/指定”應用程式服務依賴項和目标部署環境的配置需求。雖然許多開發工具隻關注應用程式的功能需求,但非功能性的需求通常是配置和/或部署問題的根源。另一方面,操作機構和 IT 機構有不同的開發工具,以迎合分布式系統的非功能性方面,同時注重網絡和基礎結構設計、性能監視和管理。實際問題是,操作人員視圖是應用程式的一部分,而開發人員視圖是基礎結構的一部分。正是該資訊需要捕獲并在這兩個組群間進行通信。請考慮開發和部署 ASP.NET Web 服務的簡單情況。雖然開發人員的首要目的是實作服務,但他們始終要關心安全性和身份驗證模型。他們還必須考慮目标環境需要其他哪些支援服務,以及運作庫配置的哪些部分能使 Web 服務按意願操作。操作人員需要了解新服務需要的協定和服務,以及是否遵從公司的 IT 政策。脫離該環節會導緻部署問題,進而導緻配置不比對。更糟糕的是,它會導緻設計與資料中心不協調,進而使大量 IT 預算耗費在低品質開銷上。雖然許多組織試圖通過文檔、設計評論和詳細的圖表來解決通信問題,但實際上他們缺少的隻是能夠有效實施和傳達政策的工具和公共語言。此外,這些“過程”目前已從開發人員和操作人員每天使用的實際工具中移除,以便暴露過程本身的問題。這些群組在組織上和功能上是脫離的。他們極少事先協作,通常是本能地一起診斷可在開發過程早期避免的問題。Visual Studio 2005 Team Edition for Software Architects 是一個統一的開發環境,它可将這兩個群組一起帶入軟體開發周期,進而逐漸填補他們之間的隔閡。

分布式系統設計套件

要提供內建的設計體驗以達到“可視化設計和驗證連接配接系統”的目标,工具的設計套件則使用動态系統管理計劃 (DSI) 中的系統定義模型 (SDM) 作為底層元模型的基礎來建構。這不僅為應用程式服務,還為運作庫環境描述了連接配接性、配置和關系的概念。SDM 基于多層模型(應用程式、應用程式宿主環境、網絡拓撲和作業系統,以及實體裝置)。是以,這些工具現在可根據跨分布式系統所有層的要求和政策來表示關系。Visual Studio 2005 Team Edition for Software Architects 也被設計為一種可擴充平台,以實作具備應用程式領域專業知識(Web 服務、Web 應用程式、資料通路等)的内部和外部合作。這不包括操作領域(運作庫宿主環境、安全性、連接配接性和配置等)。是以,他們可以定義自己的抽象。

将兩個領域(開發和操作)內建到一個工具套件,使 Microsoft 能夠用以下方式解決這些客戶問題:

使用公共語言(表示為 SDM)描述整個分布式系統的設計和配置。

使用抽象,以便各個領域的開發人員和架構師能夠基于共同點進行通信。

允許架構師或開發人員表達運作庫環境的應用程式要求。

允許操作人員(或了解目标部署環境要求的應用程式架構師)表達應用程式運作庫、安全性以及與目标部署環境的政策相協調的連接配接要求。

與現有的 Visual Studio 項目系統和 .NET 平台技術相內建。

與 Visual Studio Team System 産品和源代碼控制功能相內建。

在政策上定位于 DSI 規劃,以啟用部署和管理方案,并在未來版本的 Visual Studio 2005 Team Edition for Software Architects 中支援 Indigo。

使用可擴充平台建構 ISV 和夥伴生态系統。

<b>設計套件功能</b>

應用程式設計器 (AD) 提供一個設計圖面,以用于公開服務和通過消息進行通信的圖表應用程式。使用者能夠通過通信端點來描述這些消息。這可以使用 SOA 協定(如 SOAP)通過操作方法或基于 WSDL 協定消息的方法來完成。編寫代碼之前,使用者能夠通過圖像布局中的端點公開的通信依賴項來可視化連接配接應用程式的設計。是以,該上下文中的應用程式是在它們自己的程序空間中運作的自治部署單元(例如,Web 應用程式、Windows 應用程式等)。是以,在解決方案中,圖表可視化将不包括依賴程式集或項目引用(根據定義,其本身不是“應用程式”)。通過使用者操作從圖表實作的應用程式将生成項目結構和協定的初始實作。然後,它們将與 Visual Studio 項目和語言系統完全內建。它們始終與設計圖面同步,并為使用者提供在設計圖面或代碼編輯器中編輯的選項。Visual Studio 2005 Team Architect 本身所支援的應用程式類型包括 Web 服務、Web 應用程式、Windows 應用程式、外部資料庫、外部 Web 服務以及外部 Biztalk 服務。AD 還用于捕獲由設計器完全同步的應用程式配置(例如,Web.config 和來自 IIS 的 Web 應用程式配置)。這允許架構師或開發人員捕獲應用程式所需的确切配置,同時向限制引擎(該工具的隐含部分)公開豐富的中繼資料。因而,該套件中的其他設計器可利用該資訊來執行限制驗證、一緻性檢查,并生成部署資訊(請參閱後面的系統設計器、邏輯資料中心設計器和部署設計器)。

架構師使用邏輯資料中心設計器 (LDD) 來建立表示資料中心某部分邏輯結構的圖表。這樣做可以将有關特定應用程式領域的目标部署環境的重要資訊傳達給開發人員。在工具中捕獲該資訊可驗證應用程式的設計和配置要求(請參閱後面的部署設計器),以提高成功部署的可能性。圖表本身表示實際環境的抽象。根據設計,它不捕獲典型的“基礎結構或系統體系結構”元素(例如,防火牆、路由器、交換機、IP 位址等)。這些通常是操作群組和開發群組之間通信問題的一部分。相反,圖表主要關注将應用程式運作庫宿主環境捕獲到名為“邏輯伺服器”的設計元素。該圖表中指定的資訊表示允許的通信類型、啟用的服務類型,以及影響應用程式設計和運作庫特性的宿主環境的配置要求。LDD 允許架構師指定互連邏輯伺服器的圖表,進而指定和/或導入實際伺服器的設定。還可以通過表示具有特定協定的應用程式宿主環境(例如,Web 伺服器、資料庫伺服器、應用程式伺服器、安全區域以及通信路徑),來指定資料中心的拓撲。描述邏輯資料中心後,使用者就可以開始為應用程式指定政策限制,這些應用程式将宿主在這個資料中心表示中。例如,通過該圖表,架構師可以指定宿主在特定 IIS Web 站點上的 Web 應用程式的 ASP.NET 安全要求。使用者可以指定到其他邏輯伺服器(例如,資料庫和 Windows 服務)的連接配接性。使用者還可以定義表示安全性、通信或其他實體障礙的邏輯邊界(稱為“區域”),應用程式開發人員在考慮分布式設計時會發現它很有用。與應用程式架構師可以在 AD 中針對 LD 配置指定宿主要求一樣,基礎結構或操作架構師也可以針對 AD 的應用程式配置指定應用程式要求。

為了建立連接配接系統,應用程式架構師使用系統設計器 (SD) 來可視化和建構 AD 中定義的應用程式。配置好的系統包括為該系統的特定部署而配置的一個或多個應用程式。系統可以包含(嵌套)其他系統;因而允許可視化和指定面向服務的大型體系結構。通過系統設計器,應用程式架構師可以描述對其他系統所提供服務的依賴項,而無需事先了解構成所用系統的應用程式的内部結構。系統設計器提供一種自上而下的設計模式。系統可以在較高的級别組建,然後可以對系統中的單個應用程式(如果系統中的應用程式是解決方案的一部分)進行可視化和定義。它還能夠封裝由系統中的應用程式公開的服務。特别是,架構師可以選擇哪些服務能夠在系統外部直接解決。系統設計器可用于解決 EAI 和邊緣系統情況(其中,現有的應用程式通過 Web 服務協定公開服務)。

架構師使用部署設計器 (DD) 來建立已配置系統的部署配置。這通過首先針對資料中心 (LDD) 的邏輯表達式進行驗證完成。接下來,生成部署配置(稱為部署報告),并将其用于在操作和開發之間進行通信以及編寫部署腳本。DD 提供從系統關系圖到邏輯資料中心關系圖的圖到圖的圖形化綁定體驗,并提供可視化回報。這在驗證已配置系統的要求符合資料中心要求的規範時完成。驗證回報在多個級别上執行,例如,通信路徑、協定、資料中心環境的特定配置以及應用程式配置要求。Visual Studio 任務清單內建提供一個簡單的導航機制來突出強調關系圖(AD、SD 和/或 LDD)。它還可以協助使用者選擇與資料中心的政策沖突的系統。它還為使用者提供在部署之前以及完成實作之前修正配置錯誤的功能。導航功能還允許使用者檢視限制定義的源,以便進一步探查問題領域。該 DD 是用于可視化如何将已配置系統部署到類似配置的資料中心環境的主要通信機制。部署報告可以從該設計圖面生成,并且使用者可以指定選項來生成可讀的 (HTML) 報告,該報告将包含關系圖以及部署資料。部署資料包括每個應用程式和邏輯伺服器的配置設定,以及要部署的檔案清單。

<b>Visual Studio 2005 Team Edition </b><b>可擴充平台</b>

Visual Studio 2005 Team Edition 設計為一個可擴充平台,以使第三方能夠利用現有的專業知識,同時利用分布式系統設計套件的可視化設計和驗證功能。這是遵循完全統一的開發環境(作為 Visual Studio Team System 的一部分)進行規劃的第一個版本。Visual Studio 2005 版提供的擴充性功能将允許第三方記錄和建構分布式系統的各個方面,以獲得更為完整的應用程式定義。擴充性功能使第三方或 ISV 能夠建立他們自己的應用程式或邏輯伺服器類型。這将通過通信需求、宿主需求、配置設定和限制來完成。這些新類型可輕松添加到設計圖面,并與第一版中提供的原生設計元素內建在一起。設計體驗中收集的中繼資料可用于限制規範,并可以在部署報告中輸出。Visual Studio 2005 版不允許将配置和手工編寫的代碼內建并同步化到這些新設計元素的項目系統中。但是,該功能将添加到後期版本的工具套件中。

<b>連結</b>

<a href="http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20040129VSTUDIOAT/manifest.xml">時長 20 分鐘的 MSDN TV,概要介紹“Visual Studio Team Architect”</a>

<a href="http://msdn.microsoft.com/library/en-us/dnvsent/html/vsts-arch.asp" target="_blank">Visual Studio 2005 Team System: Designing Distributed Systems for Deployment</a>

<a href="http://lab.msdn.microsoft.com/teamsystem/teamcenters/architect/default.aspx">Visual Studio 2005 Team Edition for Software Architects (位于 MSDN)</a>

本文轉自高海東部落格園部落格,原文連結:http://www.cnblogs.com/ghd258/archive/2005/12/10/294623.html,如需轉載請自行聯系原作者