Este artigo descreve como usar a nova estrutura de implementação de teste disponível no IBM Optim Development Studio Versão 2.2 realizando as seguintes tarefas:
- Criação de uma conexão
- Criação de um perfil de servidor
- Criação de um Grupo de implementação
- Implementação utilizando apenas os perfis de servidor
- Implementação usando grupos de implementação
- Gerenciamento de perfis de servidor e de grupos de implementação (editar / importar / exportar)
- Comparação de rotinas locais com aquelas do servidor
- Exportação de grupos de implementação por implementação de lote
Este artigo considera que você possui um conhecimento básico do uso do Optim Development Studio para criar rotinas, scripts SQL, e artefatos de ligação estática pureQuery DB2 (interfaces anotadas e objetos .pdqxml).
Todas as ações de implementação suportadas (rotinas de implementação, execução de scripts SQL, e ligação de artefatos de ligação estática pureQuery DB2) requerem uma conexão com banco de dados. Para criar uma conexão de banco de dados, siga as seguintes etapas:
- Abra a visualização do Data Source Explorer (Figura 1).
A posição padrão desta visualização é no canto inferior esquerdo do ambiente de trabalho quando a perspectiva do IBM SQL e do Routine Development estão abertas.
Figura 1. Visualização do Data Source Explorer
-
Na visualização do Data Source Explorer, clique com o botão direito na pasta
Conexões do banco de dados e selecione
Novo no menu de contexto.
Isso abre o assistente de Nova Conexão (Figura 2).
Figura 2. Assistente de Nova Conexão
Observação: Conexões de alias do DB2 não são atualmente suportadas neste novo recurso de implementação de teste. Se desejar usar uma conexão similar para este novo recurso, é preciso criar uma conexão de banco de dados separada usando o Assistente de Nova Conexão, ou importar uma conexão criada com este assistente.
- Use o assistente para criar a conexão.
Criação de um perfil de servidor
As conexões criadas na visualização do Data Source Explorer contêm informações de conectividade básicas para o banco de dados onde você pretende realizar o trabalho. Entretanto, propriedades específicas de implementação mais avançadas não são armazenadas como parte da definição de conexão.
Para fornecer uma experiência de implementação aprimorada, a última versão do Optim Development Studio apresenta um novo artefato chamado Perfil de servidor. Os Perfis de Servidor retêm as várias configurações pertinentes para a implementação de tarefas, incluindo configurações de banco de dados, configurações específicas de rotina, e configurações de ligação estática de pureQuery DB2.
Quando uma tarefa de implementação é iniciada, as configurações de banco de dados são aplicadas e qualquer outra configuração pertinente no Perfil de Servidor é usada na tarefa de implementação, se apropriada. Por exemplo, quando um script SQL script é executado usando um perfil de servidor, as configurações de banco de dados são aplicadas, mas qualquer configuração de rotina é ignorada.
Para criar uma conexão de Servidor de Perfil, siga as seguintes etapas:
-
Abra a visualização do Server Profile Manager (Figura 3).
A posição padrão desta visualização é no canto inferior esquerdo do ambiente de trabalho quando a perspectiva do IBM SQL e do Routine Development estão abertas.
Figura 3. Visualização do Server Profile Manager
- Clique no ícone de Novo Perfil de Servidor na barra de ferramentas (o último ícone à direita, antes do controle de menu suspenso). Isso abre o assistente de Novo perfil de servidor.
-
Na tela de Seleção de conexão do assistente
(Figura 4), selecione a conexão de banco de dados pretendida para ser usada na tarefa de implementação e clique em Avançar.
Figura 4. Página de Seleção de conexão no assistente de Novo Perfil de Servidor
-
Na tela de Nome do Perfil de Servidor (Figura 5),
insira um nome para seu perfil e clique em Finish.
Figura 5. Página de Nome do Perfil de Servidor no assistente de Novo Perfil de Servidor
-
Após a criação do perfil de servidor, você encontra o editor de Perfil de Servidor utilizado para definir propriedades para a implementação.
As configurações são organizadas em abas separadas dentro do editor.
A exceção é a guia Conexão, que exibe apenas informações sobre a conexão de banco de dados associada.
Digamos que você deseja definir o valor CURRENT SCHEMA para sua conexão de banco de dados DB2. É possível fazer isso indo até a aba de configurações de banco de dados(Figura 6) e inserir um valor no campo CURRENT SCHEMA.
Figura 6. configurações de banco de dados no editor de Perfil de Servidor
É possível também especificar as configurações pertinentes ao tipo de rotina que se pretende implementar, assim como configurações genéricas que se aplicam a todos os tipos de rotinas. Por exemplo, na aba de Configurações de Rotina (Figura 7) é possível especificar que todas as rotinas implementadas usando o Perfil de servidor estejam aptas para realizar depuração, quando aplicável.
Figura 7. Aba de Configurações de rotina no editor de Perfil de Servidor
Para garantir que as configurações no Perfil de Servidor entrem em vigor quando você quiser usá-las para implementação, lembre-se sempre de salvar as alterações feitas no editor do Perfil de Servidor. Em outros editores, quando um asterisco aparecer antes do título do editor, (como nas figuras 6 e 7), significa que você fez alterações que não foram salvas.
Criação de um Grupo de implementação
Um Grupo de implementação é uma lista ordenada de artefatos implementáveis suportados em sua área de trabalho. Grupos de Implementação são associados com um ou mais objetos de Perfil de Servidor. Perfis de servidores são usados para especificar os servidores de destino onde a implementação deve ocorrer. Grupos de implementação também mantêm o histórico e o status de implementação, incluindo informações de registro de hora, status para um artefato em particular no grupo, e resultados de erros/sucessos.
Para criar um Grupo de Implementação siga as seguintes etapas:
-
Abra a visualização do Deployment Profile Manager (Figura 8).
A posição padrão desta visualização é no canto inferior esquerdo do ambiente de trabalho quando a perspectiva do IBM SQL e do Routine Development estão abertas.
Figura 8. Visualização do Deployment Manager
-
Clique no ícone Novo Grupo de implementação na barra de ferramentas (o cursor na Figura 8 está apontando o ícone) para abrir o Assistente de Novo grupo de Implementação (Figura 9).
Figura 9. Assistente de Novo grupo de implementação
- Insira um nome no campo Nome de grupo e clique em Avançar.
- Na próxima tela do assistente, selecione os Perfis de servidor que você deseja associar ao Grupo de Implementação e clique em Avançar.
-
Na próxima tela do assistente, selecione os Artefatos que você deseja associar ao Grupo de Implementação e clique em Finish.
Observação: Não é possível definir a ordem de implementação neste assistente. É possível alterar a ordem de implementação no editor de Grupo de Implementação.
Implementação utilizando apenas Perfis de Servidor
Utilizando a nova estrutura de implementação de teste, é possível implementar usando Perfis de servidor apenas, ou usando Grupos de Implementação.
Em um Nível alto, as etapas da maneira mais simples de implementar que não envolva o uso de Grupos de Implementação são:
- Criar/importar conexões de banco de dados em sua área de trabalho.
- Criar/implementar artefatos implementáveis em sua área de trabalho.
- Criar/importar Perfis de Servidor em sua área de trabalho.
- Configurar as configurações dentro do Perfil de Servidor usando o editor de Perfil de Servidor.
- Arrastar e soltar o artefato implementável no nó da visualização do gerente de Perfil de Servidor.
Por exemplo, digamos que você queira implementar um procedimento armazenado SQL para seu DB2, para seu servidor Linux®, UNIX®, e Windows® 9.7, para depuração do esquema MYSCHEMA. As etapas que seriam:
-
Criar uma conexão de banco de dados, um projeto de Desenvolvimento de dados correspondente, e um procedimento armazenado SQL qualificado em seu projeto (Figura 10).
Figura 10. Exemplo da criação de um procedimento armazenado SQL para implementação apenas de Perfil de Servidor
-
Agora que temos uma artefato para ser implementado, crie um Perfil de servidor e configure-o no editor de Perfil de Servidor.
Na aba de configurações de banco de dados, defina o CURRENT SCHEMA para
MYSCHEMA(como mostra a A figura 6). - Certifique-se de que a opção de depuração na aba de configurações de Rotina está selecionada (como mostra a figura 7).
- Salve o editor para garantir que as configurações entrem em vigor durante a implementação.
-
Arraste o nó do procedimento armazenado do projeto de desenvolvimento de dados para o nó do Perfil de Servidor na visualização do gerenciador de Perfil de servidor (Figura 11).
É possível ver os resultados desta ação na visualização de resultados SQL.
Figura 11. Implementação de arrastar-e-soltar usando um Perfil de Servidor
Implementação usando Grupos de Implementação
O método de implementação mais complexo envolve o uso de Grupos de Implementação. Este método permite especificar um grupo de artefatos, uma ordem de implementação, e os Perfis de Servidor desejados para o uso na implementação. Isso oferece uma maneira de implementar consistentemente um grupo de artefatos e também permite implementar facilmente servidores, ou aos mesmos servidores, mas com diferentes configurações.
Após a criação de um Grupo de Implementação, siga estas etapas para implementar:
-
Na visualização do Gerente de Implementação, clique com o botão direito no nó do Grupo de Implementação e selecione Deploy do menu de contexto (Figura 12).
Figura 12. Implementação para um grupo de implementação
- Após a implementação, é possível ver os resultados na Visualização de Resultados SQL (similar ao mostrado na Figura 11).
-
Opcionalmente, é possível gerar um relatório em HTML para o resultado da implementação.
Para gerar um relatório para a última implementação de um Grupo de Implementação, clique com o botão direito no nó do Grupo de Implementação e selecione Gerar relatório no menu de contexto.
O relatório contém informações abrangentes sobre a implementação além do que pode ser visto na visualização de Resultados SQL. Ele relata os artefatos implementados, os resultados de cada tentativa de implementação, os perfis de servidor usados, e as configurações dentro destes Perfis de Servidor. A Figura 13 mostra a aparência de um relatório típico.
Figura 13. Exemplo de relatório de resultado de implementação
-
É possível também opcionalmente gerar ou exportar os resultados de implementações anteriores para um grupo de implementação.
Para fazer isso, expanda um Grupo de Implementação e expanda também sua pasta de resultados de implementação.
Clique com o botão direito no registro de hora para a implementação com a qual você deseja trabalhar (Figura 14) e selecione uma das seguintes ações do menu de contexto:
- Gerar relatório exibe os resultados em um navegador da Web.
- Exportar relatório em HTML permite especificar a localização em seu sistema de arquivo onde você quer salvar o relatório. Esta ação é útil para compartilhar relatórios com outras pessoas ou simplesmente compartilhar arquivo ou hospedar os relatórios em um servidor da Web.
Figura 14. Geração de relatório e exportação de relatório em HTML
Gerenciamento de perfis de servidor e de grupos de implementação (editar / importar / exportar)
É possível gerenciar os Perfis de servidor e Grupos de implementação criados com outros. Isso permite a colaboração em uma equipe de desenvolvedores e garantir que todos estejam "atualizados" em termos de quais servidores de destino são usados para implementação, como as conexões a estes servidores são configurados para implementação, quais artefatos são implementados, quais configurações são usadas para implementação, etc.
Para editar um Perfil de Servidor ou Grupo de Implementação, clique duas vezes em um nó para um destes objetos em suas respectivas visualizações. No editor de grupo de implementação é possível modificar a ordem de implementação do artefato, o comportamento de manipulação de erros, e associações do Perfil de Servidor.
Para compartilhar perfis de servidores e grupos de implementação, eles são primeiramente exportados para seu sistema de arquivo. Uma maneira eficiente de compartilhamento é exportar para uma pasta compartilhada que todos os desenvolvedores de sua equipe possam acessar. Outros membros da equipe podem então ir para a pasta compartilhada e importar os mesmo perfis de servidor ou grupos de implementação em suas próprias áreas de trabalho.
Por exemplo, para exportar perfis de servidor, selecione o ícone Exportar da barra de ferramentas na visualização do gerente de perfil de servidor. Para importar perfis de servidores, selecione Importar . A Figura 15 mostra a visualização do perfil de servidor com um círculo indicando os dois ícones. Os ícones de importação e exportação na visualização de gerente de implementação são os mesmos que na visualização de gerente de perfil de servidor.
Figura 15. Ícones da barra de ferramentas de exportação e importação na visualização do gerente de perfil servidor
Para permitir o compartilhamento completo, é necessário também compartilhar suas conexões de banco de dados e artefatos implementáveis, utilizando seus respectivos assistentes de importação e exportação. Do contrário, podem ocorrer vários erros como Perfis de usuário contendo referências inválidas a perfis de conexão ou grupos de implementação que contenham referências inválidas a artefatos de implementação.
Compare as rotinas locais com aquelas no servidor
A nova estrutura de implementação de teste fornece uma ferramenta para ajudar a comparar rotinas em sua área de trabalho contra aquelas que possa existir ou não em um servidor de banco de dados particular.
Para usar esta ferramenta, associe um grupo de implementação com um ou mais rotinas. Após usar o grupo de implementação para implementar, é possível selecionar Comparar com o servidor do menu de contexto do grupo de implementação (como mostra a figura 12, esta seleção é a última no menu de contexto.
A Figura 16 mostra uma amostra do diálogo de Comparação de rotinas. O diálogo mostra o resultado da comparação para cada rotina em cada perfil de servidor associado com o grupo de implementação.
Figura 16. Diálogo do resultado da comparação de rotinas
Observações:
- Atualmente, a ferramenta não compara a fonte entre o servidor e as cópias locais da rotina. Dependendo do cenário, pode ser preciso comparar a fonte manualmente para obter um resultado definitivo.
- Os resultados da comparação da ferramenta são específicos para o grupo de implementação particular que você usa. Se você implementar a mesma rotina usando um grupo de implementação diferente, os resultados não serão necessariamente os mesmos.
- Esta ferramenta não está disponível para servidores de banco de dados Informix.
Exportação de grupos de implementação por implementação de lote
Para servidores de banco de dados DB2, é possível gerar um script a partir do grupo de implementação para implementar usando o processador de linha de comando DB2. Isso pode ser útil, por exemplo, se você quer agendar sua implementação. Apenas rotinas SQL que não são externas e scripts SQL são suportados.
Para gerar e executar o script, siga as seguintes etapas:
- Crie e customize seu grupo de implementação.
- Clique duas vezes no grupo de implementação e selecione Exportação para implementação de lote no menu de contexto (como mostra a figura 12, esta seleção é a segunda antes da última, no menu de contexto). Isso abre o assistente de exportação de pacote de implementação de lote.
-
Na tela de opções de implementação de lote (Figura 17),
especifique o diretório de destino onde você quer que o script seja gerado.
No SQL para grupo de implementação, faça a seleção para indicar se deseja agregar todos os comandos SQL para o grupo de implementação em um arquivo, ou se deseja gerar arquivos SQL individuais para cada artefato.
Ao terminar, clique em Finish.
Figura 17. Assistente de exportação de pacote de implementação em lote
- Após gerar seu(s) script(s), abra a janela de comando DB2.
- Mude para o diretório para onde você exportou o script e estabeleça uma conexão para o servidor de banco de dados apropriado.
-
Execute o script apropriado que corresponda ao Perfil de servidor associado, inserindo:
db2 –tvf scriptName.sql
ondescriptName.sqlcorresponde ao nome do script gerado para o Perfil de Servidor Associado. A Figura 18 como seria o comando para o Grupo de implementação exportado na Figura 17.
Figura 18. Execução de um script CLP de pacote de implementação em lote (arquivo único)
-
Se você escolher gerar arquivos individuais para cada artefato, um script de shell é gerado para que todos os artefatos sejam implementados na ordem correta.
No Windows, este script possui uma extensão .bat, e no linux uma extensão .sh.
Para executar o script, simplesmente estabeleça a conexão CLP e então execute o script apropriado.
Por exemplo, se estiver usando Windows e escolher gerar arquivos SQL individuais, você executaria o arquivo .bat, com o mostra a Figura 19.
Figura 19. Execução de um script CLP de pacote de implementação em lote (arquivos individuais)
Este arquivo mostrou como usar a mais nova estrutura de gerenciamento de teste disponível no Optim Development Studio 2.2.1. Usando esta estrutura, é possível gerenciar efetivamente seus cenários de implementação de teste ao criar maneiras repetíveis e compartilháveis de implementar rotina, script SQL, e artefatos de ligação estática pureQuery DB2.
- Participar do fórum de discussão.
- Saiba sobre o
Optim Development Studio em ibm.com.
- Faça o download de
uma versão de avaliação do IBM Optim Development Studio para experimentar os recursos explicados neste artigo.
- Participe dos comunidade My developerWorks.
Entre em contato com outros usuários do developerWorks, enquanto explora os blogs, fóruns, grupos e wikis orientados ao desenvolvedor.