在 IBM Rational Software Architect 中建立一個部署拓撲圖

myattitude發表於2009-12-17

轉自:http://www.ibm.com/developerworks/cn/rational/09/creatingphysicaltopologydiagramrsa/index.html

本文展示了,怎樣使用 IBM® Rational® Software Architect 來建立一個部署拓撲圖。在完成本文的學習之後,您將能夠對 Java™ Enterprise Edition (JEE™)或者 Microsoft® .NET 的 Web 程式的物理部署進行建模。

部署拓撲圖能夠展示方案的軟體和硬體是怎樣部署和配置的。該圖不但提供了一個強大的交流工具,以在基層的團隊成員之間共享關鍵的部署資訊,而且這種交流工具能夠使不同的團隊之間共享資訊。

本文展示了怎樣使用 IBM® Rational® Software Architect ,來建立部署拓撲圖。其中的範例基於一個虛構的 Microsoft® .NET Web 程式,而不是 Java™ Enterprise Edition(JEE)Web 程式,因為 .NET 圖展示了怎樣建立和使用可再用的拓撲單元。它並沒有顯示在一個典型的 JEE Web 程式場景中。但是,在完成本文的學習後,您將能夠為 JEE 或者 .NET Web 程式的物理部署建立模型。

前提條件

本文的作者,假設您對拓撲建模已經很熟悉。如果您沒有這方面的知識,那麼我們建議您花費五分鐘時間,來觀看“使用拓撲編輯器管理部署結構 ”視訊,或者完成“使用拓撲編輯器指南規劃部署 ”的學習,這兩個參考檔案都包含在 IBM® Rational® Software Architect 的 Help 系統中。

作者使用 IBM ® Rational® Software Architect for WebSphere® Software,Version 7.5.4,以建立拓撲範例,並使用應用到 Rational Software Architect Standard Edition Version 7.5.4 相同的指導。但是,其中的操作步驟和螢幕截圖與 7.5 版本中的早期版有稍微的不同。儘管如此,您還是可以將這些步驟和螢幕截圖應用到早期的版本中。

背景

本文介紹了怎樣為虛擬的 JKE Furniture Catalog Web 程式建模。作為背景,Furniture Catalog 是一種使用 IBM® DB2® 資料庫的 .NET Web 程式。本例中建立的部署拓撲記錄了這些程式是怎樣部署在產品環境中的。

正常情況下,程式部署團隊開始建立邏輯模型,然後將邏輯模型和物理模型集合起來。但是,該文只關注建立部署拓撲。可以確定的是首先您需要一個部署拓撲圖,但是解釋怎樣決定模型或者拓撲的層次超出了本文的討論範圍。同時,文中涵蓋了怎樣建立部署拓撲圖的機理。

建立物理拓撲圖

Rational Software Architect 拓撲圖模型需要儲存在一個專案中。作為一條通用的規則,拓撲圖與方案的 UML 模型儲存在一起。

  1. 通過切換到 Deployment 視角,並從主選單中選擇 File>New>Topology,來建立一個拓撲圖。

圖 1 包含了用於 JKE Furniture Catalog 的部署拓撲圖的值。您需要完成四個區域以及值:

  • 名字區:com.jke.furniture.deployment
  • 種類:Deployment
  • 契約:Make All Units Private By Default
  • 向配置板新增拓撲圖:Unchecked


圖 1. New Topology 視窗
建立新拓撲圖原始檔的表格

通常來說,Namespace 區域使用 Java ™ 包結構。該拓撲圖是一種部署的拓撲圖;因此,包的名字以 deployment 結尾。這種起名規則並不需要,但是出於穩定性的考慮還是很有用的。

Contract 區域被設定為“Make All Units Private By Default”,因為在建立部署拓撲圖時,這是最佳的操作方式。部署拓撲圖是一種低層次的拓撲圖,通過將 Contract 區域設定為“Make All Units Private,”,Rational Software Architect 將會將所有的驗證資訊顯示為錯誤而不是警告。

