Crie relatórios customizados com BIRT e Rational Team Concert

Use BIRT para acessar vários atributos de item de trabalho customizados

IBM Rational Team Concert ajuda equipes de desenvolvimento de software a armazenar e organizar enormes quantidades de informações, incluindo planos de trabalho, tarefas, desenvolvimentos, testes, código-fonte e outros arquivos. IBM Rational Team Concert também pode ser customizado para alinhar-se aos processos e requisitos de coleta de dados de uma equipe de projeto. Neste artigo, demonstramos como criar relatórios customizados que contêm dados de vários atributos customizados usando Rational Team Concert com Eclipse Business Information and Reporting Tools (BIRT).

Paul Wellman, Managing Consultant, IBM Global Business Services

Paul Wellman é Managing Consultant na IBM Global Business Services em Toronto, no Canadá. Ele trabalha com clientes e equipes da IBM para treinar, permitir e transformar os processos, métodos e ferramentas que as equipes de entrega usam. A principal área de conhecimento de Paul é a plataforma Rational Collaborative Lifecycle Management. Antes da função atual de Paul, ele trabalhou como Project Manager para IBM Global Business Services, gerenciando projetos de entrega global. Seu email é wellman@ca.ibm.com.



Paul Rinaldi, Application Developer, IBM Global Business Services

Paul Rinaldi é Enablement Consultant na IBM Global Services em Toronto, no Canadá. Ele trabalha com equipes IBM para treiná-las no uso da plataforma Rational Team Concert. Ele também escreve relatórios BIRT customizados para essas equipes. Antes de sua função atual, Paul trabalhou como desenvolvedor de zOS e Team Lead para IBM Global Services. Seu email é rinaldip@ca.ibm.com.



28/Fev/2014

Objetivos

Após ler este artigo, você terá o conhecimento para:

  • Entender como atributos customizados são armazenados no repositório do Rational Team Concert.
  • Visualizar e localizar atributos customizados no repositório do Rational Team Concert.
  • Criar conjuntos de dados BIRT para cada tipo de dados de atributo customizado.
  • Aplicar código JavaScript a cada um dos conjuntos de dados para armazenar atributos customizados.
  • Exibir os valores de atributos customizados.

Pré-requisitos

Não tem o Rational Team Concert?

Faça download da versão de teste do:
Cliente Rational Team Concert e servidor Rational Team Concert

Esta série de artigos pressupõe que o leitor já conheça os relatórios no Rational Team Concert com BIRT. Isso inclui como criar relatórios, como trabalhar com fontes de dados e conjuntos de dados e como incluir tabelas em um relatório. Os seguintes artigos no IBM developerWorks tratam desses tópicos. Se você não conhece os relatórios no Rational Team Concert e BIRT, siga primeiro os artigos a seguir:

Para acompanhar esses artigos, é necessário ter uma conta gratuita no jazz.net e as versões completas ou de teste do servidor e do cliente do Rational Team Concert.


Instrução do problema

Atributos padrão e integrados do Rational Team Concert são armazenados em colunas de tabela. No entanto, atributos de itens de trabalho customizados do Rational Team Concert são armazenados no armazém de dados em colunas KEY e VAL genéricas. Essa abordagem é usada para acomodar atributos customizados definidos pelo usuário que existem em itens de trabalho. O exemplo a seguir mostra como três atributos de sequência, Phase, Release e Type, são armazenados para um item de trabalho de defeito.

Esquema atual usado para armazenar atributos customizados

Como o Rational Team Concert não pode criar colunas dinamicamente no banco de dados para cada atributo customizado, um mecanismo de armazenamento genérico foi implementado, como mostra a Tabela 1 abaixo. Na Tabela 1, três atributos de sequência customizados são adicionados a um tipo de item de trabalho. Para dois itens de trabalho específicos, existe um total de seis linhas recuperadas para os três atributos customizados. Para cada item de trabalho, uma linha é armazenada para cada atributo customizado.

Tabela 1. Exemplo do esquema de atributo customizado atual
WI_IDSTRING_KEYSTRING_VAL
1PhaseDevelopment
1Release2.1
1TypeCode Error
2 PhaseTesting
2 Release2.5
2 TypeBug

Esquema ideal para armazenar atributos customizados

A tabela ideal para criar relatórios sobre atributos customizados do Rational Team Concert contém colunas para cada atributo armazenado no banco de dados. A Tabela 2 mostra o esquema e layout ideais para a tabela.

Tabela 2. Exemplo de um esquema de atributo customizado ideal
WI_IDPhaseReleaseType
1Development2.1Code Error
2 Testing2.5Bug

Localização de atributos customizados

A Tabela 3 define quais campos contêm os atributos customizados nas tabelas de armazém de dados no Rational Team Concert.

