Estendendo a Tarefa de Atualização de Lote

A tarefa de atualização de lote ajuda a migrar dados e mover ativos para um servidor IBM® Rational Asset Manager. É possível usar a opção de sistema de arquivos para estender a tarefa de atualização de lote e estender a tarefa para ler qualquer tipo de dados de origem e mapeá-los para os recursos.

Sobre Esta Tarefa

Estendendo a Tarefa de Atualização de Lote

É possível estender a tarefa de atualização de lote para ler qualquer tipo de dados de origem e mapeá-los para os ativos no Rational Asset Manager.

A tarefa de atualização de lote do Rational Asset Manager executa mapeamento inteligente, localizando ativos e executando mesclagens, em vez de criar os ativos todas as vezes.

O plug-in com.ibm.ram.rich.ui.extension contém a origem para a extensão de sistema de arquivos e é incluído como parte do cliente Eclipse do Rational Asset Manager instalado, na pasta /plugins. É possível localizar o arquivo JAR em sua instalação do cliente Eclipse em /eclipse/plugins/com.ibm.ram.rich.ui.extension_7.5.1.v.jar. Quando extraí-lo, será possível localizar os arquivos Java no diretório /src.

O código de extensão filesys está localizado nesses dois diretórios: src\com\ibm\ram\internal\batch\filesystem\ e src\com\ibm\ram\internal\batch\filesystem\ui\

Preparando a extensão e a origem de dados

Para todas as origens de dados, para preparar a extensão e os dados:
  1. Determine quais dados estão sendo movidos para o Rational Asset Manager.
  2. Prepare os dados para upload.
  3. Crie um plug-in do Eclipse que estende as classes de tarefa de atualização de lote do Rational Asset Manager.
  4. Crie e implemente o plug-in Eclipse.
Na seção Exemplo, o Microsoft Excel é a origem de dados. Execute as etapas 1 e 2 ao trabalhar com a planilha do Excel.

Para estender para a tarefa de atualização de lote usando a opção do sistema de arquivos, você deve criar um novo projeto de plug-in e implementar as extensões para os pontos de extensão.

A tarefa de atualização de lote fornece dois pontos de extensão a serem implementados: batchDataSource e batchDataSourceUI.

É possível implementar uma tarefa de atualização de lote através de dois pontos de extensão:
  • batchDataSource: o plug-in com.ibm.ram.rich.core fornece o ponto de extensão batchDataSource. Esse ponto de extensão ajuda a definir uma extensão de Origem de Dados para o Cliente em Lote do Rational Asset Manager. Em uma atualização em lote, o ponto de extensão batchDataSource extrai os dados do repositório e migra os dados para um servidor Rational Asset Manager.
  • batchDataSourceUI: o plug-in com.ibm.ram.rich.ui.extension fornece o ponto de extensão batchDataSourceUI. Esse ponto de extensão ajuda a contribuir com elementos de interface com o usuário para o Editor de Atualização em Lote do Rational Asset Manager.

Extensão simplificada do sistema de arquivos

Aqui está uma versão simplificada da extensão do sistema de arquivos que você poderá exportar como um plug-in implementável. Essa extensão do sistema de arquivos cria ativos a partir de pastas e arquivos zip em uma determinada pasta raiz. O exemplo utiliza uma pasta raiz e todas as subpastas ou arquivos zip se tornam ativos. O nome das subpastas ou arquivos archive serão o nome do recurso. O conteúdo da subpasta/arquivo serão os artefatos, exceto um arquivo .asset_info obrigatório.

Há duas classes Java que estendem as classes de API em lote do Rational Asset Manager:
  • FileSystemBatchDataSource.java - estende BatchDataSource.
  • FileSystemBatchUIContributor.java - estende AbstractBatchUIContributor.

A classe FileSystemBatchDataSource cria e retorna os recursos com base no caminho raiz. Nesse arquivo, você especifica a origem de dados para a extensão do cliente em lote para criar ativos a partir de pastas e arquivos .zip em uma determinada pasta raiz. Essas pastas e arquivos zip devem conter um arquivo nomeado .asset_info.

O conteúdo do arquivo .asset_info deve estar no formato de um arquivo .properties (normalmente, um par de chave=valor por linha) e conter propriedades específicas para o ativo, conforme listado no arquivo FileSystemBatchDataSource.java:
  • name (Opcional. Se omitido, o nome do arquivo/pasta será usado.)
  • version (Opcional. Se omitido, 1.0 será usado.)
  • community (Obrigatório)
  • asset_type (Obrigatório)
  • short_description (Opcional. Se omitido, o nome do arquivo/pasta será usado.)
  • description (Opcional)

