程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Rational >> Rational Insight與Rational Team Concert集成環境部署

Rational Insight與Rational Team Concert集成環境部署

編輯:Rational

IBM Rational Insight 是 Rational 為提高軟件項目度量和管理效率而開發的集成解決方案,通過 Insight 提供的數據抽取與分析功能提取諸如 Rational ClearQuest、Rational ClearCase、Rational Team Concert 等數據源中相關的開發流程管理數據,並據此生成數據倉庫,進而以可視化報表展現。 Rational Team Concert 是基於 Jazz 的協作軟件交付平台,是 Rational 重要的戰略性產品和平台,提 供了可定制的便捷高效的軟件開發流程控制功能。因為這兩個產品的重要性,基於 Rational Team Concert 數據的項目度量解決方案是 Rational Insight 中非常重要的功能。

前言

軟件開發過程管理是所有軟件開發公司或相關從業人員非常關心的話題,可以說從某些程 度上其管理的好壞決定了軟件質量以至於公司的生存能力,其重要性甚至超過了軟件開發技術本身。軟件 開發的管理就是對其要素的管理,一般來講,軟件開發中的要素包括 Resource、Code、Change、 Configuration、Test、Iteration、Build、Cost 等。軟件開發管理的核心內容就是對這些要素進行全生 命周期管理,並依據對這些要素的度量逐步地不間斷地提高管理能力的成熟度。

IBM Rational 為 業界提供了領先的軟件開發過程管理解決方案,其品質和能力已經持續了將近 30 年。如今 Jazz 作為一 個可伸縮、可擴展的團隊協作平台,被 Rational 賦予了無縫地集成軟件生命周期中的要素管理的能力, 是 Rational 下一代的協作軟件交付平台。

Rational Team Concert,以下簡稱 RTC,是基於 Jazz 的團隊軟件開發協作工具。其輕量級的特點,使其相比於 Rational ClearQuest 等變更管理工具而 言,更加易於配置、使用和管理,其可定制性也使其更加靈活多變。RTC 不僅可以提供變更管理的功能, 同時在進度管理、人力資源分配、團隊協作、版本控制和構建管理等方面也都提供了相應的支持,可以說 RTC 基本滿足了軟件開發項目中管理功能的一站式服務。再者,憑借其開源和可擴展的特點,在可以預見 的未來,RTC 在軟件過程管理領域將越來越接近於領先地位,如同 Eclipse 在軟件開發領域一樣。

Rational Insight,以下簡稱 Insight,是 IBM 於 2009 年發布的全新產品,以 Rational 軟件 流程管理工具為數據源,諸如但不限於 ClearQuest ClearCase RTC 等產品,通過設計和實現標准的 REST Service 數據接口實時抽取數據並形成 XML 數據集,而後通過自定義的 ODBC Driver 將 XML 數據 集轉換為關系數據集,並以此作為生成數據倉庫的原始數據。基於業界領先的 Cognos 商業智能軟件, Insight 將原始數據生成數據倉庫並通過可定制的報表進行展現,軟件開發過程中的相關人員將以此為參 考,並作為持續評估和改進軟件過程能力的依據。

RTC 的優勢在於對軟件過程的管理,而 Insight 的優勢在於對軟件過程的度量。因此,如何將兩者集成,並在真實生產環境中部署,借助於兩者 的優勢改進軟件過程能力就顯得非常重要而且具有實質上的意義,這相當於 1+1>2 的結果。

基於此,本文所面向讀者群是軟件公司中的過程管理工具的配置管理員,或任何希望了解 Rational 軟件 項目過程管理與度量產品集成解決方案的人。當然普通的開發人員或項目管理者也可以從中獲益,了解到 軟件過程度量的結果是如何產生的。

約定

真實生產環境千差萬別,為了更能抓住重點,本 文對所述內容作如下約定。

以典型的企業環境為前提,1)不限制 Insight 數據倉庫種類與 RTC 存儲庫的類型,即在異構數據庫環境中同樣可以集成部署;2)不限制 RTC 存儲庫的數量,本文將以單 RTC 存儲庫為重點,同時提供如何配置多 RTC 存儲庫數據抽取的必要參考信息;3)不限制 Insight 安 裝與使用的操作系統,即如何分別在 Windows 與 Linux 平台上運行 Insight 解決方案;4)本文撰寫內 容基於 RTC 1.0.1 和 Insight 1.0 為准,後續版本基本類似;5)為了簡化 Insight 部署過程,本文的 所述環境將 Insight 的所有組件部署在一台獨立的服務器上。同時本文中並不涉及與 Insight 與 RTC 集成配置和使用並不緊密相關的內容。

Rational Team Concert 與 Rational Insight 安裝與配置

Rational Team Concert 的安裝與 配置