注意:
警告作為錯誤顯示,因為警告可以通過將拓撲圖匯入到另一個拓撲圖來得到解決,這個問題可以通過後一個拓撲圖來來得到解決。但是,如果單元被標為“私人”,那麼所有的問題必須在當前的拓撲圖中得到解決,因為私人的單元在由另一個拓撲圖匯入時不能被訪問。使用拓撲圖上的“私人”政策,預設條件下會標記所有的私人單元,將警告轉化為錯誤。

  1. 點選 Finish。
  2. 通過在右上角點選 X,來閱讀“Welcome to the Topology Editor”快速啟動 Help 然後忽略 Help 文字。

然後您會得到一個空白的部署拓撲圖,該拓撲圖顯示了單個的拓撲圖,這張圖的名字與拓撲圖模型的名字相同。

注意:
在硬碟上,圖表檔案與拓撲圖檔案是分開的。當您在使用版本控制系統時,您需要將兩個檔案都放置到版本控制系統中。

為 DB2 資料庫建模

JKE Furniture Catalog 程式從名為 FURNDB 的 DB2 資料庫中得到所有的資訊。JKE 在 DB2 版本 8 中得到了標準化;因此,包含的拓撲圖單元模板可以用於為資料庫的部署建模。

有兩種方法可以向拓撲圖新增新單元。

  • 您可以從配置板中選擇單元模板(DB2 資料庫模板位於配置板的 Configurations 摺疊項中,DB2 棧之下)。
  • 或者您可以使用 CTRL+T 鍵盤快捷方式。

通常來說,CTRL+T 選項是最快的方式,因為您可以輸入單元的名字。這樣可以幫您節省尋找配置板中單元的時間。

  1. 為了建立 DB2 資料庫,您可以點選新建立的拓撲圖然後點選 CTRL+T
  2. 當下拉視窗出現時,您可以輸入*database(星號是一個萬用字元搜尋字元)。
  3. 輸入之後,對話方塊將會篩選單元。選擇 DB2 Database 單元(見於圖 2)。


圖 2. CTRL+T 下拉選單
Quick Palette 彈出選單

  1. 在拓撲圖中放置 DB2 單元之後,通過將滑鼠移到單元上並點選鉛筆狀的圖示,來將單元重新命名為 FURNDB 。在彈出視窗中,保持 Link with Database Name 為選中狀態。

提示:
通常來說,在重新命名單元時,保持 Link 為選中的 XXXX 屬性狀態。

現在您已經有了一個單元,它代表了儲存資料的實際資料庫。如果您對使用 DB2 很有經驗,那麼您就會知道資料庫需要寄主在 DB2 上的例項機上。如果您不知道的話,Rational Software Architect 通過報告主機的錯誤來通知您出現的問題。您可以通過將滑鼠停留在左下角紅色的 X上,來看到這個主機的錯誤。

提示:
預設條件下位於中下部視角的 Topology Status 檢視,是一個非常有用的檢視,因為它顯示出了所有圖表的問題。該檢視可以幫助您修復出現的錯誤,來成功地為拓撲圖建模。

  1. 通過使用配置板或者使用 CTRL+T 選項,來建立一個 DB2 8 例項單元,並將單元命名為 FURNINST
  2. 在將單元重新命名為 FURNINST 之後,將 FURNDB 單元拖拉到 FURNINST 單元上。

拖拉操作將會使 FURDB 單元寄主於 FURNINST 單元上。主機會修復 FURNDB 單元上的錯誤,而主機關係意味著資料庫會在 DB2 例項內執行。

注意新建立的 FURNINST 單元會出現一個錯誤,說 DB2 Instance 需要位於 DB2 System 安裝檔案中。修復這個問題是非常容易的:

  1. 通過使用配置板或者 CTRL+T 鍵,來簡單地建立一個 DB2 8 系統單元,通過將 FURNINST 單元拖拉到新建立的 DB2 8 系統單元上,來建立寄主關係。

在建立 DB2 8 系統,併為系統上的 FURNINST DB2 例項建立主機之後,您的拓撲圖現在看起來應該如圖 3 所示。


圖 3. 寄主在 FURNDB 資料庫上的 DB2 安裝檔案
螢幕片段

不像 FURNDB 資料庫那樣,當這個資料庫中寄主於 FURNINST DB2 資料庫時,唯一的問題會得到解決,這裡的 FURNINST DB2 例項仍然有尚未解決的問題。但是,此時這種問題還是可以接受的,因為在部署拓撲圖進一步記錄在 DB2 安裝檔案之後,問題自然會得到解決。

