關於 Rational Team Concert for System z 相依關係資料

您可以使用 Rational Team Concert™ for System z® 來取得相依關係資料,然後查詢它以便在 zComponent 專案中找出您的來源構件。相依關係資料指出原始檔之間的關係,例如,內含共用記錄定義檔的 COBOL 程式。您可以剖析 Jazz™ Team Server 儲存庫中的原始檔,來收集相依關係資料。這項剖析受建置程序控制,若有啟用,當您在交付變更期間更新串流時,就會進行剖析。

剖析器會從原始碼中收集原始檔類型之類的資訊,例如,maininclude,以及任何相依關係(包括 COBOL 記錄定義檔)。剖析支援各種不同的語言,包括:COBOL、PLI、組譯器以及其他。剖析器輸出是一個採用資源定義架構 (RDF) 格式的 XML 文件。會指派一個唯一的 URI 給這份 RDF 文件,這個 URI 由 SCM 中檔案的 itemIdstateId 組成。這些 ID 已足夠用來從工作區或串流中的 SCM 擷取構件。

您可以使用 SPARQL 查詢語言,對相依關係資料執行各種搜尋。Rational Team Concert for System z 提供伺服器與用戶端層次的應用程式設計介面 (API),來執行三種預設查詢 (getImpact, getDependents, getResource),或您自己撰寫的任何 SPARQL 查詢。

查詢的結果以 XML 文件的 URI 為限。利用這些查詢與 XML 文件的組合,就可以根據您是要,比方說,建置給定程式的檔案清單,或是計算對併入檔變更的影響,來輕鬆地瀏覽構件並在構件之間導覽。

必要條件: 如果要建立 SPARQL 查詢,需具備進階 Eclipse 開發技能。

關於收集相依關係資料

Rational Team Concert for System z 會在您交付變更集給 zComponent 專案中的串流時,收集相依關係資料。在您更新檔案時,Rational Team Concert for System z 會更新對應的相依關係資料。不過,務必注意的是,Rational Team Concert for System z 只會保留最新版本的相依關係資料。也就是說,您不應在數個內含相同元件的串流中開啟相依關係 meta 資料收集,因為一旦更新其中一個串流,可能會毀損另一個串流中的資料。如果要針對單一串流開啟相依關係資料收集,您可以定義該串流的相關特定團隊區域,並自訂團隊層次(而非專案層次)的程序。

相依關係資料內容

Rational Team Concert for System z 會以通用格式儲存構件之間的相依關係資料。也就是說,您可以使用通用方式來撰寫相依關係的相關查詢,而不必理會原始檔語言。
註: 某些性質和語言有關,但這些會在後文討論。
每一個資源會擷取以下的相依關係資料:

<ns:name xmlns:ns="http://www.ibm.com/xmlns/zindex/">EPSMTCOM.cpy</ns:name>
<ns:fileTypeCd xmlns:ns="http://www.ibm.com/xmlns/zindex/">INCL</ns:fileTypeCd>
<ns:languageCd xmlns:ns="http://www.ibm.com/xmlns/zindex/">COB</ns:languageCd>
<ns:logicalName xmlns:ns="http://www.ibm.com/xmlns/zindex/">EPSMTCOM</ns:logicalName>

  • name 屬性是檔案的名稱(包括副檔名)。
  • logicalName 屬性是編譯器所用的名稱。
  • fileTypeCd 屬性是通用屬性。可能的值包括 maininclunkn
  • languageCd 屬性指出原始檔語言。
其他像是 record count 或註解行與解除註解行數目等一般性質,也都是可用的。
相依關係是以內含下列屬性的元素來表示:

<ns:dependency xmlns:ns="http://www.ibm.com/xmlns/zindex/">
<rdf:Description>
<ns:dependencyName xmlns:ns="http://www.ibm.com/xmlns/zindex2/">EPSNBRPM</ns:dependencyName>
<ns:dependencyType xmlns:ns="http://www.ibm.com/xmlns/zindex2/">COPY</ns:dependencyType>
<ns:fileTypeCd xmlns:ns="http://www.ibm.com/xmlns/zindex2/">INCL</ns:fileTypeCd>
</rdf:Description>

DependencyNamefileTypeCD 符合 logicalNamefileTypeCd 資源值。dependencyType 指出給定語言的相關相依關係類型。

關於建立 Rational Team Concert for System z 查詢

您可以在 Rational Team Concert for System z 中,使用 SPARQL 查詢語言來建立查詢。Rational Team Concert for System z 針對三個預設查詢提供 API 來瀏覽相依關係。

如需這個 API 的相關資訊,請參閱下列外掛程式: 必要條件
伺服器
com.ibm.teamz.rdf.query.service
用戶端
com.ibm.teamz.rdf.query.client
瀏覽相依關係時所用的預設查詢如下:
getImpact(String dependencyName)
這項查詢會提取含有與給定名稱之構件具有相依關係的所有資源。
getDependents(String dependencyName, String dependencyType)
這項查詢會提取其邏輯名稱與 fileTypeCd 符合給定 dependencyNamefileType 的所有資源。
getResource(String resourceStorageURL)
這項查詢會提取儲存在給定 URI 之資源的 XML 表示法。URI 的格式含有一個固定部分與一個可變部分。固定部分是伺服器位址與儲存區的路徑。看起來類似如下:

https://localhost:9443/jazz/storage/rtcz/

可變部分是從所剖析資源的 itemIdstateId 建置而來。您可以使用 SCM API 來擷取這些屬性。
_itemId=<itemId>_stateId=<stateId>
以下是完整 URI 範例:

https://localhost:9443/jazz/storage/rtcz/_itemId=_ILmFIIWEEd6tRoteGBvdPA_stateId=_IXz8YYWEEd6Gcog_JpIdrw

您可以從 SCM 中的已知構件來建置這樣的 URI,或者從查詢中取得。
runQuery(String sparql)
這項查詢會執行自訂 SPARQL 陳述式,並對所找到的資源回應一份 URI 清單。以下是 getDependents 查詢所用的範例 SPARQL 查詢:

PREFIX zindex: <http://www.ibm.com/xmlns/zindex/>
SELECT ?zindex
WHERE {
zindex:logicalName "CustCopy";
zindex:fileTypeCd "INCL".  }


意見

以上說明對您有幫助嗎?您可以在 Jazz.net 網站中提供意見(需要登錄):在討論區中提供意見提交錯誤