RTC 的所有數據存儲在存儲庫中,目前 RTC 版本的存儲庫支持 Derby、DB2、Oracle、 SQLServer,由於 Insight 所支持的數據源中並不包含 Derby 數據庫,所以如果想要將 RTC 與 Insight 進行集成,那麼必須選擇存儲庫的類型為 DB2、Oracle 和 SQLServer 中的任意一種,而這種可選擇的設 置也為集成中異構數據庫的支持提出了新的問題,本文將在後面進行闡述。

通過修改 RTC Server 的 properties 文件使 RTC 建立與存儲庫連接,而後啟動 RTC Server 就可以 使用 RTC 應用了,鑒於本文並不是描述如何具體配置和使用 RTC 的,這部分內容請參考 RTC 的相關文 檔。

Rational Insight 的安裝與配置

鑒於本文的約定,Rational Insight 的所有組件將 被部署在一台服務器上,主要包括 Cognos Data Manager(以下簡稱 Data Manager),Cognos Framework Manager,Cognos Business Intelligence Server(以下簡稱 BI Server),ODBC Driver, XML Configuration Tool,Data Warehouse DB,Content Server DB 等。

Rational Insight 的 高層架構圖 1 所示,其中 RTC 數據源相對於其它數據獲取方式的最大不同在於,RTC 的數據是直接取自 RTC 存儲庫,而 ClearQuest ClearCase 等產品的數據是遵循 REST Service 標准通過互聯網獲取的 XML 數據集,進而通過 ODBC Driver 生成的關系數據集。

圖 1. Rational Insight 總體架構圖

如表 1 列舉出了在 Insight 的安裝過程中,所有組件及其基本作用。其中 Data Manager、Reporting Server、Content Store Database 和 Data Warehouse 是必須安裝的組件,否則沒有辦法完成與 RTC 集成,並最終形成報 表的整個流程。

表 1. Rational Insight 主要組件

名稱 作用 是否必須 Data Warehouse 存儲來自數據源的原始數據以及 ETL 執行結果的數據倉庫 是 Data Warehouse
With Sample Data 在數據倉庫結構基礎之上提供示例數據供用戶參考 否 XML Data Configuration XML 數據集與關系數據集映射配置工具 否 Reporting Server 報表服務器,部署在 WebSphere Application Server 上,提供報表設計與展現服務 是 Content Store Database Cognos 應用數據,包括安全信息、配置信息、數據模型、報表定義、計劃任務等,主要為 Reporting Server 提 供運行支持 是 Data Manager ETL 流程設計執行工 具 是 Framework Manager 為報表提供的數據模式的編輯工具 否

① 在 Linux 操作系統之上,Data Manager 沒有 GUI 的界面, 但仍然需要安裝,以提供命令行執行所需的基本環境。

RTC 與 Insight 集成綜述

拓撲結 構

RTC 與 Insight 的數據集成環境的拓撲結構還是比較簡單的,如圖 2 所示。集成環境中包含 一台 Insight 服務器,以及一至多台 RTC 服務器。

圖 2. RTC 與 Insight 集成拓撲結構

單 RTC 存儲庫與 Insight 環境集成

首先,在最簡單情況下只有一台 Insight Server 和一台 RTC Server。數據集 成的步驟如下:

准備階段——快照 RTC 數據

RTC 作為團隊協作平台,其 7*24 小時在線的特點要求在任何時候都必須能提供服務,同時數據統計的要求數據干淨穩定無冗余,這類似與 數據庫中讀寫操作,同時存在又並發的話必然引起沖突。為了解決這個沖突,RTC 在數據底層設計時提供 了兩套數據,即實時數據和快照數據,實時數據保證其 7*24 小時在線服務,而快照數據為數據統計提供 支持。鑒於 Insight 的功能是數據統計分析與報表展現,所以針對 RTC 抽取的數據是 RTC 快照數據部 分,換句話說 Insight 中展示的與 RTC 相關的信息並不是絕對真實地反映 RTC 的實時情況,而是 RTC 快照之後的數據情況。

鑒於此,為了讓 Insight 更准確反映現實情況,在准備階段首先需要對 RTC 實時數據進行快照,這步操作在每次抽取 RTC 數據前都必須執行。RTC 提供了手動和自動兩種更新 方法供選擇:手動方法需要以管理員權限用戶登錄 RTC Server 後選擇 Project Area 執行快照數據更新 功能,如圖 3 所示;自動方法需要以管理員權限用戶登錄 RTC Server 後選擇 Admin 設置高級屬性部分 ,注意這裡設置的快照時間是指 24 小時制的具體時間,如圖 4 所示(圖 4 中隱藏了沒有變化的屬性) ,需要注意的是自動功能只在 RTC 1.0.1 及之後版本中提供,在 RTC 1.0 中只能以手動方式執行快照數 據更新。

圖 3. 手動更新 RTC 快照數據