資料庫寄主於 Linux 伺服器上

前面的章節記錄了寄主於 FURNDB 資料庫上 DB2 8 安裝檔案的拓撲圖。本章節記錄了物理伺服器,該伺服器寄主於前面章節中所記錄的 DB2 安裝檔案中。但是,本段準備首先記錄伺服器,這樣伺服器就可以寄主 DB2 安裝檔案了。

記錄伺服器

JKE Furniture 會在 x86 Linux® 雙核 CPUs 的伺服器上執行它們的 DB2 安裝檔案。

  1. 在拓撲圖上,通過使用 x86 Server unit 模板來為 x86 伺服器建立單元(該模板位於配置板的 Hardware 摺疊項中)。JKE 使用 IBM® System x®,3450 伺服器,所以將 x86 伺服器單元重新命名為 IBM x3450

注意:
伺服器單元應該根據硬體模型名來進行命名,而不是根據它的主機名命名,因為主機名將會在作業系統單元中得到命名。

預設條件下,Rational Software Architect 將 x86 伺服器記錄為單個 CPU;因為,新建立的單元需要得到更新,以反映以下事實: JKE Furniture 將其當做一個雙 CPU 的機器。CPU 的數量儲存在單元 x86 伺服器功能的屬性中。

  1. 為了更新屬性,您可以選擇拓撲圖上的 IBM x3450 單元,然後切換至 Properties 檢視。
  2. 在 Properties 檢視中,選擇 Capabilities 項。因為 x86 伺服器單元只有一個名為 x86 伺服器的功能,所以功能的屬性預設條件下會顯示出來。
  3. 將 CPU Count 屬性的值設定為 2

圖 4 強調了以下步驟的序列:

  1. X86 Server > IBM x3450
  2. Properties tab
  3. Capabilities
  4. X86 Server
  5. CPU Count: [enter] 2


圖 4. 更新伺服器 CPU 數量的導航路徑
顯示選擇,分為五步

  1. 預設條件下,JKE Furniture 在資料庫伺服器中使用 4 GBs 的記憶體。這樣在更新 CPU Count 屬性之後,拉下屬性的窗格,並將 Memory Size 屬性更改為 4 GB。

一般來說,大多數的人想要使用 CPU 數量和伺服器的記憶體容量。從 V7.5.1 Rational Software Architect 開始,以讓屬性顯示在圖表中。

  1. 為了在拓撲圖上顯示這些屬性,您可以在拓撲圖上選擇 IBM x3450 unit,然後從選單中選擇 Diagram>Unit Details.
  2. 在 Show Unit Presentation Details 視窗中,CPU Count 和 Memory Size 屬性旁邊放一個檢查符號,如圖 5 所示。


圖 5. Show Unit Presentation Details 檢視
Unit Presentation Details: CPU 數量,記憶體大小

  1. 在點選 OK 之後,圖表將會顯示如圖 6 所示伺服器單元的屬性。


圖 6. 拓撲圖圖表顯示了伺服器的屬性
兩個屬性的螢幕截圖

現在既然您已經記錄了物理伺服器,所以就該記錄伺服器上安裝的作業系統了。

記錄作業系統

JKE Furniture 執行 SUSE Linux.

  1. 在拓撲圖上建立一個 SUSE Linux Server 9 單元(使用 CTRL+T 選項可能會更加容易)。
  2. 給新建立的單元命名。在彈出選單中,保持 Link with Hostname:URI 區域為選中狀態。在 Hostname 區域中,輸入 furn-db.jke.com。保持 URI 區域為空白狀態。

注意:
URI 屬性用於識別 UNIX® 伺服器硬碟 URI 的位置;我們所假設的在這個虛擬的 JKE Furniture 場景中是不太重要的。

新建立的作業系統需要位於一個伺服器上。

  1. 通過將作業系統拖拉到伺服器上,來將 furn-db.jke.com 作業系統單元寄主在 IBM Systemx 3450 伺服器。

furn-db.jke.com 伺服器棧仍然顯示為錯誤,將您的滑鼠停留在棧的紅色 Xs 上,將會顯示出錯誤來自根使用者賬戶單元。根使用者賬戶需要擁有它自己的密碼集;因此,記錄根使用者賬戶並不重要,我們將會從拓撲圖中將其刪除。

