Informationen zu den Abhängigkeitsdaten in Rational Team Concert for System z

Sie können Rational Team Concert for System z einsetzen, um Abhängigkeitsdaten zu erhalten. Anschließend können Sie Ihre Quellenartefakte in zComponent-Projekten abfragen. Abhängigkeitsdaten zeigen die Beziehungen zwischen den Quellendateien an, z. B. ein COBOL-Programm, dass ein gemeinsam genutztes Copybook enthält. Abhängigkeitsdaten erhalten Sie durch Parsing von Quellendateien im Repository von Jazz Team Server. Dieses Parsing wird vom Buildprozess gesteuert und findet bei entsprechender Aktivierung dann statt, wenn ein Datenstrom während der Übergabe von Änderungen aktualisiert wird.

Der Parser erfasst Informationen aus dem Quellcode, z. B. den Typ der Quelle, z. B. main oder include, sowie alle Abhängigkeiten, einschließlich eines COBOL-Copybooks. Das Parsing unterstützt mehrere Sprachen, einschließlich COBOL, PLI, Assembler und andere. Die Parserausgabe ist ein XML-Dokument im RDF-Format (Ressourcendefinitionsframework). Diesem RDF-Dokument wird eine eindeutige URI zugeordnet, der sich aus der itemID (Element-ID) und der stateId (Status-ID) der Datei in der SCM zusammensetzt. Diese IDs reichen aus, um ein Artefakt aus der SCM in einen Arbeitsbereich oder Datenstrom abzurufen.

Sie können die Abfragesprache SPARQL verwenden, um verschiedene Suchoperationen für die Abhängigkeitsdaten auszuführen. Rational Team Concert for System z stellt auf Server- und Clientebene eine Anwendungsprogrammierschnittstelle (API) bereit, in der drei Standardabfragen (getImpact, getDependents, getResource) ausgeführt werden können oder SPARQL-Abfragen, die Sie selbst schreiben.

Das Ergebnis der Abfragen ist auf die URI des XML-Dokuments begrenzt. Durch Kombination dieser Abfragen mit dem XML-Dokument können Sie Artefakte ohne großen Aufwand anzeigen und von einem zum anderen navigieren, je nachdem, ob Sie beispielsweise eine Liste von Dateien für ein bestimmtes Programm erstellen oder die Auswirkung einer Änderung auf eine enthaltene Datei berechnen müssen.

Voraussetzungen: Zum Erstellen von SPARQL-Abfragen sind fortgeschrittene Kenntnisse in der Eclipse-Entwicklung erforderlich.

Abhängigkeitsdaten erfassen

Rational Team Concert for System z erfasst Abhängigkeitsdaten, wenn Sie ein Änderungsset an einen Datenstrom in einem zComponent-Projekt übergeben. Wenn Sie eine Datei aktualisieren, aktualisiert Rational Team Concert for System z die entsprechenden Abhängigkeitsdaten. Beachten Sie jedoch, dass Rational Team Concert for System z nur die neueste Version der Abhängigkeitsdaten speichert. Dies bedeutet, dass Sie die Erfassung von Abhängigkeitsmetadaten nicht in mehreren Datenströmen, die dieselbe Komponente enthalten, aktivieren sollten, weil die Aktualisierung für einen Datenstrom die Daten aus einem anderen Datenstrom beschädigen könnte. Wenn Sie die Erfassung von Abhängigkeitsdaten für einen einzelnen Datenstrom aktivieren, können Sie bestimmte zum Datenstrom gehörende Teambereiche definieren, und den Prozess auf Teamebene anstatt auf Projektebene anpassen.

Inhalt der Abhängigkeitsdaten

Rational Team Concert for System z speichert die Abhängigkeitsdaten zwischen einem Artefakt und einem anderen in einem generischen Format. Dies bedeutet, dass Sie Abfragen zu den Abhängigkeiten unabhängig von der Sprache der Quellendatei in generischer Form schreiben können.
Anmerkung: Einige Merkmale sind sprachenabhängig. Diese werden jedoch an anderer Stelle erläutert.
Jede Ressource erfasst die folgenden Abhängigkeitsdaten:

<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>

  • Das Attribut name ist der Name der Datei, einschließlich der Dateierweiterung.
  • Das Attribut logicalName ist der Name, den der Compiler verwendet.
  • Das Attribut fileTypeCd ist ein generisches Attribut. Mögliche Werte sind main, incl oder unkn.
  • Das Attribut languageCd gibt die Sprache der Quellendatei an.
Andere allgemeine Merkmale wie record count oder die Anzahl der Kommentarzeilen und der Zeilen ohne Kommentar sind ebenfalls verfügbar.
Eine Abhängigkeit wird mit einem Element ausgedrückt, das folgende Attribut enthält:

<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>

DependencyName und fileTypeCD stimmen mit den Ressourcenwerten logicalName und fileTypeCd überein. dependencyType gibt den Typ der Abhängigkeit bezogen auf eine bestimmte Sprache an.

Abfragen stellen in Rational Team Concert for System z

Abfragen können in Rational Team Concert for System z mit der Abfragesprache SPARQL gestellt werden. Rational Team Concert for System z stellt eine API für drei Standardabfragen zum Durchsuchen der Abhängigkeiten bereit.

Weitere Informationen zu dieser API finden Sie in dem Plug-in mit den Voraussetzungen.
Server
com.ibm.teamz.rdf.query.service
Client
com.ibm.teamz.rdf.query.client
Folgende Standardabfragen zum Anzeigen von Abhängigkeiten stehen zur Verfügung:
getImpact(String dependencyName)
Diese Abfrage ruft alle Ressourcen ab, die eine Abhängigkeit zu einem Artefakt mit dem angegebenen Namen enthalten.
getDependents(String dependencyName, String dependencyType)
Diese Abfrage ruft alle Ressourcen ab, deren logischer Name und fileTypeCd mit einem bestimmten dependencyName und fileType übereinstimmen.
getResource(String resourceStorageURL)
Diese Abfrage ruft die XML-Darstellung einer in einer bestimmten URI gespeicherten Ressource ab. Das Format der URI enthält einen unveränderlichen und einen veränderlichen Teil. Der unveränderliche Teil ist die Serveradresse und der Pfad zum Speicherbereich. Dieser Teil sieht wie folgt aus:

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

Der variable Teil wird aus der itemId (Element-ID) und der stateId (Status-ID) der geparsten Ressource erstellt. Sie können diese Attribute mit der SCM API abrufen.
_itemId=<Element-ID>_stateId=<Status-ID>
Dies ist ein Beispiel der folgenden vollständigen URI:

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

Sie können eine solche URI entweder aus einem bekannten Artefakt in der SCM erstellen oder aus einer Abfrage erhalten.
runQuery(String sparql)
Diese Abfrage führt eine angepasste SPARQL-Anweisung aus und antwortet mit einer Liste der URIs der gefundenen Ressourcen. Nachfolgend ist eine SPARQL-Beispielabfrage aufgeführt, die von der Abfrage getDependents verwendet wird:

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


Feedback

Waren die Informationen hilfreich? Sie können auf Jazz.net (Registrierung erforderlich) Feedback geben: Comment in the forums oder submit a bug