查看原圖(大圖)

圖 4. 自動更新 RTC 快照數據

准備階段——恢復 ETL 編目

Cognos Data Manager 是可視化的設計 ETL (Extract Transform Load)流程的工具,它是 RTC 與 Insight 數據集成中運行 ETL 的必備工具,這 裡需要指出的是 Data Manager 的運行同樣需要數據庫的支持,被稱為 ETL 編目,如同 Reporting Server 的運行需要 Content Store Database 的支持是一樣的。所以在使用 Data Manager 之前,需要 事先創建一個空數據庫以供存儲編目信息,目前 Data Manager 支持在 DB2 Oracle SQLServer 等商業數 據庫上創建編目。

隨 Insight 一起發布的是根據各數據源產品,例如 RTC ClearCase ClearQuest 等擁有的默認數據模型而設計的 ETL 流程,它以 CTG 備份文件的方式存儲在安裝好的 Insight 服務器上,具體目錄是($RI_INSTAL_DIRECTORY 表示 Insight 安裝目錄) $RI_INSTALL_DIRECTORY\datamgr\insight_catalog\OOTBDMCatalog.ctg

由於 Linux 平台不同於 Windows 平台,Data Manager 沒有 GUI 操作界面,所以這裡分別對兩個平台進行描述

Windows

如圖 5~7 所示,在 Windows,可以通過 Data Manager 的 GUI 操作界面首先創 建全新的 ETL 編目,然後將 Insight 發布的 CTG 文件恢復到剛剛創建的 ETL 編目中。注意在圖 6 中 ,ETL 編目也可以建立在不同的商業數據庫產品諸如 DB2 Oracle SQLServer 之上。

圖 5. 新建 空 ETL 編目 1

圖 6. 新建空 ETL 編目 2

圖 7 重建 ETL 編目

Linux

由於 Linux 上 Data Manager 沒有 GUI 界面,所以必須通過命令行方式創建並導入 ETL 編目,以 DB2 為例 ,新建 ETL 編目的命令如下:

./catmanage DB2  "DSN=RICTG;UID=db2inst1;PWD=db2admin" –c

導入 ETL 編目的命令如下:

./catrestore DB2 "DSN=RICTG;UID=db2inst1;PWD=db2admin"  $CATALOG_DIR/OOTBDMCatalog.ctg

以上 Linux 命令必須在諸如 db2inst1 這樣的有效 DB2 用戶環境中執行,所以執行前務必通過 su 命令切換到該用戶的上下文環境中。Oracle 等其他數據庫的參數設置方法詳見 catmanage 與 catrestore 命令的幫助信息。

數據抽取階段

數據抽取是指將 RTC 存儲庫中的內容提取到 Insight 數據庫中,並重新組織和統計,以生成數據倉庫供 Insight 報表使用。在數據庫抽取之前,先 要確認連接設置中的 RTC 存儲庫與 Insight 數據倉庫是否正確,然後再運行 RTC Job。同樣由於 Linux 不提供 Data Manager 的 GUI 操作界面,所以也需要分為 Windows 和 Linux 兩個平台提供不同的配置 及數據抽取方法。

Windows

在 Data Manager 中,分別打開 Connections 中的 Rational Team Concert 與 Rational Data Warehouse 連接的配置頁,其中記錄了 RTC 存儲庫與 Insight 數據倉 庫的詳細連接信息,設置完成後可以通過 Test Connection 按鈕完成連接測試,如圖 8 所示。

注意此時的 RTC 存儲庫與 Insight 數據倉庫同樣可以部署在不同商業數據庫服務器上,這是異構數據庫 集成的基本要求,當然用戶可以不需要關心異構兼容性是如何完成的,只需要將它們分別設置正確即可。

圖 8. 驗證連接有效性

完成連接有效性的測 試之後,即可以通過 Data Manager 抽取 RTC 快照數據用以生成數據倉庫,用戶只需執行右鍵點擊或 F5 執行相應的 Job 即可,如圖 9 所示。

圖 9. 運行 RTC Job

Linux

在 Linux 上通過 rundsjob 命令來運行 ETL Job 抽取 RTC 數據:

./rundsjob -P DB2  "DSN=RICTG;UID=db2inst1;PWD=db2admin" RTCE2E

還可以利用 catlist 命令查看目 前 Catalog 數據庫中可以運行的所有 Job 列表:

./catlist DB2  "DSN=RICTG;UID=db2inst1;PWD=db2admin" J

多 RTC 存儲庫與 Insight 環境集成

Insight 1.0 版本不能自動地支持多 RTC 存儲庫數據抽取,需要很多手工的工作,在 Insight 隨後的版本中這個問題將會得到解決。由於這個問題不具備有通用性,在這裡不再詳細描述。對於 Insight 1.0 的用戶請參考“處理 IBM Rational Insight Process 中的多個 IBM Rational Team Concert 資源”一文,對於 Insight 1.0 以上版本的客戶與簡單數據集成步驟相同。