注意:
除了刪除根使用者單元,另外一個選項就是將根使用者賬戶單元標記為公共可編輯狀態,這將會將錯誤轉化為警告。將單元標記為公共可編輯狀態,意味著單元值可以通過匯入的拓撲圖來得到變更。

  1. 選中一個根使用者賬戶然後使用 CTRL+DEL,來從作業系統中將其刪除。這個鍵盤敲擊順序會從拓撲圖模型中刪除根使用者。

注意:
簡單地使用 DEL 鍵將只會從圖表中刪除單元,而不是從拓撲圖模型中刪除。

伺服器單元現在擁有零錯誤。但是,檢視 Topology Status 檢視將會揭示有一個主機單元錯誤。

  1. 在 Topology Status 檢視中,展開 Host Units 類別。
  2. 選擇 Unit ("DB2 System") must be hosted (Operating System) 錯誤。注意,當您這樣做時,您有四個選項可以進行快速修復。
  3. 通過雙擊下面來修復問題:
    Host "DB2 System" on "furn-db.jke.com" on IBM x3450

在 Rational Software Architect 修復這個問題之後,圖表看起來應該如圖 7 所示。


圖 7. 位於 furn-db.jke.com 上的 DB2 系統
拓撲圖:furn-db.jke.com 上的 DB2 系統

圖表中的雙行箭頭是一種提示:寄主於另一個單元上的單元。

DB2 棧上仍然有一系列需要處理的錯誤。

  1. 點選 FURNINST 單元上的紅色 X
  2. 選擇 No admin users found in OS Host(FURNIST) 錯誤,雙擊 Create DB2 Instance Admin User 快速修復。
  3. 在 Create DB2 Instance Admin User 視窗中,DB2 Instance Admin User ID 的區域中輸入 db2furn,然後把密碼設定的儘量簡單,例如 abc123
  4. 點選 OK。注意 Rational Software Architect 在作業系統中建立了一個使用者賬戶,並在 FURNINST DB2 例項和新建立的 db2furn 使用者賬戶之間建立一個附屬連線。

移到另一個錯誤上,停留在 DB2 System 的紅色 X 上,意味著 classpath 條目已經設定成 Windows 路徑。

  1. 用一個字首更改這樣的 classpath 值,例如/opt/IBM/db2v8.2/SQLLIB/,併為每一個錯誤使用快速修復 。

注意:
通過“錯誤和快速修復“對話方塊修復問題的選擇,是選擇 DB2 System 單元,然後在 Properties 檢視的單元不同功能上更新 classpath 屬性。這與您對物理伺服器的 CPU Count 和 Memory Size 屬性所做的更改操作類似。

在解決所有的 classpath 錯誤之後,拓撲圖就實現了零錯誤。

  1. 出於穩定性的考慮,將 DB2 System 單元拖拉到 furn-db.jke.com 單元之上。

這將會更新圖表,這樣單元的所有屬性將會在樹檢視中顯示。樹形結構在顯示大量資訊的同時,能夠保持圖表的簡潔。在將 DB2 系統拖拉到 furn-db.jke.com 單元並重新設定大小之後,圖表看起來應該如圖 8 所示。


圖 8.寄主於 Linux 作業系統上 DB2 資料庫上的 IBM System x 3450 伺服器
拓撲圖以及樹檢視中的單元  

為 ASP.NET Web 程式建立單元

總會存在 Rational Software Architect 沒有提供拓撲圖模板的程式和技術域。例如,版本 7.5.4 並沒有包含對 Microsoft® .NET 程式的拓撲建模模板。

JKE Furniture Catalog 是一個 Microsoft ASP.NET 程式。因此,支援 .NET 系統的拓撲單元必須得到建立。這將會花費一點時間,但是 Rational Software Architect 使再使用和共享單元變得更加容易。

本段關注需要處理 ASP.NET 平臺的新拓撲圖單元的建立。稍後的章節將會解釋怎樣讓單元變得可再用。

JKE Furniture 寄主於它的 Microsoft® Windows® 2003 伺服器上的 ASP.NET 程式。這意味著 JKE Furniture Catalog 將會是在 Microsoft® Internet Information Server(IIS) 6.0 上執行的 ASP.NET 2.0 程式。

