Acerca de los datos de dependencia de Rational Team Concert for System z

Puede utilizar Rational Team Concert for System z para obtener datos de dependencia, y después, consultarlo para los artefactos de origen en los proyectos zComponent. Los datos de dependencia indican las relaciones entre los archivos de origen, como un programa COBOL que incluye un libro de copias compartido. Puede reunir datos de dependencia analizando los archivos de origen en el repositorio Jazz Team Server. Este análisis está controlado por el proceso de compilación y, si está habilitado, ocurre cuando actualiza una secuencia durante la entrega del cambio.

El analizador reúne información del código de origen, como el tipo de origen, por ejemplo, principal o incluir, y dependencias, incluyendo un libro de copias COBOL. El análisis soporta varios lenguajes, incluyendo COBOL, PLI, ensamblador y otros. La salida del analizador está en un documento XML en formato de infraestructura de la definición de recurso (RDF). Este documento RDF está asignado a un URI único compuesto del IDelemento y IDestado del archivo en el SCM. Estos ID son suficientes para recuperar un artefacto desde el SCM en un espacio de trabajo o una secuencia.

Puede utilizar el lenguaje de consulta SPARQL para realizar varias búsquedas contra los datos de dependencia. Rational Team Concert for System z proporciona una interfaz de programación de aplicaciones (API) a niveles de servidor y cliente para realizar tres consultas predeterminadas (getImpact, getDependents, getResource), o cualquier consulta SPARQL que escriba usted mismo.

El resultado de las consultas está limitado a la URI del documento XML. Con la combinación de estas consultas y el documento XML, puede examinar fácilmente artefactos y navegar de uno a otro, según si necesita, por ejemplo, compilar una lista de archivos de un programa determinados, o calcular el impacto de un cambio en un archivo incluido.

Prerrequisitos: La creación de consultas SPARQL requiere habilidades de desarrollo Eclipse avanzadas.

Acerca de la recopilación de datos de dependencia

Rational Team Concert for System z recopila datos de dependencia cuando entrega un conjunto de cambios a una secuencia en un proyecto zComponent. Cuando actualiza un archivo, Rational Team Concert for System z actualiza los datos de dependencia correspondientes. Sin embargo, es importante anotar que Rational Team Concert for System z sólo conserva la última versión de los datos de dependencia. Esto significa que no debería activar la colección de metadatos de dependencia en varias secuencias que contengan el mismo componente, porque actualizar a una secuencia puede corromper los datos de otra secuencia. Para activar una colección de datos de dependencia para una secuencia única, puede definir áreas de equipo particulares relacionadas con la secuencia y personalizar el proceso a nivel de equipo, en lugar de a nivel de proyecto.

Contenidos de los datos de dependencia

Rational Team Concert for System z almacena los datos de dependencia entre un artefacto y otro en un formato genérico. Esto significa que puede escribir consultas relacionadas con las dependencias de una manera genérica, independientemente del lenguaje del archivo de origen.
Nota: Algunas categorías dependen del lenguaje, pero hablaremos de ellas más tarde.
Cada recurso captura los siguientes datos de dependencia:

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

  • El atributo de nombre es el nombre del archivo, incluyendo la extensión del archivo.
  • El atributo nombreLógico es el nombre que utiliza el compilador.
  • El atributo fileTypeCd es un atributo genérico. Los posibles valores incluyen main, incl o unkn.
  • El atributo languageCd indica el lenguaje de archivo de origen.
Otras características generales, como el recuento de registros o el número de comentarios y líneas no comentadas, también está disponible.
Una dependencia se expresa con un elemento que contiene los siguientes atributos:

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

El NombreDependencia y el CDdeTipodearchivo coinciden con los valores de recursonombreLógico y CDdeTipodearchivo . El tipoDependencia indica el tipo de dependencia relacionado con un lenguaje dado.

Acerca de la realización de consultas de Rational Team Concert for System z

Puede realizar consultas en Rational Team Concert for System z con el lenguaje de consulta SPARQL. Rational Team Concert for System z ofrece una API para tres consultas predeterminadas para examinar dependencias.

Para obtener más información acerca de esta API, consulte los siguientes requisitos previos de plugins:
Servidor
com.ibm.teamz.rdf.query.service
Cliente
com.ibm.teamz.rdf.query.client
Las consultas predeterminadas para examinar dependencias son:
getImpact(Serie dependencyName)
Esta consulta capta todos los recursos que incluyen una dependencia en un artefacto con un nombre dado.
getDependents(Serie dependencyName, Serie dependencyType)
Esta consulta capta todos los recursos cuyo nombre lógico y Cdtipoarchivo coinciden con un nombreDependencia y tipoArchivo dado.
getResource(Serie resourceStorageURL)
Esta consulta capta la representación XML de un recurso almacenado en un URI dado. El formato del URI contiene una parte fija y una parte variable. La parte fija es la dirección del servidor y la vía de acceso al área de almacenamiento. Se parecería a:

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

La parte variable es la compilación desde el IDelemento e IDestado del recurso analizado. Puede recuperar esos atributos con la API de SCM.
_itemId=<itemId>_stateId=<stateId>
Esto es un ejemplo de URI completa:

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

También puede compilar esa URI desde un artefacto conocido en la SCM, o puede obtenerla desde una consulta.
runQuery(Serie sparql)
Esta consulta ejecuta una sentencia SPARQL personalizada y responde con una lista de URI de los recursos encontrados. Lo que viene a continuación es una consulta SPARQL de muestra, utilizada por la consulta getDependents :

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