Tabela 3. Localização de alguns campos de atributo customizado
StringsTimestampsIntegersLong
Data sourceJazz Data Source
SnapshotWORKITEMS_SNAPSHOT
Data setAdvanced Data Set
Table nameLIVE_WORKITEM_CNT
Filter byPROJECT_AREA_NAME
WI_TYPE
Column to selectSTRING_KEY
STRING_VAL
TIMESTAMP_KEY
TIMESTAMP_VAL
INTEGER_KEY
INTEGER_VAL
LONG_KEY
LONG_VAL

Solução para criar um relatório BIRT para vários atributos

Para criar um relatório BIRT customizado para vários atributos customizados, siga estas instruções:

  1. Crie variáveis globais para armazenar os dados de atributo customizado.
  2. Crie conjuntos de dados separados e avançados para cada tipo de atributo (por exemplo, conjunto de dados, número inteiro e registro de data e hora).
  3. Use JavaScript para capturar e armazenar os dados de atributo customizado.
  4. Crie um conjunto de dados final, principal, de resumo, para consolidar todos os dados de atributo customizado em um formato utilizável.

Crie variáveis globais no relatório

Após iniciar um novo relatório BIRT, a primeira etapa é criar variáveis globais para armazenar os dados de atributo customizado. Para cada tipo de atributo customizado (cadeia de caracteres, número inteiro e registro de data e hora), crie uma variável global separada.

  1. Crie um novo modelo de relatório BIRT e crie as fontes de dados necessárias para a fonte do Rational Team Concert, selecione Report na janela do BIRT Navigator.
  2. Na visualização Template, selecione a guia Script na parte inferior para ir para a janela de JavaScript do relatório.
  3. No menu suspenso de seleção de script, selecione a categoria initialize, como mostra a Figura 1. O código que você escreverá na seção initialize será executada quando o relatório for iniciado.
  4. Crie novos objetos por tipo de atributo para armazenar os atributos customizados. Neste exemplo, você criará variáveis para cadeias de caractere e registros de data e hora. Coloque o código a seguir na seção de inicialização, como mostra a Figura 1:
    Strings = new Object();
    Timestamps = new Object();
Figura 1. Inicializar o relatório com variáveis globais

Crie um conjunto de dados separado para cada tipo de atributo customizado

Crie conjuntos de dados avançados separados para cada um dos tipos de atributos customizados. Neste exemplo, você criará relatórios para os atributos customizados de cadeia de caractere e registro de data e hora. Portanto, é necessário criar dois conjuntos de dados avançados: um para as cadeias de caracteres e um para registros de data e hora. As instruções a seguir supõem que você saiba como criar um conjunto de dados no BIRT, que é conectado ao respectivo banco de dados do Rational Team Concert.

Crie um conjunto de dados avançado para cadeias de caractere

Para criar um conjunto de dados avançado para o tipo de atributo de sequência, use os valores a seguir, que também são mostrados na Figura 2:

  • Table: LIVE_WORKITEM_CNT
  • Columns to incude: WI_ID, STRING_KEY, STRING_VAL
  • Filter by: PROJECT_AREA_NAME and WI_TYPE
Figura 2. Conjunto de dados avançado para cadeias de caracteres

Conjunto de dados avançado para registros de data e hora

Para criar um conjunto de dados avançado para o tipo de atributo de registro de data e hora, use os valores a seguir, que também são mostrados na Figura 3:

  • Table: LIVE_WORKITEM_CNT
  • Columns to inc:lude WI_ID, TIMESTAMP_KEY, TIMESTAMP_VAL
  • Filter by: PROJECT_AREA_NAME and WI_TYPE
Figura 3. Conjunto de dados avançado para registros de data e hora

Use JavaScript para capturar e armazenar os dados de atributo customizado

Após criar os conjuntos de dados avançados para os atributos customizados de cadeia de caractere e registro de data e hora, use JavaScript para armazenar os dados nas variáveis globais. Em cada conjunto de dados, capture o valor de cada atributo customizado e armazene-o na respectiva variável global como um array.

Busque os dados de atributo customizado para o conjunto de dados avançado de cadeia de caractere

  1. Selecione o conjunto de dados avançado de cadeia de caractere que criamos e selecione a guia Script, como mostra a Figura 4.
  2. Na seção do script onFetch, inclua o código JavaScript a seguir:
    Strings[row["WI_ID"] + row["STRING_KEY"]] = row["STRING_VAL"];
Figura 4. JavaScript para o conjunto de dados avançado de cadeia de caractere

