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:
- Determine quais dados estão sendo movidos para o
Rational Asset Manager.
- Prepare os dados para upload.
- Crie um plug-in do Eclipse que estende as classes de tarefa de atualização de lote do
Rational Asset Manager.
- 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:
- A partir do menu do Eclipse, clique em .
- Expanda
- Digite um nome para o projeto.
- Clique em Avançar.
- Clique em Concluir. O arquivo MANIFEST.MF é
aberto.
- Abra a guia do Editor de Dependências.
- Na seção de Plug-ins Necessários, clique em Incluir.
- Selecione o plug-in com.ibm.ram.rich.ui.extension e clique em
OK.
- Clique em Concluir.
- Na seção de Plug-ins Necessários, clique em Incluir.
- Selecione o ponto de extensão com.ibm.ram.rich.ui.extension.batchDataSourceUI.
- Clique em Concluir.
- 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:
- Clique em .
- 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.
- 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.
- Selecione a conexão do repositório do Rational
Asset Manager que está definida na área de trabalho do Eclipse.
- 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.
- 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.
- 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.