A propos des données de dépendance Rational Team Concert for System z

Vous pouvez utiliser Rational Team Concert for System z pour obtenir des données de dépendance, puis y exécuter des requêtes relatives aux artefacts source des projets zComponent. Les données de dépendance indiquent les relations entre les fichiers source, tel qu'un programme COBOL qui inclut un fichier de stockage partagé. Vous pouvez rassembler ces données en analysant les fichiers source du référentiel Jazz Team Server. L'analyse syntaxique est contrôlée par le processus de génération et, si elle est activée, elle se déclenche lorsque vous mettez à jour à jour un flux au cours d'une distribution de changement.

L'analyseur syntaxique collecte les informations à partir du code source : type de source (main ouinclude), dépendances, fichier de stockage COBOL, etc. L'analyse syntaxique prend en charge divers langages comme les langages COBOL et PLI et le langage assembleur. La sortie générée est un document XML de format RDF. Ce document RDF reçoit un URI unique composé de l'ID_élément et de l'ID_état du fichier dans le gestionnaire SCM. Ces ID sont suffisants pour permettre la récupération d'un artefact à partir du gestionnaire SCM d'un espace de travail ou d'un flux.

Vous pouvez utiliser le langage de requête SPARQL pour effectuer diverses requêtes dans les données de dépendances. Rational Team Concert for System z contient une interface de programme d'application (API) aux niveaux du serveur et du client permettant d'exécuter trois requêtes par défaut (getImpact, getDependents, getResource) ou une requête SPARQL rédigée par vous.

Le résultat de ces requêtes se limite à l'URI du document XML. En combinant ces requêtes et le document XML, vous pouvez facilement consulter les artefacts et naviguer de l'un à l'autre selon que vous devez par exemple générer une liste de fichiers pour un programme donné ou calculer l'impact d'un changement sur un fichier inclus.

Conditions prérequises : La création de requêtes SPARQL requiert des compétences de développement Eclipse.

A propos de la collecte des données de dépendance

Rational Team Concert for System z collecte les données de dépendance lorsque vous distribuez un ensemble d'artefacts modifiés dans le flux d'un projet zComponent. Lorsque vous mettez à jour un fichier, Rational Team Concert for System z met à jour les données de dépendance correspondantes. Il est important de noter, toutefois, que Rational Team Concert for System z garde uniquement la dernière version des données de dépendance. Vous ne devez donc pas démarrer une collecte de métadonnées de dépendance dans plusieurs flux contenant le même composant, car la mise à jour d'un flux pourrait corrompre les données de l'autre flux. Pour démarrer la collecte pour un un seul flux, vous pouvez définir des zones d'équipe particulières associées au flux et personnaliser le processus au niveau de l'équipe et non au niveau du projet.

Contenu des données de dépendance

Rational Team Concert for System z stocke les données de dépendance entre deux artefacts dans un format générique. Ceci signifie que vous pouvez rédiger des requêtes relatives aux dépendances de manière générique, quel que soit le langage du fichier source.
Remarque : Certaines caractéristiques varient en fonction du langage. Elles seront présentées ultérieurement.
Chaque ressource capture les données de dépendance suivantes :

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

  • L'attribut name est le nom du fichier, y compris son extension.
  • L'attribut logicalName est le nom utilisé par le compilateur.
  • L'attribut fileTypeCd est un attribut générique. Les valeurs possibles sont : main, incl ouunkn.
  • L'attribut languageCd indique le langage du fichier source.
D'autres caractéristiques générales, comme le nombre d'enregistrements ou le nombre de lignes de commentaires et de lignes décommentées sont également disponibles.
Une dépendance est exprimée à l'aide d'un élément contenant les attributs suivants :

<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 et fileTypeCD correspondent aux valeurs des ressources logicalName et fileTypeCd. dependencyType indique le type de dépendance associé à un langage donné.

A propos des requêtes Rational Team Concert for System z

Vous pouvez exécuter des requêtes dans Rational Team Concert for System z à l'aide du langage de requête SPARQL. Rational Team Concert for System z contient une interface de programme d'application proposant trois requêtes par défaut de consultation des dépendances.

Pour plus d'informations sur cette interface, voir les conditions prérequises suivantes pour les plug-ins :
Serveur
com.ibm.teamz.rdf.query.service
Client
com.ibm.teamz.rdf.query.client
Les requêtes par défaut pour la recherche de dépendances sont les suivantes :
getImpact(String dependencyName)
Cette requête extrait toutes les ressources contenant une dépendance avec l'artefact du nom indiqué.
getDependents(String dependencyName, String dependencyType)
Cette requête extrait toutes les ressources dont le nom logique et le fileTypeCd correspondent à un dependencyName et à un fileType donnés.
getResource(String resourceStorageURL)
Cette requête extrait la représentation XML d'une ressource stockée dans un URI donné. L'URI se compose d'une partie fixe et d'une partie variable. La partie fixe correspond à l'adresse du serveur et au chemin d'accès à la zone de stockage, par exemple :

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

La partie variable se compose de l'ID_élément et de l'ID_état de la ressource analysée. Vous pouvez extraire ces attributs à l'aide de l'interface de programme d'application SCM.
_itemId=<itemId>_stateId=<stateId>
Exemple d'URI complet :

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

Vous pouvez générer un URI à partir d'un artefact connu dans le gestionnaire SCM ou l'obtenir via une requête.
runQuery(String sparql)
Cette requête exécute une instruction SPARQL personnalisée et renvoie une liste des URI des ressources identifiées. Exemple de requête SPARQL utilisée par la requête getDependents :

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


Commentaires en retour

Avez-vous obtenu l'aide souhaitée ? Vous pouvez envoyer des commentaires en retour à Jazz.net (inscription nécessaire) : Commentaire dans les forums ou signaler un bogue