建立 IIS 6.0 單元

  1. 為了建立 IIS 6.0 單元,您可以通過使用 CTRL+T 或者配置板,來在拓撲圖圖表上建立一個新的 Software Install 單元。
  2. 通過點選鉛筆圖示,來編輯單元的名字。在彈出的選單中,選中 Link with Product Name:Version String:Release:Major Version:Modifier。
  3. 用以下值來設定新的彈出值:
    • 產品名字:Internet Information Server
    • 版本字串:6.0
    • Major 版本:6


圖 9. Software Install 彈出視窗
含有值集的視窗

  1. 預設條件下,新建立的單元叫做“SoftwareInstallUnit”。為了更改單元的名字,您可以選中新的單元,然後選中 Diagram>Unit Style 選單項。
  2. 在 Unit Style. 視窗中,將 Unit 標題中的值更改為 Internet Information Server 6.0,如圖 10 所示,然後點選 OK


圖 10. Unit Style. 視窗
  帶有 Unit Title 區域值集的 Unit Style. 視窗

現在單元精確地反應了外邊的軟體;從圖表的可見視角來看,單元就是正確的了。但是,使用 Rational Software Architect 進行類別建模,單元知道什麼是它們的需求以及功能。因此,接下來的步驟涉及到了記錄 IIS 6.0 需求和功能。

記錄 IIS 需求和功能

將滑鼠移到 IIS 6.0 單元的紅色 X 上,揭示單元有一個位於作業系統的需求。儘管該需求在通常意義上講是正確的,注意對 Linux 伺服器上的主機 IIS 6.0 會有快速修復。這種快速修復並不真正有效的,這樣單元的主機需求將會得到精簡,以反映 IIS 需要寄主於 WindowsO/S 系統上(於是,有一些沒有多少經驗的人就不會計劃將 IIS 寄主在 Linux 上了)。

  1. 通過選擇 IIS 6.0 單元,並在 Properties 檢視中選擇 Requirements 項,來更新作業系統需求。
  2. 選擇 Host on an Operating System 需求並點選 Type Selector 按鈕(Type 屬性區域的右邊,帶有省略號,或者三個句話)。
  3. 在 Set Requirement Type 對話方塊中,選擇 os.WindowsOperatingSystem 型別。

圖 1 顯示了過程的螢幕截圖,並強調顯示了 Type Selector 按鈕。


圖 11. 將 Operating System 需求更新為 Windows
顯示描述的選擇

圖 11 的大圖

  1. 在更新需求的 Type 屬性之後,更新 Caption 屬性以表達“Host on a Windows Operating System”。

將滑鼠停留在單元的紅色 X 上,以顯示更新錯誤的資訊,而 Linux 伺服器上主機 IIS 6.0 的快速修復並沒有提供。

IIS 6.0 需求可以得到進一步的精簡,以反映作業系統的支援版本,並在同一臺機器上安裝另一個 IIS 例項。但是,本文並沒有深入分析這些細節。擁有 Windows O/S 的需求對於本文已經足夠了。

需要更新的 IIS 6.0 單元的下一個部分,是單元的功能。IIS 6.0 寄主於 ASP.NET 2.0 Web 程式。為了記錄與 IIS 一起執行的 JKE Furniture Catalog 程式,IIS 6.0 單元需要記錄它的功能以寄主 ASP.NET 程式。

  1. 假設 IIS 6.0 單元在圖表中仍然是選中的,在 Properties 檢視中切換至 Capabilities 項。
  2. 通過使用 Add a new capability by using the Property 檢視的 Add Capability 按鈕來新增一個新的功能,在 Add Capability 視窗中,選擇 core.Capability,如圖 12 所示。


圖 12. 新增一個核心功能
顯示選擇的螢幕截圖

圖 12 的大圖

  1. 在建立功能之後,將功能的 Caption 設定成“ASP.NET Runtime”,並從 Link 型別下拉區域中選擇 hosting
  2. 為了讓這項功能獨一無二,這樣其他的功能可以需要這項功能,您可以點選 Stereotypes 子項,並新增名為 ASP.NET Runtime 的 Stereotype。

圖 13 顯示了需要的導航步驟。


圖 13. 向功能新增一個構造型
顯示選擇

圖 13 的大圖

  1. 通過點選 Property 檢視的 Customize Attributes 按鈕,來在新增構造型之後,回到 Main 子項並新增一個屬性。
  2. 將新屬性命名為 Version,如圖 14 所示。
  3. 確定保持屬性的型別為 String。


