Usar plugins de API para carregar dados em diretivas e formulários

Este artigo contém os seguintes tópicos:
casm173
Este artigo contém os seguintes tópicos:
Os administradores e criadores de serviço trabalham juntos para gravar plugins de API que carregam dados dinamicamente nos formulários e diretivas, da seguinte maneira:
  • Para uma diretiva, esses dados especificam os destinatários (aprovadores) para uma solicitação. Use o plugin em vez de especificar manualmente os destinatários usando o Action Builder. Quando um usuário envia uma solicitação, o plugin de API especifica dinamicamente os destinatários.
  • Para um formulário, esses dados especificam o valor para qualquer um dos seguintes campos: tabelas dinâmicas, listas duplas ou caixas de seleção e suas opções. Por exemplo, quando o usuário preenche um formulário para reservar um computador virtual, o objeto de dados de relatório preenche a lista de computadores disponíveis. Você pode criar outros objetos de dados de relatório para preencher campos relacionados, por exemplo, as opções de RAM e espaço em disco.
Plugins de API consultam o MDB ou outra fonte de dados. O plug-in de API retorna o número de objetos que atendem aos critérios especificados. É possível escrever seus próprios plugins de API ou copiar e modificar os plugins predefinidos para atender aos seus requisitos. Em ambos os casos, você atende aos pré-requisitos e compila seus plugins
antes
de poder usá-los.
Os plugins de API são implantados como arquivos jar no diretório de plugins do filestore. Os plugins de API são executados na mesma instância de Máquina virtual Java que o CA Service Catalog.
Execute as tarefas que se aplicam:
Usar plugins de API para diretivas
Para criar e usar um plugin de API para diretivas, siga este processo:
  1. Defina o objetivo ou a meta do plugin.
    Um plugin de API é mais útil quando se consulta um sistema externo de dados usado para especificar os destinatários. Um plugin de API também é útil quando as identidades variam dependendo dos dados na solicitação. Com base nesses dados, o plugin cria a lista de destinatários dinamicamente e especifica os níveis do destinatário.
  2. Atenda aos pré-requisitos
  3. Você deve ser capaz de fazer o seguinte com habilidade:
    • Programar em Java.
    • Crie diretivas, incluindo condições e compreenda os tipos de destinatários necessários.
  4. Examine a documentação do plugin de API, da seguinte maneira:
    1. Selecione Administração, Ferramentas, Plugins.
    2. Clique em Documentação da API.
    3. Revise o pacote com.ca.usm.plugins.apis.policies.
    A documentação da API é uma documentação Java gerada automaticamente com base nos métodos de classe Java dos plugins. Use as interfaces, classes, métodos etc. para implementar o plugin.
  5. Faça download e revise o exemplo do plugin da API das diretivas, como mostrado a seguir:
    1. Selecione Administração, Ferramentas, Plugins.
    2. Clique em Exemplo de plugin de diretiva, examine os detalhes e faça download do código-fonte.
    3. Abra e revise o arquivo SamplePolicyPlugin.java na pasta \src\java\com\ca\usm\plugins\samples\policy. Use este plugin de diretiva de exemplo como modelo.
  6. Crie uma classe Java que implementa a interface, com.ca.usm.plugins.apis.policies.AssignmentPolicyPlugin. O exemplo de plugin de diretiva ilustra como implementar essa interface.
  7. (Opcional) Se você usar formulários de configuração de conteúdo, recupere os valores dos campos desses formulários. Use os formulários conforme necessário.
  8. Crie um arquivo de propriedades para o plugin. É possível usar o arquivo plugin.properties no exemplo de plugin de diretiva como modelo para os arquivos de propriedades.
  9. Crie uma pasta para armazenar o arquivo de propriedades e os arquivos JAR que fornecem as classes e bibliotecas de suporte.
    Armazene o arquivo de propriedades no nível
    mais alto
    da pasta.
    Não
    armazene o arquivo de propriedades em uma subpasta.
  10. Ative o plug-in:
    1. Interrompa o serviço do Windows do CA Service Catalog.
    2. Copie sua pasta (incluindo todas as subpastas, se houver) para a pasta USM_HOME\filestore\plugins.
  11. Inicie o serviço do Windows do CA Service Catalog.
  12. Verifique se o plugin foi adotado com êxito:
    1. Selecione Administração, Ferramentas, Plugins.
    2. Verifique se o plugin está listado e seus detalhes são exibidos corretamente.
  13. Teste este plugin:
    1. Use-o para especificar destinatários para uma diretiva.
    2. Envie uma solicitação que ativa a diretiva e verifique se a diretiva atribui aprovadores dinamicamente, conforme desejado.