Busque os dados de atributo customizado para o conjunto de dados avançado de registro de data e hora

  1. Selecione o conjunto de dados avançado de registro de data e hora que criamos e acesse a guia Script, como mostra a Figura 5.
  2. Na seção do script onFetch, inclua o código JavaScript a seguir:
    Timestamps[row["WI_ID"] + row["TIMESTAMP_KEY"]] = row["TIMESTAMP_VAL"];
Figura 5. JavaScript para o conjunto de dados avançado de registro de data e hora

Resultado do JavaScript usado para capturar e armazenar dados

Quando cada linha no conjunto de dados avançado é buscada, os dados são armazenados no array global de uma dimensão para cada um dos tipos de dados de atributo customizado. Por exemplo, as informações a seguir armazenadas na Tabela 1 são armazenadas no array de uma dimensão com a combinação de WI_ID e STRING_KEY como valor de índice.

Listagem 4. Exemplo de array global de uma dimensão
	Strings [1Phase] = "Development"
	Strings [1Release] = "2.1"
	Strings [1Type] = "Code Error"
	Strings [2Phase] = "Testing"
	Strings [2Release] = "2.5"
	Strings [2Type] = "Bug"

Vincule os dados ao relatório para executar o JavaScript

Para garantir que o código JavaScript criado é executado quando o relatório é exibido, é necessário vincular um elemento de texto dinâmico para o relatório e para os conjuntos de dados avançados.

  1. Crie um elemento de texto dinâmico e inclua-o no relatório.
  2. Selecione o elemento de texto dinâmico e selecione a guia Binding para definir alguns parâmetros de vinculação de dados.
  3. Na guia Binding, selecione o conjunto de dados de sequência de caractere para garantir que o conjunto de dados avançado de sequência de caractere seja executado quando o relatório é exibido, como mostra a Figura 6.
Figura 6. Vincular o texto dinâmico ao relatório
  1. Oculte o elemento de texto dinâmico para que não seja exibido no relatório. Com a caixa de texto dinâmico selecionada, acesse as configurações de visibilidade e selecione a opção Hide Element, como mostrado na Figura 7.
Figura 7. Ocultar a caixa de texto dinâmico

Exiba os valores dos atributos customizados

Nós criamos dois conjuntos de dados avançados que armazenam os valores de atributos customizados. Em seguida, criamos um conjunto de dados principal para exibir os atributos customizados de maneira organizada. A primeira etapa é criar colunas calculadas que fazem referência ao array global para exibir os respectivos atributos customizados:

  1. Crie um conjunto de dados avançado final chamado Main.
  2. Selecione os valores de coluna apropriados. Selecione o valor WI_ID, pois é necessário para as etapas a seguir. Não selecione os atributos KEY e VAL para cadeias de caractere ou registro de data e hora.
  3. No conjunto de dados avançado principal, crie uma coluna calculada. Colunas calculadas são usadas para exibir os valores dos atributos customizados armazenados nos arrays globais.
  4. Na coluna calculada, inclua a expressão a seguir para indicar o array global e o valor de atributo necessário:
    Strings[row["WI_ID"] + "<id of custom attribute>"];

Neste exemplo, há três colunas calculadas para três atributos customizados: Phase, Release e Type, como mostra a Figura 8.

Figura 8. Colunas calculadas para cadeias de caractere

Observação:
Como os arrays estão vinculados ao layout do relatório, esses campos aparecem vazios quando você visualiza os resultados no conjunto de dados. Os valores aparecerão corretamente quando o relatório for executado.

Após concluir os conjuntos de dados, como mostra a Figura 8, exiba os campos do conjunto de dados principal no relatório BIRT. Faça upload do relatório para o Rational Team Concert e execute-o. Os atributos customizados são exibidos de maneira ordenada, como mostra a Figura 9.

Figura 9. Conjunto de dados concluído
Figura 10. Exibição final do relatório

Resumo

O artigo explicou como capturar e exibir valores de atributos personalizados de maneira ordenada. Ao usar esse método, é possível criar facilmente relatórios com base em atributos personalizados adicionados ao Rational Team Concert.


Agradecimentos

Os autores agradecem a seus colegas Amin Eskooch e Karen por seu apoio e orientação. Os autores também agradecem a vários membros da comunidade Rational Jazz que ofereceram orientação e suporte no jazz.net e nos fóruns jazz.net.

Recursos

Aprender

Obter produtos e tecnologias

  • Faça o download do Rational Team Concert a partir do Jazz.net e experimente de graça em até 10 desenvolvedores pelo tempo que quiser (é necessário registro). Caso prefira, você pode testá-lo no sandbox, sem instalar no seu sistema.
  • Avalie o software IBM da maneira mais adequada: faça download de uma versão de teste, experimente online ou use em um ambiente de nuvem.

Discutir

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Rational
ArticleID=964428
ArticleTitle=Crie relatórios customizados com BIRT e Rational Team Concert
publish-date=02282014