A classe FileSystemBatchUIContributor cria uma nova origem de dados abrindo um diálogo de seleção de diretório no qual um usuário pode selecionar o diretório raiz e depois usar a seleção para criar os recursos. Consulte o arquivo FileSystemBatchDataSource java para a estrutura obrigatória do diretório-raiz.

Os pontos de extensão que o exemplo de sistema de arquivos simples usa para obter o cliente em lote são definidos no arquivo plugin.xml:
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
   <extension point="com.ibm.ram.rich.core.batchDataSource">
      <dataSourceType
            class="com.ibm.ram.batch.example.FileSystemBatchDataSource"
            id="com.ibm.ram.batch.example.filesystem">
      </dataSourceType>
   </extension>
   <extension point="com.ibm.ram.rich.ui.extension.batchDataSourceUI">
      <batchDataSourceUI
            class="com.ibm.ram.batch.example.FileSystemBatchUIContributor"
            dataSourceID="com.ibm.ram.batch.example.filesystem"
            icon="icon.gif"
            name="File System Example">
      </batchDataSourceUI>
   </extension>
</plugin>

Os exemplos de código para essas extensões estão aqui Usar as Extensões do Sistema de Arquivos de Upload em Lote.

Também é possível usar as APIs Java do Rational Asset Manager para executar uma operação de upload em lote e fazer upload de diversos ativos. Consulte Executar um Upload em Lote

Exemplo

Este exemplo descreve como criar extensões para os arquivos do Microsoft Excel. Neste exemplo, um arquivo do Microsoft Excel Excel é a origem de dados e as extensões de tarefa de atualização de lote são construídas como um plug-in do Eclipse. A tarefa de atualização de lote lê os arquivos Excel formatados e mapeia as linhas do Excel para os ativos no Rational Asset Manager. Os usuários poderão, em seguida, modificar os dados antes de submetê-los para o Rational Asset Manager. Consulte também Exemplo de Upload de Lote.

Preparando para a origem de dados

Antes de fazer upload da planilha do Excel, você deve formatar a planilha. Neste exemplo, a planilha é formatada da seguinte forma:
Tabela 1.
  L B   d E F
1 AssetType: Compilador Comunidade: Infraestrutura Técnica        
2 Recurso:GUID Recurso:Versão Recurso:Nome Atributo de Recurso: Autor Esquema de Categoria: Licenças Ignorar: IDE
  • As primeiras duas linhas na planilha descrevem o modelo de informações a ser mapeado para o Rational Asset Manager.
    • A primeira linha descreve o tipo e a comunidade do recurso. Use o formato de célula na amostra, por exemplo, "Tipo de Recurso: Compilador."
    • A segunda linha descreve o mapeamento no nível do recurso, como:
      • Recurso: GUID
      • Recurso: Versão
      • Recurso: Nome
      • Atributo de Recurso: <nome do atributo>
      • Esquema de Categoria: <nome do esquema de categoria> As linhas contêm os valores no esquema usando o formato “a/b/c”
      • Ignorar: <nome> Essa coluna será ignorada para o upload.
      Se as linhas dos ativos não tiverem nenhum valor, um ativo será criado no Rational Asset Manager, caso contrário, uma mesclagem será executada.
  • As linhas seguintes às Linhas 1 e 2 são mapeadas como recursos.

Os títulos da coluna possuem uma formatação especial que o analisador nesse recurso utiliza. A Linha 1 e a Linha 2 são reservadas. A Linha 1 contém a declaração do tipo e da comunidade do recurso. A Linha 2 contém uma descrição das colunas do recurso, como GUID, Versão, Nome e atributos do recurso. Para visualizar os formatos esperados, examine a planilha de amostra.

Criando o Plug-in do Eclipse

O código é estruturado como um plug-in do Eclipse regular; defina os pontos de extensão.

Ao criar um plug-in do Eclipse que estende as classes de tarefa de atualização de lote do Rational Asset Manager, siga essas diretrizes:
  • Use o assistente de plug-in do Eclipse para criar a classe do Ativador.
  • Grave pelo menos duas classes, nesse caso, ExcelBatchDataSource e ExcelBatchUIContributor. Coloque a lógica de análise na classe de origem de dados.
  • Ao executar a tarefa de atualização de lote no Eclipse, selecione uma origem de dados e, em seguida, selecione uma conexão com o Rational Asset Manager.
  • Ao selecionar a conexão com o Rational Asset Manager no cliente, o método fetchAssets é chamado na classe de origem de dados. Use o método ExcelBatchDataSource.fetchAssets(); este é onde a maioria do código de análise acontece. Nota: Não é necessário um objeto de sessão do Rational Asset Manager no seu código.
  • Para obter uma planilha, chame createSpreadsheetAssets e abra um objeto de pasta de trabalho do Excel.
  • Para manipular o GUID, crie um novo. Porém, se você localizar um Recurso: coluna GUID, configure o recurso para ele para que a tarefa de atualização de lote faça uma atualização em vez de criar um recurso.
  • Em cada linha, selecione as colunas a serem transferidas por upload e mapeie-as para o recurso.