Usar plugins de API para formulários
Para criar e usar um plugin de API para usar em um formulário, siga este processo:
  1. Defina o objetivo do plugin. Por exemplo, para preencher um campo de seleção com salas de reunião que um usuário pode reservar por um período especificado. Outros exemplos incluem opções da sala de reunião, como projetores, unidades de videoconferência e microfones
  2. Atenda aos pré-requisitos. Você deve ser capaz de fazer o seguinte com habilidade:
    • Programar em Java.
    • Criar formulários usando o Criador de formulários.
    • Criar os seguintes campos em formulários do Criador de formulários:
      • Campos de seleção única, seleção múltipla e lista dupla
      • Campos de tabela dinâmica
  3. Examine a documentação do plugin de API, da seguinte maneira:
    1. Efetue logon no CA Service Catalog e selecione Administração, Ferramentas.
    2. Selecione Links.
    3. Clique em Documentação do plugin.
    A documentação da API é uma documentação Java gerada automaticamente com base nos métodos de classe Java dos plugins. Use as interfaces, classes, métodos etc. para implementar o plugin.
  4. Crie uma classe Java para o tipo de campo do Criador de formulários ao qual o plug-in se aplica, como a seguir:
    • Para campos de seleção única, seleção múltipla e lista dupla: crie uma classe Java que implemente a interface com.ca.usm.plugins.apis.forms.FDSelectDataProvider. Uma amostra de implementação dessa interface é fornecida no Exemplo de plugin de seleção, com ID ca.catalog.samples.select-plugin.
    • Para campos de tabela dinâmica: crie uma classe Java que implemente a interface com.ca.usm.plugins.apis.forms.FDTableDataProvider. Uma amostra de implementação dessa interface é fornecida no Exemplo de plugin de tabela, com ID ca.catalog.samples.table-plugin.
    Para acessar a documentação Java das interfaces, clique em Administração, Ferramentas, Plugins e, em seguida, clique em Documentação da API.
    Para fazer download do código-fonte de amostra, clique nos plugins de exemplo, na mesma página, e clique em Fazer download de código-fonte.
  5. Crie um arquivo de propriedades para o plugin, como segue:
    • Use os plugins de amostra como modelos para seus arquivos de propriedades. Nesse caso, altere a propriedade de ID do plugin no arquivo plugin.properties.
    • Para usar o arquivo de compilação incluído para compilar o plugin, use o Kit de Desenvolvimento Java 1.6 (ou posterior) e o Apache Ant 1.8 (ou posterior).
    • Use um carregador de classe particular para seus plugins. Para usar um carregador de classe particular, adicione a seguinte linha ao arquivo plugin.properties:
      classloader.type=private
      Os plugins personalizados criados usando o CA Service Catalog Release 12.7
      não
      exigem atualizações após a atualização do CA Service Catalog. Esses plugins continuam a funcionar como funcionavam originalmente.
  6. (Opcional) Se você usar formulários de configuração de conteúdo, recupere os valores dos campos desses formulários. Use os formulários conforme necessário.
  7. Execute as ações que se aplicam:
    • Configurar parâmetros de paginação para campos de seleção.
    • Configurar atributos somente para caixas de seleção.
    • Configure parâmetros de classificação e paginação para tabelas dinâmicas.
  8. Crie uma pasta para armazenar o arquivo de propriedades e os arquivos JAR que fornecem as classes e bibliotecas de suporte.
    Armazene o arquivo de propriedades no nível
    mais alto
    da pasta.
    Não
    armazene o arquivo de propriedades em uma subpasta.
  9. Ative o plug-in:
    1. Copie sua pasta (incluindo todas as subpastas, se houver) para a pasta de plugins do filestore.
    2. Selecione Administração, Ferramentas, Plugins e clique no método Recarregar plugins.
  10. Verifique se o plugin foi adotado com êxito:
    1. Efetue logon no CA Service Catalog e selecione Administração, Ferramentas.
    2. Selecione Plugins.
    3. Verifique se o plugin está listado e seus detalhes são exibidos corretamente.