圖 14. Customize Attributes 視窗
Customize Attributes 檢視中的 Navigation 路徑

圖 14 的大圖

  1. 在您點選 Customize Attributes 對話方塊的 OK 按鈕,功能窗格會為新建立的屬性顯示條目區域。
  2. 將 Version 屬性的值設定為 2.0

在您完成以上的更新之後,ASP.NET 執行時屬性看起來如圖 15 所示。


圖 15. ASP.NET 執行時功能
Properties 項細節資訊

圖 15 的大圖

像需求一樣,功能會得到進一步的記錄,但是功能現在已經得到了足夠的記錄,以便能夠記錄 JKE Furniture Catalog 程式。

為 JKE Web 程式建立一個單元

  1. 通過使用 CTRL+T 或者配置板,來建立一個新的 Software Install 單元,通過點選鉛筆圖示,並將名字連結為產品名,就像前面您對 IIS 所做的那樣,將其命名為 JKE Furniture Catalog Web App
  2. 對 Internet Information Server 6.0 單元使用相同的步驟,將單元標題更新為 ASP.NET 2.0 Web Component

您的圖表看起來如圖 16 所示。


圖 16. 為 JKE Furniture 類別新建立的 Web app
拓撲圖的螢幕截圖

JKE Web App 的外觀現在就是合適的了。但是,它的需求需要得到更改,以反映程式的執行時需求。

  1. 在圖表中選擇 JKE Furniture Catalog Web App
  2. 然後在 Properties 檢視中,選擇 Requirements 項。

單元的主機需求需要得到更新,以反映 ASP.NET 執行時需求。

  1. 將“Host on an Operating System" requirement”的選項更改為 Host on an ASP.NET Runtime
  2. 將 Type 屬性更改為 core.Capability

通常來說,Web 程式現在部分需要 IIS 6.0 單元,因為需求型別匹配 IIS 6.0 單元的功能型別(核心功能)。但是,主機需求需要使用限制因素來進行進一步的精簡。

  1. 停留在“Host on an ASP.NET Runtime”需求上,點選 Constraints 子項。
  2. 通過使用 Add Constraint 按鈕,來新增一個 Stereotype 限制因素。
  3. 用以下的值來設定新的約束:
    • Caption:Requires ASP.NET Runtime
    • Includes:ASP.NET Runtime
  4. 通過使用 Add Constraint 按鈕,來新增 Equals 限制因素的第二個限制因素。
  5. 用下述值設定新的約束:
    • Attribute:Version
    • Caption:.NET 2.0
    • Value:2.0

這些約束與 IIS 6.0 單元的值相同。圖 17 強調顯示了需要的滑鼠點選並顯示了約束。


圖 17. ASP.NET 執行時約束
帶有選擇的屬性檢視

圖 17 的大圖

現在您已經滿足了需求,確保 ASP.NET Web 構件寄主在 ISS 伺服器(單元)上。

記錄資料庫需求

JKE 程式同樣使用來自 FURNDB 資料庫的資料,這樣下一步就是記錄這個需求。

您可以手動建立相應的需求以及功能,就像您對 ASP.NET 執行時所做的那樣,但是建立相應的附件還有一種更加簡單的方式。

提示:
在 Preferences 的 Topology Editor章節中,您可以配置 Rational Software Architect 以自動建立並匹配單個需求與功能之間的附件。選中 Create a link automatically when only one match exists 區域。推薦您選中這個區域,以處理 Version 7.5.4 中已知的缺陷。

  1. 在 Palette 檢視中,選擇 Dependency Link 工具,並從 JKE Furniture Web App 單元拖拉一條連結到 FURNDB 單元上。Rational Software Architect 將會報告說沒有這樣的匹配,但是在您釋放滑鼠按鈕之後,Dependency Link 對話方塊仍然會出現。
  2. 在 Source Unit(s)列中,選中 JKE Furniture Catalog Web App 單元,並點選 Create Both 按鈕。

圖 18 顯示了導航的路徑。