Para criar um novo projeto de plug-in:
  1. A partir do menu do Eclipse, clique em Arquivo > Novo > Projeto.
  2. Expanda Desenvolvimento de Plug-in > Projeto de Plug-in
  3. Digite um nome para o projeto.
  4. Clique em Avançar.
  5. Clique em Concluir. O arquivo MANIFEST.MF é aberto.
  6. Abra a guia do Editor de Dependências.
  7. Na seção de Plug-ins Necessários, clique em Incluir.
  8. Selecione o plug-in com.ibm.ram.rich.ui.extension e clique em OK.
  9. Clique em Concluir.
  10. Na seção de Plug-ins Necessários, clique em Incluir.
  11. Selecione o ponto de extensão com.ibm.ram.rich.ui.extension.batchDataSourceUI.
  12. Clique em Concluir.
  13. Salve o arquivo MANIFEST.

A tarefa de atualização de lote executa o envio do ativo para o Rational Asset Manager.

Usando a Tarefa de Atualização de Lote

No exemplo, o plug-in do Eclipse é implementado na sua máquina.

Para executar a extensão de atualização de lote do Excel do Rational Asset Manager para usar um arquivo do Excel para criar e submeter novos ativos como uma operação de upload de lote, siga essas etapas:
  1. Clique em Arquivo > Novo > Tarefa de Atualização de Lote.
  2. Selecione a origem de dados do Excel e escolha o arquivo do Excel. O editor de atualização de lote do Rational Asset Manager é exibido.
  3. Clique no ícone da origem de dados para mapear para o Rational Asset Manager. Esse ícone contém o ícone do Excel. Um explorador de arquivos, que foi usado para navegar para um arquivo do Excel preparado, é exibido.
  4. Selecione a conexão do repositório do Rational Asset Manager que está definida na área de trabalho do Eclipse.
  5. Selecione o repositório de destino do Rational Asset Manager para o qual os ativos serão transferidos por upload. Neste exemplo, os ativos são transferidos por upload para uma instância do Rational Asset Manager na máquina local.
  6. Para concluir o mapeamento para o Rational Asset Manager, inclua itens de configuração, como comunidades, e mapeie as categorizações.

    Depois de selecionar o repositório de destino do Rational Asset Manager, o Editor de Lote lê o arquivo do Excel e o mapeia para a instância de destino do Rational Asset Manager. Neste ponto, nenhum recurso é transferido por upload. O Editor de Lote do Rational Asset Manager fornece um resumo do mapeamento inicial. Neste exemplo, os ativos no arquivo do Excel foram destinados a uma comunidade específica do Rational Asset Manager que não foi localizada pelo Editor de Lote no Rational Asset Manager. Os usuários que possuírem direitos de acesso podem criar a comunidade imediatamente, como mostra este exemplo.

    A atividade de mapeamento continua examinando os tipos de recursos, as informações sobre a versão do recurso, os tipos de relacionamentos, e assim por diante. Em cada caso, os usuários podem mapear para informações de configuração existentes no Rational Asset Manager ou, se tiverem direitos de acesso, poderão incluir essas informações.

  7. Quando o mapeamento for concluído, clique no botão Atualizar Todos os Recursos. Os ativos são transferidos por upload para o Rational Asset Manager. No Editor de Lote, os resultados do upload são exibidos.

Estruturas e Objetos de Classe

A API do Rational Asset Manager possui duas estruturas de classe principais para os ativos:
  • Classes com nomes que começam com “RAM” (como a classe RAMAsset).
  • Classes com nomes que não começam com “RAM” (como a classe Asset).
Os objetos das classes RAM são recuperados a partir de um servidor Rational Asset Manager, que requer um objeto de sessão do Rational Asset Manager; os objetos de sessão não são usados nesse exemplo. Os objetos das classes, como Asset, são criados sem uma sessão conhecida do Rational Asset Manager, em seguida, são fornecidos para a tarefa de atualização de lote e, depois, submetidos ou atualizados para o Rational Asset Manager.

Feedback