Sobre Dados de Dependência do Rational Team Concert para System z

O Rational Team Concert para System z pode ser usado para obter dados de dependência e, em seguida, copiá-los para seus artefatos de origem em projetos zComponent. Os dados de dependência indicam os relacionamentos entre arquivos de origem, como um programa COBOL que inclui um copybook compartilhado. É possível reunir dados de dependência, analisando os arquivos de origem no repositório do Jazz Team Server. Essa análise é controlada pelo processo de construção e, se estiver ativado, ocorre ao atualizar um fluxo durante a entrega de alteração.

O analisador coleta informações do código de origem, como o tipo de origem – por exemplo, main ou include – e quaisquer dependências, incluindo um copybook COBOL. A análise suporta várias linguagens, incluindo COBOL, PLI, assembler e outros. A saída do analisador é um documento XML no formato resource definition framework (RDF). Este documento RDF recebe um URI único composto de itemId estateId do arquivo no SCM. Esses IDs são suficientes para recuperar um artefato a partir do SCM em uma área de trabalho ou um fluxo.

É possível usar a linguagem de consulta SPARQL para executar várias consultas em relação aos dados de dependência. O Rational Team Concert para System z fornece uma interface de programação de aplicativos (API) nos níveis do servidor e do cliente para executar três consultas padrão (getImpact, getDependents, getResource) ou qualquer consulta SPARQL que você gravar.

O resultado das consultas está limitado ao URI do documento XML. Com a combinação dessas consultas e do documento XML, é possível procurar facilmente artefatos e navegar entre eles, conforme você precisar, por exemplo, criar uma lista de arquivos para um determinado programa ou calcular o impacto de uma alteração de um arquivo incluído.

Pré-requisitos: A criação de consultas SPARQL requer habilidades avançadas em desenvolvimento do Eclipse.

Sobre os Dados de Dependência de Coleta

O Rational Team Concert para System z coleta dados de dependência quando você entrega um conjunto de mudanças em um fluxo de um Projeto zComponent. Ao atualizar um arquivo, o Rational Team Concert para System z atualiza os dados de dependência correspondentes. No entanto, é importante notar que o Rational Team Concert para System z mantém apenas a versão mais recente de dados de dependência. Isso significa que não é necessário ativar a coleta de metadados de dependência em vários fluxos que contêm o mesmo componente, porque atualizar um fluxo pode corromper os dados de outro fluxo. Para ativar a coleta de dados de dependência para um único fluxo, é possível definir áreas de equipe particular relacionadas ao fluxo e customizar o processo no nível de equipe, em vez de no nível do projeto.

Conteúdo de Dados de Dependência

O Rational Team Concert para System z armazena os dados de dependência entre um artefato e outro em um formato genérico. Isso significa que é possível gravar consultas relacionadas às dependências de uma forma genérica, independente da linguagem do arquivo de origem.
Nota: Algumas características são dependentes de linguagem, mas esses serão discutidos depois.
Cada recurso captura os seguintes dados de dependência:

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

  • O atributo name é o nome do arquivo, incluindo a extensão do arquivo.
  • O atributo logicalName é o nome usado pelo compilador.
  • O atributo fileTypeCd é um atributo genérico. Os valores possíveis incluem main, incl ou unkn.
  • O atributo languageCd indica a linguagem do arquivo de origem.
Outras características gerais, como contagem de registro ou o número de linhas comentadas e não-comentadas, também estão disponíveis.
Uma dependência é expressa com um elemento que contém os seguintes 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>

DependencyName e fileTypeCD correspondem aos valores de recurso logicalName e fileTypeCd. O dependencyType indica o tipo de dependência relacionado a um determinada linguagem.

Sobre como Criar Consultas do Rational Team Concert para System z

É possível criar consultas no Rational Team Concert para System z com a linguagem de consulta SPARQL. O Rational Team Concert para System z oferece uma API para três consultas padrão para navegação em dependências.

Para obter informações adicionais sobre esta API, consulte os seguintes plug-ins: pré-requisitos
Servidor
com.ibm.teamz.rdf.query.service
Client
com.ibm.teamz.rdf.query.client
As consultas padrão para navegação em dependências são:
getImpact(String dependencyName)
Essa consulta procura todos os recursos que incluem uma dependência em um artefato com o nome fornecido.
getDependents(String dependencyName, String dependencyType)
Essa consulta procura todos os recursos cujo nome lógico e fileTypeCd correspondem a um determinado dependencyName e fileType.
getResource(String resourceStorageURL)
Essa consulta procura a representação XML de um recurso armazenado em um determinado URI. O formato do URI contém uma parte fixa e uma parte variável. A parte fixa é o endereço do servidor e o caminho para a área de armazenamento. Isso é semelhante ao seguinte:

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

A parte variável é formada de itemId e stateId do recurso analisado. É possível recuperar esses atributos com a API SCM.
_itemId=<itemId>_stateId=<stateId>
Este é um exemplo do URI completo:

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

É possível criar um URI a partir de um artefato conhecido no SCM ou obtê-lo a partir de uma consulta.
runQuery(String sparql)
Essa consulta executa uma instrução SPARQL customizada e responde com uma lista de URIs dos recursos localizados. A seguir há uma consulta de amostra SPARQL, usada pela consulta getDependents:

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