圖 18. 建立一個附件連結
Dependency 連線選單

  1. 在建立匹配的需求和功能之後,在左邊選擇新建立的需求並點選 Edit Properties 按鈕。
  2. 將需求重新命名為 Requires FURNDB ,併為 FURNDB 新增一個構造型約束。
  3. 然後在右邊選擇功能並點選 Edit Properties 按鈕,來重新命名功能。功能的 Properties 對話方塊會與需求對話方塊出現在相同的位置。將功能重新命名為 Provides FURNDB,然後在 Create Dependency Link 對話方塊上點選 OK

在完成這個對話方塊之後,圖表將會出現錯誤(見於圖 19)。


圖 19. 出現附件錯誤的 Web 程式
帶有錯誤拓撲圖的螢幕截圖

  1. 點選附件連結的錯誤,並選擇這個快速修復:
    向功能“Provides FURNDB”新增丟失的構造型

JKE Furniture Catalog Web 程式的需求現在會得到全部的記錄。

  1. 將您的滑鼠停留在單元的紅色 X 上,將會只顯示出一個錯誤。使用快速修復,在 Internet Information Server 6.0 上寄主 JKE Furniture Catalog Web app 。

在您點選快速修復之後,圖表現在看起來如圖 20 所示。


圖 20. 寄主在 ISS 6.0 並依賴 FURNDB 的 JKE Furniture Catalog Web app
拓撲圖,箭頭指向 FURNDB

寄主在 Windows 伺服器上的 ASP.NET 伺服器

現在在拓撲圖上您已經記錄了目錄程式。最後的一步是記錄它將會寄主在 Windows 伺服器上,並在上面執行。

記錄伺服器及其作業系統的步驟,在 Host the database on a Linux server 章節中有所描述。因此,本章節將會只簡潔地解釋這些步驟;檢視早一些的章節以得到細節資訊。

JKE Furniture 在物理伺服器上執行它的 Web 程式。物理伺服器相似於資料庫伺服器。

  1. 建立一個 x86 Server 單元並將其命名為 IBM x3450。將機器的 CPU Count 設定為2,而它的記憶體是 2GB,然後更新單元的陳述,這樣兩個屬性就會顯示在圖表上。
  2. 接下來,建立一個 Windows Server 2003 單元,並將它的主機名屬性設定為“furn-www.jke.com”。Windows Server 單元的 Administrator 使用者擁有一個錯誤,因為密碼尚未設定;但是,因為使用者帳戶對於該拓撲圖來說並不重要,所以從 Windows 伺服器單元中刪除所有的使用者帳戶以及使用者組單元。
  3. 在刪除使用者以及使用者組之後,將 furn-www.jke.com 單元拖拉到最近建立的 IBM x3450 伺服器上。
  4. 然後將 Internet Information Server 6.0單元拖拉到 WindowsServer 2003單元上。
  5. 在上面的操作之後,將 the JKE Furniture Catalog Web App 單元拖拉到 Internet Information Server 6.0 單元上。

此時,您的部署拓撲圖已經實現了零錯誤,也就是完成了。最後的圖表應該如圖 21 所示。


圖 21. 完成程式物理操作性模型
最終拓撲圖的螢幕截圖  

為 ASP.NET 伺服器單元建立一個 Palette 項

部署拓撲圖現在已經完成了。記錄 ASP.NET 單元功能和需求的步驟,有一點費時,因為軟體並沒有包含 .NET 域的模板。但是,Rational Software Architect 使得使用可再用單元,以及共享配置板條目變得更加容易。

使用單元的最簡單方式,是右鍵點選單元,並從下拉選單中選擇 Add to Palette 選單項。但是,使用並共享單元的更好方式,是使用模板拓撲圖。模板拓撲圖更好,因為模板拓撲圖可以儲存,並在版本控制系統或者 IBM® Rational® Asset Manager 中,來得到儲存和共享。

在本章節中,您可以建立兩個模板拓撲結構:一個為 Internet Information Server 6.0 單元建立,一個為 ASP.NET 2.0 Web Component 單元建立。每一個模板都會產生其他人可以再使用的配置板項。

建立一個模板

  1. 如果您想建立一個模板,那麼您可以從 File>New>Topology 選單項中建立一個新的 Topology 。圖 22 在 New Topology 視窗中顯示了值。有一些需要設定的關鍵值:
    • 名字:MicrosoftInternetInformationServer6
    • 源:FurnitureCatalogModels/templates
    • 名字區:com.jke.templates
    • 型別:Template Design
    • 向模板項新增拓撲圖:Checked
  2. 然後點選 Next