Insight 自動數據抽取

每天手動運行 Insight 的 RTCE2E 任務抽取 RTC 存儲庫數據顯然 是不現實的,通過如下步驟可以配置使其在規定的時間自動運行。

通過 Data Manager 的“ 動作”菜單中的“發布數據遷移任務”提交需要自動運行的任務,如圖 10 所示,並在 打開的窗口中選擇需要提交的任務,這裡選擇 RTCE2E;

進入 Insight 的 Web Portal http://localhost:9080/insight/servlet/dispatch/;

選擇 dataMovementTask 文件夾中的 RTCE2E 的計劃表屬性,如圖 11 所示,其中可以設置具體任務的運行頻度,開始時間與結束時間等;

圖 10. 提交需要自動運行的任務

圖 11. 設置自動運行的 任務

基於 RTC 的 Insight 報表

通過以上步驟,RTC 數據已經成功抽取到 Insight 的數據倉庫中,之後通過配置 Insight 報表服務器的數據倉庫連接,即可以在線地顯示如圖 12、圖 13 所示的軟件過程度量報表。

其中 圖 12 演示的是某個產品所有成員擁有 workitem 的數量情況,借此可以考察每個成員對產品的貢獻程度 及其工作負荷;而圖 13 顯示的是在一段周期之內某個項目中缺陷發現的分別情況,針對不同嚴重等級分 別以不同顏色的折線表示,借此可以觀察項目質量的發展趨勢,並判斷項目是否可以按時發布,是否存在 質量風險等。

如圖 12、圖 13 所示,隨 Insight 的發布,一些常用的軟件過程度量報表已經被 實現並提供給用戶,可以在數據抽取之後直接使用。當然,用戶亦可以根據自身項目度量標准的需要自行 設計和實現 Insight 的報表,這需要掌握一定的報表設計能力,這部分並不是本文的重點。

圖 12. RTC Reports A

圖 13. 圖 12 RTC Reports B

Insight 提供的報表 全部都是可以自定義並重新設計的,而這種自定義功能也是可以通過網絡在浏覽器中直接完成的,這意味 著用戶在客戶端上不需要額外安裝任何軟件即可完成報表的設計,這充分體現了 Insight 的強大之處。 當然除報表設計外,更多情況下對報表的浏覽也是可以通過浏覽器完成的,它使得軟件開發過程度量方法 的設計與實現真正跨越了時間和地域的界限,達到了 AnyTime and AnyWhere 的程度,非常適合全球化軟 件開發的管理,IBM Rational 內部已經開始使用這種方法並以此作為產品的最佳實踐。

前文提到 過,需要配置 Insight Reporting Server 的數據倉庫連接。假定 Insight 產品的所有組件被安裝在一 台的服務器上,則通過訪問 Insight 的 Web Portal http://localhost:9080/insight/servlet/dispatch/ 可以進入 Insight 報表服務的入口。並按如下步 驟配置 Insight Reporting Server 連接指定的數據倉庫:

頁面右上角的“啟動”菜 單中選擇 IBM Cognos Administration;

選擇打開頁面的“配置”頁;

進入目 錄結構選擇 RIDW 連接的設置屬性

選擇打開頁面的“連接”頁;

此時應能呈現 出如圖 13 所示的頁面,正確設置數據倉庫的類型和連接字符串部分即可。

重啟服務器

訪 問 Insight Web Portal 地址,點擊相應的報表

圖 14. 數據倉庫連接設置

總結

最後必須要提及的是,RTC 同樣可以完成項目報表展現的功能,但顯然這並不是它的強項。首先 RTC 不能抽取不同的存儲庫中的數據形成報表,這不適用於需要跨地域的大型軟件開發的管理;其次 RTC 報表自定義的功能沒有 Insight 強大;第三 Insight 可以針對不僅限於 RTC 的數據源,對 ClearQuest 、ClearCase 等也可以進行數據統計,最大限度的保留了用戶的現有軟件資產。總之,集成使得軟件工程 項目能更加協作高效、信息透明,同時 Insight 強大的項目度量能力從另一個方面保證了軟件項目成功 。

本文涵蓋了 Rational Insight 與 Rational Team Concert 進行環境集成部署,抽取快照數據 生成數據倉庫,以及形成報表的全過程,特別分別針對 Windows 和 Linux 操作系統提供了不同的解決方 案。限於篇幅,本文僅涉及集成部署與數據抽取執行等方面的內容,對於 Insight 和 RTC 更多的技術細 節,尤其是 Insight 用戶自定義部分沒有談及,有興趣請參考更多的關於 Insight 與 RTC 的技術文章 。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved