摘要: Microsoft Visual Studio 2005 Team Edition 是一個隨 Visual Studio 2005 一起提供的圖形設計工具套件,主要面向架構師和開發人員。它支持連接系統的可視化設計和驗證。Visual Studio 2005 Team Edition for Software Architects 是動態系統管理計劃 (DSI) 的早期產品,旨在提升企業級分布式系統的設計、部署和管理。
注 本文內容最初發表于 .NET Developer's Journal 的 2005 年 1 月號。此處轉載已經發布商許可。

本頁內容
![]() |
設計目標:連接系統的可視化設計 |
![]() |
設計目標:對操作進行設計 |
![]() |
Visual Studio 2005 Team Edition for Software Architects“分布式設計套件” |
設計目標:連接系統的可視化設計
面向服務的體系結構或“連接系統”體系結構是下一代分布式應用程序的基礎。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 是一個統一的開發環境,它可將這兩個群組一起帶入軟件開發周期,從而逐漸填補他們之間的隔閡。
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 和伙伴生態系統。 |
設計套件功能
應用程序設計器 (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) 報告,該報告將包含關系圖以及部署數據。部署數據包括每個應用程序和邏輯服務器的配置設置,以及要部署的文件列表。
Visual Studio 2005 Team Edition 可擴展平臺
Visual Studio 2005 Team Edition 設計為一個可擴展平臺,以使第三方能夠利用現有的專業知識,同時利用分布式系統設計套件的可視化設計和驗證功能。這是遵循完全統一的開發環境(作為 Visual Studio Team System 的一部分)進行規劃的第一個版本。Visual Studio 2005 版提供的擴展性功能將允許第三方記錄和構建分布式系統的各個方面,以獲得更為完整的應用程序定義。擴展性功能使第三方或 ISV 能夠創建他們自己的應用程序或邏輯服務器類型。這將通過通信需求、宿主需求、配置設置和約束來完成。這些新類型可輕松添加到設計圖面,并與第一版中提供的原生設計元素集成在一起。設計體驗中收集的元數據可用于約束規范,并可以在部署報告中輸出。Visual Studio 2005 版不允許將配置和手工編寫的代碼集成并同步化到這些新設計元素的項目系統中。但是,該功能將添加到后期版本的工具套件中。
鏈接
? | |
? |
Visual Studio 2005 Team System: Designing Distributed Systems for Deployment |
? |
Visual Studio 2005 Team Edition for Software Architects (位于 MSDN ) |
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