圖 22. 建立配置板條目的 New Topology 視窗
新模板拓撲圖的值

  1. 圖 23 為 Add Topology to Palette 頁面顯示了最終值和圖示。該頁面需要設定的關鍵值是:
    • 標籤:Internet Information Server 6
    • 棧:Microsoft
    • 維持視覺化的結構:Checked
  2. 點選 Finish


圖 23. 向 Palette 螢幕新增拓撲圖
選擇標籤,描述,圖示,摺疊項以及棧

如果 Welcome to the Topology EditorHelp 文字出現在您的圖表中,通過在右上角點選 X 來跳過該對話方塊。

建立一個模板拓撲圖

模板拓撲圖基本上可以像正常的拓撲圖那樣處理。關鍵的不同點,在於當有人從模板中使用配置板時,會建立一個儲存整個圖表 UI 格式的拷貝,並將其拷貝到其他的圖表中。

早期建立的 ProductionDeployment 拓撲圖有一些本模板需要的單元。

  1. 切換至 ProductionDeployment 圖,並通過選中它來複制 Internet Information Server 6.0 單元。然後右鍵點選滑鼠,從下拉選單中選擇 Edit>Copy
  2. 回到 Microsoft Internet Information Server 6 圖表,右鍵點選,並從下拉選單中,選擇 Edit>Paste

複製操作會建立 Internet Information Server 6.0 單元和 JKE Furniture Catalog Web App 單元。既然它是為 IIS 準備的模板,所以 IIS 模板並沒有 JKE Furniture Catalog Web App 單元。

  1. 選擇 Web 程式的單元,並使用 CTRL+DEL,來從該模板拓撲圖中刪除掉。

在 Web 程式的單元得到刪除之後,圖表會擁有 Internet Information Server 6.0 的單個單元,如 所示。

注意:
Rational Software Architect V7.5.1 有一個模板的漏洞,以點號碼結尾(在 V7.5.4 中得到了修復)。因此,為了簡化配置板項的使用,您可以將單元重新命名為 Internet Information Server 6


圖 24. Internet Information Server 6 模板拓撲圖
模板拓撲圖的螢幕截圖

為 ASP.NET Web Component 建立一個模板拓撲圖,非常相似於以下步驟。

  1. 建立一個使用以下關鍵字的新拓撲圖:
    • 名字:MicrosoftASPDotNET2WebComponent
    • 源:FurnitureCatalogModels/templates
    • 名字區:com.jke.templates
    • 型別:Template Design
    • 向配置項新增拓撲圖:Checked
    • 標籤:ASP.NET 2.0 Web Component
    • 棧:Microsoft
    • 維持視覺化的結構:Checked
  2. 再一次,ProductionDeployment 拓撲圖擁有該拓撲圖所需的單元,所以切換至 Production Deployment 圖,從圖表複製 JKE Furniture Catalog Web Component 單元,並將其貼上到 Microsoft ASP Dot Net2 Web Component 圖表中。

利用該單元的最大差異,是需要重新命名的單元,以及需要調整的需求。

  1. 將單元重新命名為 ASP.NET 2.0 Web Component
  2. 在重新命名單元之後,切換至 Properties 檢視的 Requirements 項。單元仍然有對 FURNDB 資料庫的附件。因為該模板配置項快要建立通用的 ASP.NET 2.0 Web 構件,通過使用 Properties 檢視的 Delete Requirement 按鈕,來刪除 FURNDB 需求。

在作出以上更改之後,模板拓撲圖現在看起來如圖 25 所示。


圖 25. ASP.NET 2.0 Web Component 模板拓撲圖
模板拓撲圖的螢幕截圖

模板現在已經可以使用了,而配置板項可以通過配置板的 Local Extensions 摺疊項中得到。如果需要做一些改進工作,那麼這些模板可以馬上進行再利用和更改。記住,如果模板得到了升級,那麼早期模板建立的單元並沒有隨之得到升級。

如果您沒有完成上面的所有步驟,那麼您可以下載這篇文章的 Rational Software Architect 範例專案。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14780914/viewspace-622664/,如需轉載,請註明出處,否則將追究法律責任。

相關文章