Você está pronto para testar essa API para uso em um campo de formulário.
Configurar parâmetros de paginação para campos de seleção
Seu plug-in pode retornar uma grande quantidade de dados em um campo de seleção em um formulário. Nesse caso, frequentemente você especifica o tamanho de página dos resultados no campo de seleção. Um exemplo é a exibição de dez resultados por página no campo de seleção. Para realizar essa tarefa, configure os parâmetros de paginação no objeto e na classe Java relacionados.
Siga estas etapas:
  1. Edite a classe Java que implementa a interface, com.ca.usm.plugins.apis.forms.FDSelectDataProvider. Implemente o seguinte método em FDSelectDataProvider:
    List<FDOption> getOptions(int start, int numToReturn);
    • start
      Especifica a primeira linha a ser retornada. Este parâmetro é um número inteiro.
    • numToReturn
      Especifica o número de linhas que deve ser retornado. Este parâmetro é um número inteiro.
    Este método retorna uma lista de objetos FDOption:
      • O par chave valor (id e valor) de um objeto de dados de relatório para as opções de campo de seleção.
      • Dados que complementam o par chave valor. Opcionalmente, é possível exibir esse dados adicionais em outros campos (exceto o campo de seleção) no formulário.
    O valor do atributo _id de cada campo deve corresponder a uma das chaves nos dados adicionais.
  2. Além disso, em FDSelectDataProvider, implemente o seguinte método:
    int totalCount();
    Este método retorna o número total de linhas existentes.
Para obter mais informações e exemplos, consulte a documentação do plugin da API.
Configurar atributos somente para caixas de seleção
Alguns atributos HTML se aplicam somente a caixas de seleção. Para obter mais informações, consulte Atributos somente para caixas de seleção.
Configurar parâmetros de classificação e paginação para tabelas dinâmicas
Seu plug-in pode retornar uma grande quantidade de dados em uma tabela dinâmica em um formulário. Nesse cenário, especifique o tamanho de página dos resultados. Um exemplo é a exibição de 10 resultados em cada página do formulário. Da mesma forma, muitas vezes você deseja que os usuários classifiquem os resultados em cada página em ordem crescente ou decrescente. Para realizar as duas tarefas, configure os parâmetros de classificação e paginação no objeto e na classe Java relacionados.
Siga estas etapas:
  1. Clique em Catálogo, Formulários e abra o formulário de interesse.
  2. Abra a tabela e verifique se o atributo denominado Classificável está definida como Verdadeiro.
    Se esse atributo estiver ativado (Verdadeiro), os usuários poderão clicar em setas nos cabeçalhos das colunas da tabela para classificar os resultados.
  3. Edite a classe Java que implementa a interface, com.ca.usm.plugins.apis.forms.FDTableDataProvider. Implemente o seguinte método em FDTableDataProvider:
    List<FDTableRow> getTableRows(int start, int numToReturn, String sortField, boolean sortAscending);
    Os usuários determinam esses valores por meio da interação com o formulário, por exemplo, clicando para exibir a próxima página.
    • start
      Especifica a primeira linha a ser retornada. Este parâmetro é um número inteiro.
    • numToReturn
      Especifica o número de linhas que deve ser retornado. Este parâmetro é um número inteiro.
    • sortField
      Especifica as linhas que devem ser classificadas. Quando o valor é nulo, a classificação não ocorre. Esse parâmetro é uma sequência de caracteres.
    • sortAscending
      Especifica se os resultados devem ser classificados ordem crescente ou decrescente. Este parâmetro é Booleano.
    Este método retorna objetos FDTableRow, que estão descritos em uma etapa posterior.
  4. Além disso, em FDTableDataProvider, implemente o seguinte método:
    int totalCount();
    Este método retorna o número total de linhas existentes.
  5. Use o objeto FDTableRow e seus métodos para retornar os dados da linha da tabela. Você pode usar os seguintes métodos:
    • public void setColumnValue(String columnId, String data)
      Especifica o seguinte para definir o valor de uma coluna:
      • String columnid - Especifica o atributo “_id” de um componente de uma tabela.
      • Dados de sequência - Especifica um valor que pode ser analisado e colocado no campo da tabela.
    • public String getColumnValue(String columnId)
      Especifica a função GET correspondente à função SET anterior (public void setColumnValue).
    • public Set getColumns()
      Retorna o conjunto de IDs de coluna armazenados neste objeto.
Para obter mais informações e exemplos, consulte a documentação do plugin da API.